CA 인증서 체인을 사용한 클라이언트 인증
Azure Event Grid CA 인증서 체인을 사용하여 서비스에 연결하는 동안 클라이언트를 인증합니다.
이 가이드에서는 다음 작업을 수행합니다.
- 클라이언트 인증서의 직접 부모 인증서인 CA 인증서를 네임스페이스에 업로드합니다.
- 클라이언트 인증 설정을 구성합니다.
- 이전에 업로드한 CA 인증서로 서명된 클라이언트 인증서를 사용하여 클라이언트를 연결합니다.
필수 조건
- Event Grid 네임스페이스가 이미 만들어져 있어야 합니다.
- 클라이언트 인증서에 서명하는 데 사용된 클라이언트 인증서 및 부모 인증서(일반적으로 중간 인증서)라는 CA 인증서 체인이 필요합니다.
샘플 클라이언트 인증서 및 지문 생성
인증서가 아직 없는 경우 step CLI를 사용하여 샘플 인증서를 만들 수 있습니다. Windows용으로 수동으로 설치하는 것이 좋습니다.
- Step을 설치한 후 Windows PowerShell 명령을 실행하여 루트 및 중간 인증서를 만듭니다.
.\step ca init --deployment-type standalone --name MqttAppSamplesCA --dns localhost --address 127.0.0.1:443 --provisioner MqttAppSamplesCAProvisioner
- 생성된 CA 파일을 사용하여 클라이언트에 대한 인증서를 만듭니다.
.\step certificate create client1-authnID client1-authnID.pem client1-authnID.key --ca .step/certs/intermediate_ca.crt --ca-key .step/secrets/intermediate_ca_key --no-password --insecure --not-after 2400h
- 지문을 보려면 Step 명령을 실행합니다.
step certificate fingerprint client1-authn-ID.pem
네임스페이스에 CA 인증서 업로드
- Azure Portal Event Grid 네임스페이스로 이동합니다.
- 왼쪽 레일의 MQTT 브로커 섹션 아래에서 CA 인증서 메뉴로 이동합니다.
- + 인증서를 선택하여 인증서 업로드 페이지를 시작합니다.
- 인증서 이름을 추가하고 중간 인증서(.step/certs/intermediate_ca.crt)를 찾아 업로드를 선택합니다. .pem, .cer 또는 .crt 형식의 파일을 업로드할 수 있습니다.
참고 항목
- CA 인증서 이름은 3~50자일 수 있습니다.
- CA 인증서 이름에는 영숫자, 하이픈(-)이 포함될 수 있으며 공백은 포함될 수 없습니다.
- 이 이름은 네임스페이스별로 고유해야 합니다.
클라이언트 인증 설정 구성
- 클라이언트 페이지로 이동합니다.
- + 클라이언트를 선택하여 새 클라이언트를 추가합니다. 기존 클라이언트를 업데이트하려면 클라이언트 이름을 선택하고 클라이언트 업데이트 페이지를 열 수 있습니다.
- 클라이언트 만들기 페이지에서 클라이언트 이름, 클라이언트 인증 이름 및 클라이언트 인증서 인증 유효성 검사 체계를 추가합니다. 일반적으로 클라이언트 인증 이름은 클라이언트 인증서의 주체 이름 필드에 있습니다.
- 만들기 단추를 선택하여 함수를 만듭니다.
샘플 인증서 개체 스키마
{
"properties": {
"description": "CA certificate description",
"encodedCertificate": "-----BEGIN CERTIFICATE-----`Base64 encoded Certificate`-----END CERTIFICATE-----"
}
}
Azure CLI 구성
다음 명령을 사용하여 CA(인증 기관) 인증서를 서비스에 업로드/표시/삭제합니다.
인증 기관 루트 또는 중간 인증서 업로드
az eventgrid namespace ca-certificate create -g myRG --namespace-name myNS -n myCertName --certificate @./resources/ca-cert.json
인증서 정보 표시
az eventgrid namespace ca-certificate show -g myRG --namespace-name myNS -n myCertName
인증서 삭제
az eventgrid namespace ca-certificate delete -g myRG --namespace-name myNS -n myCertName