gRPC 서비스 구성
클라이언트가 네트워크 디바이스에서 gRPC gNOI(네트워크 운영 인터페이스) 서비스, gRPC 네트워크 관리 인터페이스(gNMI) 서비스 및 gRPC 라우팅 정보 기반 인터페이스(gRIBI) 서비스를 사용할 수 있도록 gRPC 서버를 구성합니다.
이 주제에서는 인증 옵션 및 각 옵션 구성 방법을 포함하여 Junos 디바이스에서 gRPC 서비스를 구성하는 방법에 대해 설명합니다. 서버와 클라이언트가 gRPC 세션을 설정하려면 먼저 다음 섹션에서 설명하는 요구 사항을 충족해야 합니다.
gRPC 기반 서비스에 대한 인증 및 권한 부여 이해
gNMI, gNOI 및 gRIBI 인터페이스는 전송을 위해 gRPC 원격 프로시저 호출 프레임워크를 사용합니다. gRPC 서버는 네트워크 디바이스에서 실행되며 지정된 포트에서 연결 요청을 수신합니다. gRPC 클라이언트 애플리케이션은 원격 네트워크 관리 시스템(NMS)에서 실행되며 지정된 호스트 및 포트에서 서버와 함께 gRPC 채널을 설정합니다. 클라이언트는 SSL 암호화 gRPC 세션을 통해 RPC를 실행하여 네트워크 서비스 작업을 수행합니다. 그림 1 은 gRPC 클라이언트와 서버 간의 간단한 연결을 보여줍니다.
gRPC 채널은 채널 자격 증명을 사용하여 서버와 클라이언트 간의 인증을 처리합니다. 표준 채널 자격 증명은 서버 및 클라이언트를 인증하기 위해 X.509 디지털 인증서를 사용합니다. 디지털 인증서는 인증 기관 또는 인증 기관(CA)이라는 신뢰할 수 있는 인증 기관을 통해 사용자를 인증하는 방법을 제공합니다. CA는 인증서 소유자의 ID를 확인하고 인증서에 "서명"하여 위조 또는 변경되지 않았음을 증명합니다. X.509 표준은 인증서의 형식을 정의합니다. 디지털 인증서는 인증서 유효성 검사를 통해 두 엔드포인트 간에 보안 연결을 설정하는 데 사용할 수 있습니다. gRPC 채널을 설정하려면 인증이 필요한 각 엔드포인트(디바이스 또는 애플리케이션)가 교환에서 X.509 인증서를 제공해야 합니다.
Junos 디바이스는 서버 전용 인증과 SSL 및 TLS 기반 gRPC 세션에 대한 상호 인증을 모두 지원합니다. 서버 전용 인증이 구성된 경우 채널이 설정될 때 서버는 공개 키 인증서를 제공합니다. 클라이언트는 서버의 루트 CA 인증서를 사용하여 서버를 인증합니다. 상호 인증이 구성된 경우, 클라이언트는 서버에 연결할 때 해당 인증서도 제공하고 서버는 인증서의 유효성을 검사합니다. 인증서 유효성 검사가 성공하면 클라이언트가 호출을 할 수 있습니다. 자체 인증 인증서도 허용되더라도 가장 강력한 보안을 위해 상호 인증을 구성하고 CA 서명 인증서를 사용하는 것이 좋습니다.
PKI(Public Key Infrastructure)는 공개 암호화 키의 배포 및 식별을 지원하여 사용자가 인터넷과 같은 네트워크를 통해 안전하게 데이터를 교환하고 상대방의 신원을 확인할 수 있도록 합니다. gRPC 기반 서비스의 경우, Junos PKI에는 gRPC 서버 역할을 하는 로컬 디바이스에 대한 인증서가 포함되어야 합니다. 상호 인증을 사용하는 경우 Junos PKI에는 디바이스에 연결하는 모든 gRPC 클라이언트의 인증서를 검증하는 데 필요한 루트 CA 인증서도 포함되어야 합니다.
표 1 은 gRPC 클라이언트가 gRPC 기반 서비스를 수행하기 위해 디바이스에 연결할 때 서버 전용 인증 및 상호 인증에 대한 일반적인 요구 사항을 간략하게 설명합니다. gRPC 서버의 인증서는 CN(일반 이름) 필드에 서버의 호스트 이름을 정의하거나 주체 대체 이름(subjectAltName 또는 SAN) IP 주소 필드에 서버의 IP 주소를 정의해야 합니다. 클라이언트 응용 프로그램은 서버에 대한 연결을 설정하기 위해 동일한 값을 사용해야 합니다. 인증서가 SubjectAltName IP 주소 필드를 정의하는 경우 인증 중에 일반 이름 필드는 무시됩니다.
| 요구 사항 | 서버 전용 인증 | 상호 인증 |
|---|---|---|
| 인증서 | 서버에는 X.509 공개 키 인증서가 있어야 합니다. 클라이언트가 호스트 이름 대신 서버의 IP 주소에 연결하는 경우 서버의 인증서에는 서버의 IP 주소와 함께 SAN(subjectAltName) IP 주소 확장 필드가 포함되어야 합니다. |
서버와 클라이언트에는 각각 X.509 공개 키 인증서가 있어야 합니다. 클라이언트가 호스트 이름 대신 서버의 IP 주소에 연결하는 경우 서버의 인증서에는 서버의 IP 주소와 함께 SAN(subjectAltName) IP 주소 확장 필드가 포함되어야 합니다. |
| Junos PKI | 서버의 로컬 인증서가 Junos PKI에 로드되어야 합니다. |
서버의 로컬 인증서와 각 클라이언트의 루트 CA 인증서는 Junos PKI에 로드되어야 합니다. |
| 채널 자격 증명 | 클라이언트는 gRPC 채널이 설정될 때 서버의 루트 CA 인증서를 전달해야 합니다. |
gRPC 채널이 설정되면 클라이언트는 인증서와 키, 서버의 루트 CA 인증서를 전달해야 합니다. |
채널 자격 증명은 gRPC 채널에 연결되며 클라이언트 애플리케이션이 서비스에 액세스할 수 있도록 합니다. 반면에 호출 자격 증명은 특정 서비스 작업(RPC 요청)에 연결되며 클라이언트 응용 프로그램을 사용하는 사람에 대한 정보를 제공합니다. 호출 자격 증명은 요청당, 즉 각 RPC 호출에 대해 전송됩니다. Junos 디바이스에서 gRPC 기반 작업을 실행하려면 요청에 통화 자격 증명을 제공해야 합니다. 사용자는 디바이스에서 로컬로 정의된 사용자 계정을 가지고 있거나 TACACS+ 서버에 의해 인증되어야 하며, TACACS+ 서버는 디바이스에서 로컬로 정의된 사용자 템플릿 계정에 사용자를 매핑합니다. RPC의 metadata 인수에서 호출 자격 증명(사용자 이름 및 암호)을 제공할 수 있습니다. 인증에 성공하면 Junos 디바이스는 지정된 사용자의 계정 권한을 사용하여 RPC 요청을 실행합니다.
Junos 디바이스에서 실행되는 모든 RPC에 대한 호출 자격 증명을 전달하는 대신 주니퍼 Extension Toolkit jnx_authentication_service API를 사용하여 gRPC 세션 시작 시 디바이스에 한 번 로그인할 수 있으며 채널에서 실행되는 모든 후속 RPC가 인증됩니다. 주 니퍼 네트웍스 다운로드 사이트에서 JET 클라이언트 IDL 라이브러리를 다운로드할 수 있습니다.
기본적으로 Junos 디바이스는 인증된 gRPC 클라이언트가 모든 gRPC RPC를 실행할 수 있는 권한을 부여합니다. 선택적으로 gRPC 사용자의 로그인 클래스를 구성하여 특정 gRPC RPC를 명시적으로 허용하거나 거부할 수 있습니다. RPC를 지정하려면 and deny-grpc-rpc-regexps 문을 구성 allow-grpc-rpc-regexps 하고 RPC와 일치하는 정규식을 정의합니다. 자세한 내용은 gRPC RPC 권한 부여 구성을 참조하십시오.
X.509 인증서 획득
gRPC 세션은 X.509 공개 키 인증서를 사용하여 gRPC 서버 및 클라이언트를 인증합니다. 서버 전용 인증의 경우 gRPC 서버에 인증서가 있어야 합니다. 상호 인증의 경우 gRPC 서버와 클라이언트 모두에 인증서가 있어야 합니다. 인증서에 대한 요구 사항은 다음과 같습니다.
-
인증서는 CA로 서명하거나 자체 서명할 수 있습니다.
-
인증서는 PEM으로 인코딩되어야 합니다.
-
gRPC 서버의 인증서는 CN(일반 이름) 필드에서 gRPC 서버의 호스트 이름을 정의하거나 SAN(SubjectAltName) IP 주소 필드에서 gRPC 서버의 IP 주소를 정의해야 합니다. gRPC 클라이언트는 서버에 대한 연결을 설정하기 위해 동일한 값을 사용해야 합니다. 인증서가 SubjectAltName IP 주소를 정의하는 경우 인증 중에 일반 이름 필드가 무시됩니다.
OpenSSL을 사용하여 gRPC 서버의 인증서를 얻으려면:
상호 인증의 경우 gRPC 클라이언트에 대한 정보를 사용하여 이전 단계를 반복하여 클라이언트의 키와 인증서를 생성합니다. 클라이언트 인증서에는 SAN IP 확장 필드가 필요하지 않습니다.
Junos PKI에서 gRPC 서버의 로컬 인증서 로드
gRPC 서버를 실행하는 네트워크 디바이스에는 gRPC 클라이언트에 디바이스를 식별하는 X.509 인증서가 있어야 합니다. Junos 디바이스에서 gRPC 기반 서비스를 수행하려면 로컬 네트워크 디바이스의 공개 키 인증서와 키를 Junos PKI에 로드해야 합니다. 인증서를 로드하고 초기 구성을 수행한 후 gRPC 클라이언트는 모든 마이크로서비스를 사용하여 인증서를 업데이트할 수 있습니다. 예를 들어 gRPC 클라이언트는 gNOI CertificateManagement 서비스를 사용하여 새 인증서를 설치하거나 기존 인증서를 교체할 수 있습니다.
PKI에 로컬 디바이스의 인증서와 키를 로드하려면:
gRPC 서비스 활성화
gRPC 기반 서비스는 SSL(Secure Socket Layer) 또는 TLS(전송 레이어 보안) 기술을 기반으로 하는 API 연결 설정을 사용합니다. 이러한 연결의 경우 gRPC 서버를 식별하는 로컬 인증서를 지정해야 합니다.
gRPC 서비스를 활성화하고 로컬 인증서를 지정하면 네트워크 디바이스는 서버 전용 인증을 사용합니다. 그런 다음 gRPC 서비스에 대한 상호 (양방향) 인증 구성에 설명된 단계를 완료하여 선택적으로 상호 인증를 구성할 수 있습니다.
gRPC 서비스를 위해 네트워크 디바이스를 구성하고 다음 계층 수준 중 하나에서 서버 인증에 사용되는 로컬 인증서를 지정할 수 있습니다.
-
[edit system services http servers]- 이 문 계층을 사용하여 고유한 포트에서 서로 다른 서비스 세트를 호스팅하는 하나 이상의 gRPC 서버를 구성할 수 있습니다. 또한 각 서버는 서로 다른 수신 대기 주소, 인증서 및 라우팅 인스턴스를 지원할 수 있습니다. -
[edit system services extension-service request-response grpc ssl]- 동일한 수신 주소 및 포트에서 모든 gRPC 서비스를 지원하는 단일 gRPC 서버만 필요한 경우 이 문 계층을 사용합니다.
gRPC 서비스를 위한 디바이스를 구성하려면 사용자 환경의 요구 사항을 충족하는 계층 수준의 지침을 따릅니다.
[edit system services http servers][edit system services extension-service request-response grpc ssl]
[edit system services http servers]
계층 수준에서 하나 이상의 gRPC 서버를 구성하려면 다음을 수행합니다.[edit system services http servers]
gRPC 서버 계층 수준으로 이동하여 서버의 식별자를 지정합니다.
[edit] user@host# edit system services http servers server name
예를 들면 다음과 같습니다.
[edit] user@host# edit system services http servers server grpc-server1
gRPC 서비스에 사용할 포트를 구성합니다. 포트는 각 gRPC 서버에 대해 고유해야 합니다.
[edit system services http servers server name] user@host# set port port-number
예를 들면 다음과 같습니다.
[edit system services http servers server grpc-server1] user@host# set port 32767
이 서버에서 호스팅하는 gRPC 서비스를 구성합니다.
[edit system services http servers server name] user@host# set grpc [service1 service2 ...]
이 예에서 서버는 gNMI 서비스 및 gNOI 서비스를 호스팅합니다.
[edit system services http servers server grpc-server1] user@host# set grpc [gnmi gnoi]
클라이언트에 서버를 식별하는 로컬 인증서를 지정합니다.
운영 모드 명령을 사용하여
request security pki local-certificate load이전에 Junos PKI에 로드한 로컬 인증서의 식별자를 입력합니다.[edit system services http servers server name] user@host# set tls local-certificate certificate-id
다음 예제에서는 로컬 인증서를
gnoi-server구성합니다.[edit system services http servers server grpc-server1] user@host# set tls local-certificate gnoi-server
(선택 사항) 서버가 수신 연결을 수신하는 IPv4 또는 IPv6 주소를 지정합니다.
[edit system services http servers server name] user@host# set listen-address address
예를 들면 다음과 같습니다.
[edit system services http servers server grpc-server1] user@host# set ip-address 192.168.2.1
참고:IP 주소를 지정하지 않으면 기본 주소 ::가 수신 연결을 수신하는 데 사용됩니다.
(선택 사항) 기본 라우팅 인스턴스와 다른 경우 이 gRPC 서버에 사용할 routing-instance를 구성합니다.
[edit system services http servers server name] user@host# set routing-instance routing-instance
다음 예제에서는 mgmt-junos 라우팅 인스턴스를 사용합니다.
[edit system services http servers server grpc-server1] user@host# set routing-instance mgmt-junos
(선택 사항) 이 gRPC 서버가 지원하는 최대 연결 수를 구성합니다.
[edit system services http servers server name] user@host# set max-connections connections
다음 예제에서는 최대 10개의 연결을 구성합니다. 기본값은 5입니다.
[edit system services http servers server grpc-server1] user@host# set max-connections 10
구성을 커밋합니다.
user@host# commit
서버 전용 인증 대신 상호 인증 구성하려면 gRPC 서비스에 대한 상호 (양방향) 인증 구성의 단계도 완료해야 합니다.
[edit system services extension-service request-response grpc ssl]
계층 수준에서 [edit system services extension-service request-response grpc ssl] 단일 gRPC 서버를 구성하려면:
gRPC 서비스에 대한 SSL 기반 API 연결 설정으로 이동합니다.
[edit] user@host# edit system services extension-service request-response grpc ssl
gRPC 서비스에 사용할 포트를 구성합니다.
[edit system services extension-service request-response grpc ssl] user@host# set port port-number
예를 들면 다음과 같습니다.
[edit system services extension-service request-response grpc ssl] user@host# set port 32767
클라이언트에 서버를 식별하는 로컬 인증서를 지정합니다.
운영 모드 명령을 사용하여
request security pki local-certificate load이전에 Junos PKI에 로드한 로컬 인증서의 식별자를 입력합니다.[edit system services extension-service request-response grpc ssl] user@host# set local-certificate certificate-id
다음 예제에서는 로컬 인증서를
gnoi-server구성합니다.[edit system services extension-service request-response grpc ssl] user@host# set local-certificate gnoi-server
인증서에 PKI 데이터베이스를 사용하도록 디바이스를 구성합니다.
[edit system services extension-service request-response grpc ssl] user@host# set use-pki
디바이스가 gRPC 세션을 종료하지 않고 인증서를 다시 로드할 수 있도록 합니다.
[edit system services extension-service request-response grpc ssl] user@host# set hot-reloading
(선택 사항) 들어오는 연결에 대해 수신할 IP 주소를 지정합니다.
[edit system services extension-service request-response grpc ssl] user@host# set ip-address address
예를 들면 다음과 같습니다.
[edit system services extension-service request-response grpc ssl] user@host# set ip-address 192.168.2.1
참고:IP 주소를 지정하지 않으면 기본 주소 ::가 수신 연결을 수신하는 데 사용됩니다.
(선택 사항) 발생할 수 있는 모든 문제를 디버깅하기 위해 확장 서비스에 대한 추적을 구성합니다.
[edit] user@host# top user@host# set system services extension-service traceoptions file jsd user@host# set system services extension-service traceoptions flag all
참고:확장 서비스에 대한 Junos OS Evolved 추적 파일을 보려면 및
show trace application jsd live운영 모드 명령을 사용합니다show trace application jsd.구성을 커밋합니다.
user@host# commit
서버 전용 인증 대신 상호 인증 구성하려면 gRPC 서비스에 대한 상호 (양방향) 인증 구성의 단계도 완료해야 합니다.
gRPC 서비스에 대한 상호 (양방향) 인증 구성
인증서를 사용하여 네트워크 디바이스를 gRPC 서버로 인증하고 NMS를 gRPC 클라이언트로 인증하는 gRPC 세션에 대한 상호 (양방향) 인증 구성할 수 있습니다. Junos 디바이스는 외부 클라이언트가 제공한 자격 증명을 사용하여 클라이언트를 인증하고 연결을 인증합니다.
다음 옵션 중 하나를 사용하여 Junos 디바이스에서 상호 인증을 구성할 수 있습니다.
-
구성에서 직접 상호 인증 설정을 구성합니다.
-
처음에는 서버 전용 인증을 설정한 다음 gNOI
CertificateManagement서비스를 사용하여 디바이스에 필요한 CA 인증서를 로드합니다.
디바이스 구성에서 직접 상호 인증을 구성하는 경우, 디바이스 구성은 gNOI 서비스를 사용하여 수행된 모든 설정보다 우선합니다.
시작하기 전에:
-
Junos PKI에서 gRPC 서버의 로컬 인증서 로드에 설명된 대로 gRPC 서버 역할을 하는 네트워크 디바이스의 인증서와 키를 디바이스의 PKI에 로드합니다.
-
gRPC 서비스를 활성화하고 gRPC 서비스 활성화에 설명된 대로 로컬 서버 인증을 구성합니다.
다음 섹션에서는 상호 인증을 구성하는 다양한 방법에 대해 설명합니다. 사용자 환경에 가장 적합한 방법을 사용할 수 있습니다.
디바이스 구성에서 상호 인증 구성
네트워크 디바이스 구성에서 직접 gRPC 클라이언트에 대한 인증을 구성하려면 다음을 수행합니다.
클라이언트 인증서의 유효성을 검사하는 데 사용할 루트 CA 인증서를 gRPC 서버 역할을 하는 로컬 디바이스에 다운로드합니다.
계층에서 클라이언트 인증서의 루트 CA에 대한 CA 프로필을 구성합니다
[edit security pki].[edit security pki] user@host# set ca-profile ca-profile-name ca-identity ca-identifier
예를 들면 다음과 같습니다.
[edit security pki] user@host# set ca-profile gnoi-client ca-identity clientRootCA
구성을 커밋합니다.
[edit] user@host# commit and-quit
운영 모드에서 클라이언트의 인증서를 확인하는 데 사용할 루트 CA 인증서를 Junos PKI에 로드합니다. 이전 단계에서 구성한 식별자를 지정합니다
ca-profile.user@host> request security pki ca-certificate load ca-profile ca-profile filename cert-path
예를 들면 다음과 같습니다.
user@host> request security pki ca-certificate load ca-profile gnoi-client filename /var/tmp/clientRootCA.crt Fingerprint: 00:2a:30:e9:59:94:db:f1:a1:5c:d1:c9:d4:5f:db:8f:f1:f0:8d:c4 (sha1) 02:3b:a0:b8:95:0c:a2:fa:15:18:57:3d:a3:10:e9:ac (md5) 69:97:90:39:de:75:a0:1d:94:1e:06:a8:be:8c:66:e5:41:95:fd:dc:14:8a:e7:3a:e0:42:9e:f9:f7:dd:c8:c2 (sha256) Do you want to load this CA certificate ? [yes,no] (no) yes CA certificate for profile gnoi-client loaded successfully
팁:CA 인증서 번들을 로드하려면 명령을 실행합니다.
request security pki ca-certificate ca-profile-group load ca-group-name ca-group-name filename bundle-path인증서를 로드한 후 구성 모드로 들어가 상호 인증 구성을 계속합니다. 서버를 구성한 동일한 계층 수준에서 상호 인증을 구성해야 합니다. 계층 수준에 대한 섹션에 설명된 단계를 수행합니다.
[시스템 서비스 http 서버 편집]
계층 수준에서 [edit system services http servers] 구성된 서버에 대한 상호 인증 구성하기:
서버 구성 아래의
tls문으로 이동합니다.[edit] user@host# edit system services http servers server name tls
예를 들면 다음과 같습니다.
[edit] user@host# edit system services http servers server grpc-server1 tls
상호 인증을 사용하도록 설정하고 클라이언트 인증서에 대한 요구 사항을 지정합니다.
[edit system services http servers server name tls] user@host# set mutual-authentication authentication-type requirement
예를 들어, 인증서와 해당 유효성 검사가 필요한 가장 강력한 인증을 지정하려면 기본값이기도 한 을 사용합니다
request-and-require-cert-and-verify.[edit system services http servers server grpc-server1 tls] user@host# set mutual-authentication authentication-type request-and-require-cert-and-verify
클라이언트 인증서를 확인하는 데 사용할 CA 프로필을 지정합니다.
CA 프로필은 CA 프로필 구성의 2 단계에서 구성되었습니다.
[edit system services http servers server name tls] user@host# set mutual-authentication certificate-authority certificate-authority
예를 들어, 라는 CA
gnoi-client프로필을 지정하려면 다음과 같습니다.[edit system services http servers server grpc-server1 tls] user@host# set mutual-authentication certificate-authority gnoi-client
구성을 커밋합니다.
[edit system services http servers server name tls] user@host# commit and-quit
[시스템 서비스 확장 서비스 요청-응답 grpc ssl 편집]
계층 수준에서 [edit system services extension-service request-response grpc ssl] 구성된 서버에 대한 상호 인증 구성하기:
상호 인증을 사용하도록 설정하고 클라이언트 인증서에 대한 요구 사항을 지정합니다.
[edit system services extension-service request-response grpc ssl] user@host# set mutual-authentication client-certificate-request requirement
예를 들어 인증서와 해당 유효성 검사가 필요한 가장 강력한 인증을 지정하려면 를 사용합니다
require-certificate-and-verify.[edit system services extension-service request-response grpc ssl] user@host# set mutual-authentication client-certificate-request require-certificate-and-verify
참고:기본값은
no-certificate입니다. 다른 옵션은 ,request-certificate,request-certificate-and-verify,require-certificate,require-certificate-and-verify입니다.이 옵션은 테스트 환경에서만 사용하는
no-certificate것이 좋습니다.클라이언트 인증서를 확인하는 데 사용할 CA 프로필을 지정합니다.
CA 프로필은 CA 프로필 구성의 2 단계에서 구성되었습니다.
[edit system services extension-service request-response grpc ssl] user@host# set mutual-authentication certificate-authority certificate-authority
예를 들어, 라는 CA
gnoi-client프로필을 지정하려면 다음과 같습니다.[edit system services extension-service request-response grpc ssl] user@host# set mutual-authentication certificate-authority gnoi-client
구성을 커밋합니다.
[edit system services extension-service request-response grpc ssl] user@host# commit and-quit
gNOI CertificateManagement 서비스를 사용하여 상호 인증 구성
디바이스 구성에서 직접 설정을 구성하는 대신 gNOI CertificateManagement 서비스를 사용하여 gRPC 클라이언트와 gRPC 서버 간의 상호 인증을 설정할 수 있습니다. 처음에는 서버 전용 인증을 설정한 다음 gNOI CertificateManagement 서비스 RPC를 사용하여 클라이언트 CA 인증서를 로드합니다. gNOI 서비스를 사용하여 인증서를 로드하는 방법에 대한 자세한 내용은 gNOI CertificateManagement 인증서 관리 서비스를 참조하십시오.
gRPC 서버는 gNOI 서비스에 대해 하나의 글로벌 CA 인증서 번들만 지원합니다. gNOI CertificateManagement 서비스를 사용하여 CA 인증서 번들을 로드할 때 디바이스는 암시적으로 상호 인증을 사용합니다. 그러나 다음 사항에 유의해야 합니다.
-
CertificateManagement서비스는 항상 예약된 식별자를gnoi-ca-bundle사용하여 CA 인증서 번들을 로드합니다ca-profile-group. -
서비스를 사용하여
CertificateManagementCA 인증서 번들을 로드하는 경우 디바이스는 암시적으로 상호 인증을 사용합니다. -
CertificateManagement서비스가 새 CA 인증서 번들을 로드하도록 요청을 보내면 서버는 디바이스에서 이전 CA 번들에 대한 인증서를 지우고 새 인증서를 로드합니다. -
서비스를 사용하여
CertificateManagementCA 인증서 번들을 로드하고 디바이스 구성에서 상호 인증도 명시적으로 구성하는 경우 구성된 문이 우선합니다.
gRPC 서비스에 대한 사용자 계정 구성
채널 자격 증명은 gRPC 채널에 연결되며 클라이언트 애플리케이션이 서비스에 액세스할 수 있도록 합니다. 호출 자격 증명은 특정 RPC 요청에 연결되며 클라이언트 응용 프로그램을 사용하는 사용자에 대한 정보를 제공합니다. 네트워크 디바이스에 대한 사용자 계정이 필요한 각 RPC 요청에서 호출 자격 증명을 제공해야 합니다. 사용자는 네트워크 디바이스에서 로컬로 정의된 사용자 계정을 가지고 있어야 하며, 또는 TACACS+ 서버에서 사용자를 인증해야 하며, TACACS+ 서버는 디바이스에서 로컬로 정의된 사용자 템플릿 계정에 사용자를 매핑합니다.
사용자 계정을 생성하려면 다음을 수행합니다.
gRPC RPC 권한 부여 구성
기본적으로 Junos 디바이스는 인증된 gRPC 클라이언트가 모든 gRPC RPC를 실행할 수 있는 권한을 부여합니다. gRPC RPC를 명시적으로 허용하거나 거부하도록 Junos 로그인 클래스를 구성할 수 있습니다. RPC를 지정하려면 and deny-grpc-rpc-regexps 문을 구성 allow-grpc-rpc-regexps 하고 RPC와 일치하는 정규식을 정의합니다. 허용 및 거부 목록에 충돌하는 표현식이 있는 경우 거부 목록이 우선합니다. RPC가 어느 목록과도 일치하지 않으면 RPC가 기본적으로 허용됩니다.
Junos 디바이스는 gRPC RPC를 지정하기 위해 다음 구문을 사용합니다.
/package.service/rpc
여기서 package, service, 및 rpc 는 해당 서비스의 프로토 정의 파일에 있는 해당 문에 정의된 이름입니다. 예를 들면 다음과 같습니다.
/gnmi.gNMI/Get /gnoi.certificate.CertificateManagement/Rotate /gnoi.system.System/Reboot /gnoi.system.System/RebootStatus /gribi.gRIBI/.*
하나 이상의 표현식으로 여러 allow-grpc-rpc-regexps AND deny-grpc-rpc-regexps 문을 구성할 수 있습니다. 각 식은 따옴표(" ")로 묶습니다. 여러 식은 대괄호 [ ]로 묶고 식은 공백으로 구분합니다.
allow-grpc-rpc-regexps ["regex1" "regex2" ... ] allow-grpc-rpc-regexps "regex3"
gRPC RPC에 대한 권한 부여를 정의하는 로그인 클래스를 생성하려면 다음을 수행합니다.
변경 내역 표
기능 지원은 사용 중인 플랫폼과 릴리스에 따라 결정됩니다. 기능 탐색기를 사용하여 플랫폼에서 기능이 지원되는지 확인합니다.