透過共用私人端點存取私人網路中的金鑰保存庫
本文內容
Azure SignalR 服務可以透過共用私人端點存取私人網路中的金鑰保存庫。 如此一來,您的金鑰保存庫就不會在公用網路上公開。
您可以透過 Azure SignalR 服務 API 建立私人端點,以共用存取與 Azure Private Link 服務 整合的資源。 這些稱為共用私人連結資源的 端點 會在 SignalR 執行環境中建立,而且無法在此環境外部存取。
在本文中,您將瞭解如何建立要金鑰保存庫的共用私人端點。
必要條件
您需要下列資源才能完成本文:
Azure 資源群組。
Azure SignalR Service 實例。
Azure 金鑰保存庫 實例。
本文中的範例會使用下列命名慣例,不過您可以改用自己的名稱。
此 Azure SignalR 服務的資源識別碼是 /subscriptions/0000000-0000-0000-0000-0000000000000/resourceGroups/contoso/providers/Microsoft.SignalRService/signalr/contoso-signalr 。
Azure 金鑰保存庫的資源識別碼是 /subscriptions/0000000-0000-0000-0000-0000000000000/resourceGroups/contoso/providers/Microsoft.KeyVault/vaults/contoso-kv 。
其餘的範例會示範如何 設定 contoso-signalr 服務,使其對 金鑰保存庫的輸出呼叫通過私人端點,而不是公用網路。
建立金鑰保存庫的共用私人連結資源
在Azure 入口網站中,移至您的 Azure SignalR Service 資源。
選取 [網路功能]。
選取 [私人存取] 索引標籤。
在 [共用私人端點] 區段中,選取 [新增共用私人端點 ]。
輸入下列資訊:
欄位
描述:
名稱
共用私人端點的名稱。
類型
選取 Microsoft.KeyVault/vaults
訂用帳戶
包含您金鑰保存庫的訂用帳戶。
資源
輸入金鑰保存庫資源的名稱。
要求訊息
輸入「請核准」
選取新增 。
成功新增私人端點時,布建狀態將會 是 [成功]。 線上狀態將會是 [擱 置] ,直到您核准金鑰保存庫端的端點為止。
使用 Azure CLI 進行下列 API 呼叫,以建立共用的私人連結資源:
az rest --method put --uri https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.SignalRService/signalr/contoso-signalr/sharedPrivateLinkResources/kv-pe?api-version=2021-06-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/signalr/contoso-signalr/operationStatuses/c0786383-8d5f-4554-8d17-f16fcf482fb2?api-version=2021-06-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/signalr/contoso-signalr/operationStatuses/c0786383-8d5f-4554-8d17-f16fcf482fb2?api-version=2021-06-01-preview
等到狀態變更為 [成功] ,再繼續進行後續步驟。
核准金鑰保存庫的私人端點連線
移至您的金鑰保存庫資源
選取 [ 網路]。
選取 [ 私人端點連線 ] 索引標籤。非同步作業成功之後,應該會有私人端點連線的要求,以及來自先前 API 呼叫的要求訊息。
選取 SignalR Service 建立的私人端點,然後選取 [ 核准 ]。
選取 [ 是 ] 以核准連線。
列出私人端點連線。
az network private-endpoint-connection list -n <key-vault-resource-name> -g <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>
確認共用私人端點正常運作
幾分鐘後,核准會傳播至 SignalR 服務,而線上狀態會設定為 [已 核准]。 您可以使用 Azure 入口網站 或 Azure CLI 來檢查狀態。
az rest --method get --uri https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.SignalRService/signalr/contoso-signalr/sharedPrivateLinkResources/func-pe?api-version=2021-06-01-preview
此命令會傳回 JSON 物件,其中連接狀態會顯示為 「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
且「連線ion 狀態」( properties.status
) 為 Approved
時,共用的私人連結資源會正常運作,而 SignalR 服務可以透過私人端點進行通訊。
當 SignalR Service 與 Azure 金鑰保存庫之間的私人端點正常運作時,布建狀態的值會 是 [成功 ],且線上狀態為 [已核准 ]。
清理
如果您不打算使用在本文中建立的資源,您可以刪除資源群組。
警告
刪除資源群組會刪除其內含的所有資源。 如果本文範圍以外的資源存在於指定的資源群組中,也會刪除它們。
下一步