Microsoft Entra ID のマネージド ID により、コンテナー アプリは、Microsoft Entra で保護された他のリソースにアクセスできます。 Microsoft Entra ID のマネージド ID の詳細については、「Azure リソースのマネージド ID」を参照してください。
コンテナー アプリには 2 種類の ID を付与できます:
システム割り当て ID はコンテナー アプリに関連付けられているため、コンテナー アプリが削除されると削除されます。 アプリは 1 つのシステム割り当て ID しか持つことはできません。
ユーザー割り当て ID は、コンテナー アプリやその他のリソースに割り当てることができるスタンドアロンの Azure リソースです。 コンテナー アプリは複数のユーザー割り当て ID を持つことができます。 ID は、削除するまで存在します。
az containerapp identity assignコマンドを実行して、システム割り当て ID を作成します。
az containerapp identity assign --name myApp --resource-group myResourceGroup --system-assigned
ARM テンプレートを使用して、コンテナー アプリとリソースのデプロイを自動化できます。 システム割り当て ID を追加するには、ARM テンプレートに identity セクションを追加します。
"identity": {
"type": "SystemAssigned"
}
システム割り当てタイプを追加すると、Azure に対してアプリケーション用の ID を作成して管理するように指示されます。 ARM テンプレートの完全な例については、 ARM API の仕様に関するページを参照してください。
az containerapp create や az containerapp job create などの一部の Azure CLI コマンドでは、入力用の YAML ファイルがサポートされています。 システム割り当て ID を追加するには、YAML ファイルに identity セクションを追加します。
identity:
type: SystemAssigned
システム割り当てタイプを追加すると、Azure に対してアプリケーション用の ID を作成して管理するように指示されます。 YAML テンプレートの完全な例については、ARM API の仕様に関するページを参照してください。
ユーザー割り当て ID を追加する
ユーザー割り当て ID を使用してコンテナー アプリを構成するには、まず ID を作成してから、そのリソース識別子をコンテナー アプリの構成に追加する必要があります。 ユーザー割り当て ID は、Azure portal または Azure CLI を使用して作成できます。 ユーザー割り当て ID の作成と管理の詳細については、「ユーザー割り当てマネージド ID の管理」を参照してください。
GET http://localhost:42356/msi/token?resource=https://vault.azure.net&api-version=2019-08-01 HTTP/1.1
x-identity-header: 853b9a84-5bfa-4b22-a3f3-0b9a43d9ad8a
(省略可能) 使用するユーザー割り当て ID のクライアント ID。 principal_id、mi_res_id、または object_id を含む要求では使用できません。 すべての ID パラメーター (client_id、principal_id、object_id、および mi_res_id) を省略した場合、システム割り当て ID が使用されます。
principal_id
クエリ
(省略可能) 使用するユーザー割り当て ID のプリンシパル ID。 object_id は代わりに使用する別名です。 client_id、mi_res_id、または object_id を含む要求では使用できません。 すべての ID パラメーター (client_id、principal_id、object_id、および mi_res_id) を省略した場合、システム割り当て ID が使用されます。
mi_res_id
クエリ
(省略可能) 使用するユーザー割り当て ID の Azure リソース ID。 principal_id、client_id、または object_id を含む要求では使用できません。 すべての ID パラメーター (client_id、principal_id、object_id、および mi_res_id) を省略した場合、システム割り当て ID が使用されます。
重要
ユーザー割り当て ID のトークンを取得する場合は、省略可能なプロパティの 1 つを含める必要があります。 このようにしないと、トークン サービスは存在する場合と存在しない場合があるシステムが割り当てた ID のトークンを取得しようとします。
マネージド ID を表示
次の Azure CLI コマンドを使用して、システム割り当てマネージド ID とユーザー割り当てマネージド ID を表示できます。 出力には、コンテナー アプリに割り当てられているすべてのマネージド ID の型、テナント ID、プリンシパル ID が表示されます。
az containerapp identity show --name <APP_NAME> --resource-group <GROUP_NAME>
マネージド ID の削除
システム割り当て ID を削除すると、Microsoft Entra ID から削除されます。 コンテナー アプリのリソース自体を削除すると、システム割り当て ID も Microsoft Entra ID から自動的に削除されます。 お使いのコンテナー アプリからユーザー割り当てマネージド ID を削除しても、Microsoft Entra ID からは削除されません。