Azure Web PubSub 可透過共用私人端點連線來存取私人網路中的金鑰保存庫。 本文說明如何設定 Web PubSub 資源,以透過共用私人端點 (而非公用網路) 將輸出呼叫路由傳送至金鑰保存庫。
透過 Azure Web PubSub API 建立的受保護資源的私人端點,稱為共用私人連結資源。 您可以「共用」對與 Azure Private Link 整合的資源 (例如 Azure Key Vault 執行個體) 的存取。 這些私人端點建立於 Azure Web PubSub 執行環境中,您不會直接看到。
注意
本文中範例使用下列資源識別碼:
- 此 Azure Web PubSub 執行個體的資源識別碼為
_/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.SignalRService/webpubsub/contoso-webpubsub
。
- Azure Key Vault 實體的資源識別碼為
/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.KeyVault/vaults/contoso-kv
。
若要使用下列範例中的步驟,請將這些值取代為您自己的訂用帳戶識別碼、Web PubSub 資源的名稱,以及 Azure Key Vault 資源的名稱。
必要條件
- 具有有效訂用帳戶的 Azure 帳戶。 免費建立帳戶。
- Azure CLI 2.25.0 或更新版本 (如果您使用 Azure CLI)。
- 最低標準定價層的 Azure Web PubSub 執行個體。
- Azure Key Vault 資源。
為金鑰保存庫建立共用私人端點資源
在 Azure 入口網站中,移至您的 Azure Web PubSub 資源。
在左側功能表上,選取 [網路]。
選取 [私人存取] 索引標籤。
選取 [新增共用私人端點]。
針對 [名稱],輸入要用於共用私人端點的名稱。
若要選取金鑰保存庫資源,請完成下列其中一個步驟:
- 選擇 [從您的資源選取],然後從清單中選取您的資源。
- 選取 [指定資源識別碼],然後輸入您的金鑰保存庫資源識別碼。
針對 [要求訊息],輸入 [請核准]。
選取 [新增]。
共用私人端點資源的佈建狀態為 [成功]。 連線狀態為 [擱置中],正在等待目標資源核准。
您可以使用 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
核准金鑰保存庫的私人端點連線
私人端點連線建立後,必須在 Key Vault 資源中核准來自 Web PubSub 的連線要求。
在 Azure 入口網站中,前往金鑰保存庫資源。
在左側功能表上,選取 [網路]。
選取 [私人端點連線]。
選取 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>",
"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 入口網站或 Azure CLI 來檢查狀態。 在核准容器狀態時,Azure Web PubSub 服務和 Azure Key Vault 之間的共用私人端點會處於作用中狀態。
在 Azure 入口網站中,移至您的 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。 連線狀態會在 properties
下的 status
中指出。
{
"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) 解析。
相關內容