システム割り当てマネージド ID
[アーティクル] 02/06/2025
2 人の共同作成者
フィードバック
この記事の内容
適用対象: Azure Database for PostgreSQL - フレキシブル サーバー
この記事では、Azure Database for PostgreSQL フレキシブル サーバーのシステム割り当てマネージド ID を有効または無効にする手順について説明します。
既存のサーバーに対して有効にする手順
Azure portal を使用して以下を実行します。
ポータルで目的のサーバーを探します (サーバーをまだ開いていない場合)。 これを行う 1 つの方法は、検索バーにサーバーの名前を入力することです。 一致する名前のリソースが表示されたら、そのリソースを選択します。
リソース メニューの [セキュリティ] で、[ID] を選択します。
[システム割り当てマネージド ID] セクションで [オン] を選択します。
[保存] を選択します。
プロセスが完了すると、システム割り当てマネージド ID が有効になっていることが通知されます。
az postgres flexible-server update コマンドには、システム割り当てマネージド ID を有効および無効にする組み込みのサポートはまだ提供されていません。 回避策として、az rest コマンドを使用して Servers - Update 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 portal を使用して以下を実行します。
ポータルで目的のサーバーを探します (サーバーをまだ開いていない場合)。 これを行う 1 つの方法は、検索バーにサーバーの名前を入力することです。 一致する名前のリソースが表示されたら、そのリソースを選択します。
リソース メニューの [セキュリティ] で、[ID] を選択します。
[システム割り当てマネージド ID] セクションで [オフ] を選択します。
[保存] を選択します。
プロセスが完了すると、システム割り当てマネージド ID が無効になっていることが通知されます。
az postgres flexible-server update コマンドには、システム割り当てマネージド ID を有効および無効にする組み込みのサポートはまだ提供されていません。 回避策として、az rest コマンドを使用して Servers - Update 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 portal を使用して以下を実行します。
ポータルで目的のサーバーを探します (サーバーをまだ開いていない場合)。 これを行う 1 つの方法は、検索バーにサーバーの名前を入力することです。 一致する名前のリソースが表示されたら、そのリソースを選択します。
リソース メニューの [概要] を選択します
[JSON ビュー] を選択します。
開いた [リソース JSON] パネルで、[ID] プロパティを見つけます。その中に、システム割り当てマネージド ID の 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 ID で検証する手順
Azure portal を使用して以下を実行します。
ポータルでエンタープライズ アプリケーション サービスを見つけます (開いていない場合)。 これを行う 1 つの方法は、検索バーに名前を入力することです。 一致する名前のサービスが表示されたら、それを選択します。
[アプリケーションの種類 == マネージド ID] を選択します。
[プリケーションの名前またはオブジェクト ID で検索します] テキスト ボックスに、Azure Database for PostgreSQL フレキシブル サーバーのインスタンスの名前を指定します。
# Verify the system assigned managed identity
server=<server>
az ad sp list --display-name $server
関連するコンテンツ