透過共用私人端點存取私人網路中的金鑰保存庫
本文內容
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) 解析。
相關內容