Microsoft Entra トークンは、レジストリ ユーザーが Azure Container Registry (ACR) で認証するときに使用されます。 既定では、Azure Container Registry (ACR) は、Azure リソースを管理するためのコントロール プレーン管理レイヤーである Azure Resource Manager (ARM) の対象ユーザー スコープが設定された Microsoft Entra トークンを受け入れます。
Microsoft Entra ARM Audience Tokens を認識せず、Microsoft Entra ACR Audience トークンのみを認識するようにレジストリを構成することで、受け入れられたトークンのスコープを絞り込むことで、認証プロセス中にコンテナー レジストリのセキュリティを強化できます。
ACR 対象ユーザー トークンの適用では、レジストリ認証とサインイン プロセス中に、ACR の対象ユーザー スコープが設定された Microsoft Entra トークンのみが受け入れられます。 これは、以前に受け入れられた ARM 対象ユーザー トークンはレジストリ認証に対して有効ではなくなるため、コンテナー レジストリのセキュリティが強化されることを意味します。
このチュートリアルでは、以下の内容を学習します:
- ACR で authentication-as-arm を無効にする - Azure CLI。
- ACR で authentication-as-arm を無効にする - Azure portal。
前提条件
- バージョン 2.40.0 以降の Azure CLI をインストールするかアップグレードします。 バージョンを確認するには、
az --version
を実行します。 - Azure portal にサインインします。
ACR で authentication-as-arm を無効にする - Azure CLI
azureADAuthenticationAsArmPolicy
を無効にすると、レジストリで ACR 対象ユーザー トークンが強制的に使用されます。 Azure CLI バージョン 2.40.0 以降を使用できます。バージョンを確認するには az --version
を実行します。
レジストリでの ARM トークンを使用した認証のためのレジストリのポリシーの現在の構成を表示するコマンドを実行します。 状態が
enabled
の場合は、APR と ARM の両方の対象ユーザー トークンを認証に使用できます。 状態がdisabled
の場合は、ACR の対象ユーザー トークンのみを認証に使用できることを意味します。az acr config authentication-as-arm show -r <registry>
レジストリのポリシーの状態を更新するコマンドを実行します。
az acr config authentication-as-arm update -r <registry> --status [enabled/disabled]
Microsoft Entra ACR 対象ユーザー トークンを使用した ACR での認証
Microsoft Entra ACR Audience Token を使用して ACR で認証できます。
Microsoft Entra ACR Audience Token を取得するには、az login
コマンドを実行するときに--scope https://containerregistry.azure.net/.default
を指定します。
注
ACR サービスのスコープが設定された Microsoft Entra ACR Audience トークンを取得するには、 https://containerregistry.azure.net/.default
を指定する必要があります。
Microsoft Entra と ACR のどちらもレジストリ固有のトークン対象ユーザーをサポートしていないので、スコープとして https://registryname.azurecr.io/
を指定することはできません。
az login --scope https://containerregistry.azure.net/.default
ログイン後、Microsoft Entra ACR Audience トークン(ACR サービス用にスコープされているもの)がローカルキャッシュに格納されます。 このトークンを使用して、アクセス許可を持つすべての ACR レジストリで認証できます。
az acr login -n <registry>
ACR で authentication-as-arm を無効にする - Azure portal
組み込みポリシーを割り当てて authentication-as-arm
プロパティを無効にすると、現在および将来のレジストリのレジストリ プロパティが自動的に無効になります。 この自動動作は、ポリシー スコープ内に作成されたレジストリに対して行われます。 使用可能なポリシー スコープには、テナント内のリソース グループ レベルのスコープまたはサブスクリプション ID レベルのスコープが含まれます。
ACR で authentication-as-arm を無効にするには、次の手順に従います。
Azure portal にサインインします。
azure-container-registry-built-in-policy 定義の ACR の組み込みポリシー定義を参照してください。
authentication-as-arm 定義を無効にする組み込みポリシーを割り当てる - Azure portal。
ARM 対象ユーザー トークン認証を無効にするための組み込みのポリシー定義を割り当てる - Azure portal。
レジストリの条件付きアクセス ポリシーは、Azure portal で有効にすることができます。
Azure Container Registry には、次のように authentication-as-arm を無効にする 2 つの組み込みポリシー定義があります:
Container registries should have ARM audience token authentication disabled.
- このポリシーは、準拠していないリソースを報告してブロックし、準拠していないリソースを準拠しているリソースに更新する要求も送信します。Configure container registries to disable ARM audience token authentication.
- このポリシーは、修復を提供し、準拠していないリソースを準拠しているリソースに更新します。Azure portal にサインインします。
[Azure Container Registry]>[リソース グループ]>[設定]>[ポリシー] に移動します。
[Azure Policy] に移動し、[割り当て] で [ポリシーの割り当て] を選択します。
[ポリシーの割り当て] で、フィルターを使用して、[スコープ]、[ポリシー定義]、[割り当て名] を検索します。
[スコープ] を選択し、[サブスクリプション] と [ResourceGroup] をフィルター処理して検索し、[選択] を選択します。
[ポリシー定義] を選択して、条件付きアクセス ポリシーの組み込みポリシー定義をフィルター処理して検索します。
フィルターを使用して、[スコープ]、[ポリシー定義]、[割り当て名] を選択して確認します。
フィルターを使用し、コンプライアンスの状態を限定するか、ポリシーを検索します。
設定を確認し、ポリシーの適用を [有効] に設定します。
[確認して作成] を選択します。