系統指派的受控識別
本文內容
適用於: 適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器
本文提供針對 適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器啟用或停用系統指派受控識別的逐步指示。
為現有伺服器啟用的步驟
使用 Azure 入口網站 :
如果您尚未開啟伺服器,請在入口網站中找到您的伺服器。 其中一種方法是在搜尋列中輸入伺服器的名稱。 顯示具有相符名稱的資源時,請選取該資源。
在資源功能表中的 [安全性] 底下 ,選取 [身分 識別]。
在 [ 系統指派的受控識別 ] 區段中,選取 [ 開啟 ]。
選取儲存 。
當程式完成時,通知會通知您系統指派的受控識別已啟用。
az postgres flexible-server update 命令未提供內建支持來啟用和停用系統指派的受控識別。 因應措施是,您可以使用 az rest 命令直接叫 用 伺服器 - 更新 REST API。
# Enable system assigned managed identity
subscriptionId=<subscription-id>
resourceGroup=<resource-group>
server=<server>
result=$(az postgres flexible-server show --resource-group $resourceGroup --name $server --query "identity.type" --output tsv)
if [ -z "$result" ]; then
az rest --method patch --url https://management.azure.com/subscriptions/$subscriptionId/resourceGroups/$resourceGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/$server?api-version=2024-08-01 --body '{"identity":{"type":"SystemAssigned"}}'
elif [ "$result" == "UserAssigned" ]; then
az rest --method patch --url https://management.azure.com/subscriptions/$subscriptionId/resourceGroups/$resourceGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/$server?api-version=2024-08-01 --body '{"identity":{"type":"SystemAssigned,UserAssigned"}}'
else
echo "System Assigned Managed identity is already enabled."
fi
針對現有伺服器停用的步驟
使用 Azure 入口網站 :
如果您尚未開啟伺服器,請在入口網站中找到您的伺服器。 其中一種方法是在搜尋列中輸入伺服器的名稱。 顯示具有相符名稱的資源時,請選取該資源。
在資源功能表中的 [安全性] 底下 ,選取 [身分 識別]。
在 [ 系統指派的受控識別 ] 區段中,選取 [ 關閉 ]。
選取儲存 。
當程式完成時,通知會通知您系統指派的受控識別已停用。
az postgres flexible-server update 命令未提供內建支持來啟用和停用系統指派的受控識別。 因應措施是,您可以使用 az rest 命令直接叫 用 伺服器 - 更新 REST API。
# Disable system assigned managed identity
subscriptionId=<subscription-id>
resourceGroup=<resource-group>
server=<server>
result=$(az postgres flexible-server show --resource-group $resourceGroup --name $server --query "identity.type" --output tsv)
if [ "$result" == "SystemAssigned" ]; then
az rest --method patch --url https://management.azure.com/subscriptions/$subscriptionId/resourceGroups/$resourceGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/$server?api-version=2024-08-01 --body '{"identity":{"type":"None"}}'
elif [ "$result" == "SystemAssigned,UserAssigned" ]; then
echo "System Assigned Managed identity cannot be disabled as the instance has User Assigned Managed identities assigned."
else
echo "System Assigned Managed identity is already disabled."
fi
顯示目前指派的步驟
使用 Azure 入口網站 :
如果您尚未開啟伺服器,請在入口網站中找到您的伺服器。 其中一種方法是在搜尋列中輸入伺服器的名稱。 顯示具有相符名稱的資源時,請選取該資源。
在資源功能表中,選取 [概觀]
選取 [JSON 檢視] 。
在開啟的 [資源 JSON] 面板中,尋找身分識別屬性,並在其中找到系統指派受控識別的 principalId 和 tenantId 。
# Show the system assigned managed identity
resourceGroup=<resource-group>
server=<server>
az postgres flexible-server identity list --resource-group $resourceGroup --server-name $server --query "{principalId:principalId, tenantId:tenantId}" --output table
Microsoft Entra 標識符中驗證的步驟
使用 Azure 入口網站 :
如果您未開啟企業應用程式 服務,請在入口網站中找出它。 其中一種方法是在搜尋列中輸入其名稱。 顯示具有相符名稱的服務時,請加以選取。
選擇 [應用程式類型 == 受控識別 ]。
在 [依應用程式名稱或對象標識符搜尋] 文字框中,提供您 適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器 實例的名稱。
# Verify the system assigned managed identity
server=<server>
az ad sp list --display-name $server
相關內容