Azure Web PubSub는 공유된 프라이빗 엔드포인트 연결을 통해 개인 네트워크의 키 자격 증명 모음에 액세스할 수 있습니다. 이 문서에서는 공용 네트워크 대신 공유 프라이빗 엔드포인트를 통해 키 자격 증명 모음으로 아웃바운드 호출을 라우팅하도록 Web PubSub 리소스를 구성하는 방법을 보여 줍니다.
Azure Web PubSub API를 통해 만들어진 보안 리소스의 프라이빗 엔드포인트를 공유 프라이빗 링크 리소스라고 합니다.
Azure Private Link와 통합된 Azure Key Vault 인스턴스와 같은 리소스에 대한 액세스를 "공유"합니다. 이러한 프라이빗 엔드포인트는 Web PubSub 실행 환경 내부에 만들어지므로 사용자가 직접 볼 수 없습니다.
참고 항목
이 문서의 예제에서는 다음 리소스 ID를 사용합니다.
- 이 Azure Web PubSub 인스턴스의 리소스 ID는
_/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.SignalRService/webpubsub/contoso-webpubsub입니다.
- Azure Key Vault 인스턴스의 리소스 ID는
/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.KeyVault/vaults/contoso-kv입니다.
다음 예의 단계를 사용하려면 이러한 값을 사용자의 구독 ID, Web PubSub 리소스 이름, Azure Key Vault 리소스 이름으로 바꿉니다.
필수 조건
- 활성 구독이 있는 Azure 계정.
체험 계정을 만듭니다.
-
Azure CLI 2.25.0 이상(Azure CLI를 사용하는 경우).
- 최소 표준 가격 책정 계층의 Azure Web PubSub 인스턴스입니다.
- Azure Key Vault 리소스
키 자격 증명 모음에 대한 공유 프라이빗 엔드포인트 리소스 만들기
Azure Portal에서 Azure Web PubSub 리소스로 이동합니다.
왼쪽 메뉴에서 네트워킹을 선택합니다.
프라이빗 액세스 탭을 선택합니다.
공유 프라이빗 엔드포인트 추가를 선택합니다.
이름에 공유 프라이빗 엔드포인트에 사용할 이름을 입력합니다.
키 자격 증명 모음 리소스를 선택하려면 다음 단계 중 하나를 완료합니다.
-
리소스에서 선택을 선택하고 목록에서 리소스를 선택합니다.
-
리소스 ID 지정을 선택하고 키 자격 증명 모음 리소스 ID를 입력합니다.
요청 메시지에 승인해 주세요를 입력하세요.
추가를 선택합니다.
공유 프라이빗 엔드포인트 리소스는 프로비전 상태가 성공입니다. 연결 상태는 보류 중이며 대상 리소스에 대한 승인을 기다리는 중입니다.
Azure CLI로 다음 API 호출을 수행하여 공유 프라이빗 링크 리소스를 만들 수 있습니다.
uri 값을 시나리오의 URI로 바꿉니다.
az rest --method put --uri https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.SignalRService/webpubsub/contoso-webpubsub/sharedPrivateLinkResources/kv-pe?api-version=2022-08-01-preview --body @create-pe.json
create-pe.json 파일의 콘텐츠는 API에 대한 요청 본문을 나타냅니다.
{
"name": "contoso-kv",
"properties": {
"privateLinkResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.KeyVault/vaults/contoso-kv",
"groupId": "vault",
"requestMessage": "please approve"
}
}
아웃바운드 프라이빗 엔드포인트를 만드는 프로세스는 장기 실행(비동기) 작업입니다. 모든 비동기 Azure 작업과 마찬가지로 PUT 호출은 다음과 같은 Azure-AsyncOperation 헤더 값을 반환합니다.
"Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.SignalRService/webpubsub/contoso-webpubsub/operationStatuses/c0786383-8d5f-4554-8d17-f16fcf482fb2?api-version=2022-08-01-preview"
이 URI를 주기적으로 폴링하여 작업 상태를 확인할 수 있습니다. 다음 섹션으로 넘어가기 전에 상태가 "성공"으로 변경될 때까지 기다립니다.
상태를 폴링하려면 Azure-AsyncOperationHeader 값을 수동으로 쿼리합니다.
az rest --method get --uri https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.SignalRService/webpubsub/contoso-webpubsub/operationStatuses/c0786383-8d5f-4554-8d17-f16fcf482fb2?api-version=2022-08-01-preview
키 자격 증명 모음에 대한 프라이빗 엔드포인트 연결 승인
프라이빗 엔드포인트 연결이 만들어진 후에는 Web PubSub의 연결 요청이 Key Vault 리소스에서 승인되어야 합니다.
Azure Portal에서 Key Vault 리소스로 이동합니다.
왼쪽 메뉴에서 네트워킹을 선택합니다.
프라이빗 엔드포인트 연결을 선택합니다.
Web PubSub가 만든 프라이빗 엔드포인트를 선택합니다.
승인을 선택한 다음 예를 선택하여 확인합니다.
프라이빗 엔드포인트 연결 상태가 승인됨으로 변경되는 데 몇 분이 걸릴 수 있습니다.
프라이빗 엔드포인트 연결을 나열합니다.
az network private-endpoint-connection list --name <key-vault-resource-name> --resource-group <key-vault-resource-group-name> --type 'Microsoft.KeyVault/vaults'
보류 중인 프라이빗 엔드포인트 연결을 확인합니다. 연결 ID를 기록해 둡니다.
[
{
"id": "<ID>",
"location": "",
"name": "",
"properties": {
"privateLinkServiceConnectionState": {
"actionRequired": "None",
"description": "Please approve",
"status": "Pending"
}
}
}
]
프라이빗 엔드포인트 연결 승인:
az network private-endpoint-connection approve --id <private-endpoint-connection-ID>
공유 프라이빗 링크 리소스의 상태 쿼리
승인이 Azure Web PubSub 서비스로 전파되는 데 몇 분 정도 걸립니다. Azure Portal 또는 Azure CLI를 사용하여 상태를 확인할 수 있습니다. 컨테이너 상태가 승인되면 Azure Web PubSub Service와 Azure Key Vault 간의 공유 프라이빗 엔드포인트가 활성화됩니다.
Azure Portal에서 Azure Web PubSub 리소스로 이동합니다.
왼쪽 메뉴에서 네트워킹을 선택합니다.
공유 프라이빗 링크 리소스를 선택합니다.
az rest --method get --uri https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.SignalRService/webpubsub/contoso-webpubsub/sharedPrivateLinkResources/func-pe?api-version=2022-08-01-preview
이 명령은 JSON을 반환합니다. 연결 상태는 status 아래 properties에 표시됩니다.
{
"name": "contoso-kv",
"properties": {
"privateLinkResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.KeyVault/vaults/contoso-kv",
"groupId": "vaults",
"requestMessage": "please approve",
"status": "Approved",
"provisioningState": "Succeeded"
}
}
properties.provisioningState가 Succeeded이고 properties.status(연결 상태)이 Approved인 경우 공유 프라이빗 링크 리소스가 작동하고 Web PubSub는 프라이빗 엔드포인트를 통해 통신할 수 있습니다.
이제 평소와 같이 사용자 지정 도메인과 같은 기능을 구성할 수 있습니다. 키 자격 증명 모음에 특별한 도메인을 사용할 필요는 없습니다. Web PubSub는 자동으로 DNS(Domain Name System) 확인을 처리합니다.
관련 콘텐츠