既定では、Azure コンテナー レジストリからコンテンツをプルまたはプッシュするアクセスは、 認証された ユーザーのみが使用できます。 匿名 (認証されていない) プル アクセスを有効にすると、すべてのレジストリ コンテンツが読み取り (プル) アクションでパブリックに使用できるようになります。 パブリック コンテナー イメージの配布など、ユーザー認証を必要としないシナリオでは、匿名プル アクセスを使用します。
匿名プル アクセスはプレビュー機能であり、Standard および Premium サービス レベルで利用できます。 匿名プル アクセスを構成するには、Azure CLI (バージョン 2.21.0 以降) を使用してレジストリを更新します。 インストールまたはアップグレードの詳細については、「 Azure CLI のインストール」を参照してください。
- 既存のレジストリのプロパティを更新して、匿名プル アクセスを有効にします。
- 匿名プル アクセスを有効にした後は、いつでもそのアクセスを無効にすることができます。
- 認証されていないクライアントでは、データ プレーン操作のみを使用できます。
- レジストリによって、高い割合の認証されていない要求が抑えられる場合があります。
- 以前にレジストリに対して認証した場合は、匿名のプル操作を試みる前に資格情報をクリアしてください。
警告
匿名プル アクセスは現在、レジストリ内のすべてのリポジトリに適用されます。 Microsoft Entra 以外のトークン ベースのリポジトリアクセス許可または Microsoft Entra ベースのリポジトリのアクセス許可を使用してリポジトリアクセスを管理する場合、認証されていない匿名プルが有効になっているレジストリ内のすべてのユーザーがそれらのリポジトリから引き続きプルできます。 認証されていない匿名プル アクセスを有効にする場合は、この点に注意してください。
匿名プル アクセスを構成する
ユーザーは、Azure CLI を使用して、匿名プル アクセスの状態を有効、無効、およびクエリできます。 次の例では、匿名プル アクセスの状態を有効、無効、およびクエリする方法を示します。
匿名プル アクセスを有効にする
az acr update コマンドを使用してレジストリを更新し、--anonymous-pull-enabled
パラメーターを渡します。 既定では、匿名プルはレジストリで無効になっています。
az acr update --name myregistry --anonymous-pull-enabled
重要
以前に Docker 資格情報を使用してレジストリに対して認証した場合は、 docker logout
を実行して、匿名のプル操作を試みる前に、既存の資格情報を確実にクリアしてください。 それ以外の場合は、"プル アクセスが拒否されました" のようなエラー メッセージが表示されることがあります。
レジストリにプッシュするために docker login
およびタグ付けイメージを使用する場合は、必ず完全修飾レジストリ名 (すべて小文字) を指定してください。 この例では、完全修飾名は myregistry.azurecr.io
です。
以前に Docker 資格情報を使用してレジストリに対して認証した場合は、次のコマンドを実行して、既存の資格情報または以前の認証をクリアします。
docker logout myregistry.azurecr.io
この手順は、匿名のプル操作を試みるのに役立ちます。 問題が発生した場合は、"プル アクセスが拒否されました" のようなエラー メッセージが表示されることがあります。
匿名プル アクセスを無効にする
--anonymous-pull-enabled
を false
に設定して、匿名プル アクセスを無効にします。
az acr update --name myregistry --anonymous-pull-enabled false
匿名プル アクセスの状態を照会する
az acr show コマンドと --query
パラメーターを使用して、"anonymous-pull" の状態を照会できます。 次に例を示します。
az acr show -n <registry_name> --query anonymousPullEnabled
このコマンドは、"Anonymous Pull" が有効 (true
) か無効 (false
) かを示すブール値を返します。 このコマンドにより、ACR 内の機能の状態を検証するプロセスが効率化されます。
次のステップ
- Microsoft Entra ベースのリポジトリのアクセス許可の使用について説明します。
- Microsoft Entra 以外のトークン ベースのリポジトリアクセス許可の使用について説明します。
- Azure コンテナー レジストリに 対して認証 するオプションについて説明します。