次の方法で共有


Azure Container Registry のカスタム ロール

Azure Container Registry (ACR) では、 レジストリへのアクセスを管理するための Azure ロールベースのアクセス制御 (RBAC) がサポートされています。 ニーズに合った Azure Container Registry 組み込みロール がない場合は、シナリオに合わせてきめ細かなアクセス許可を持つカスタム ロールを作成できます。 この記事では、Azure Container Registry のカスタム ロールを定義、作成、割り当てる手順について説明します。

カスタム ロールのアクセス許可

一連のアクセス許可 (アクションとデータ アクション) によって、カスタム ロールが定義されます。 カスタム ロールで定義されているアクセス許可によって、ユーザーがレジストリ リソースに対して実行できる操作が決まります。

カスタム ロールで定義する必要があるアクセス許可 (アクションとデータ アクション) を決定するには、次の操作を行います。

Microsoft.ContainerRegistry リソース プロバイダーで使用可能なすべてのアクセス許可 (アクションとデータ アクション) をプログラムで一覧表示するには、次の Azure CLI または Azure PowerShell コマンドを使用できます。

az provider operation show --namespace Microsoft.ContainerRegistry
Get-AzProviderOperation -OperationSearchString Microsoft.ContainerRegistry/*

例: Webhook を管理するカスタム ロール

たとえば、次の JSON は、 ACR Webhook の管理を許可するカスタム ロールの最小アクセス許可 (アクションとデータ アクション) を定義します。

{
   "assignableScopes": [
     "/subscriptions/<optional, but you can limit the visibility to one or more subscriptions>"
   ],
   "description": "Manage Azure Container Registry webhooks.",
   "Name": "Container Registry Webhook Contributor",
   "permissions": [
     {
       "actions": [
         "Microsoft.ContainerRegistry/registries/webhooks/read",
         "Microsoft.ContainerRegistry/registries/webhooks/write",
         "Microsoft.ContainerRegistry/registries/webhooks/delete"
       ],
       "dataActions": [],
       "notActions": [],
       "notDataActions": []
     }
   ],
   "roleType": "CustomRole"
 }

カスタム ロールの作成または更新

JSON 定義を使用してカスタム ロールを定義するには、 カスタム ロールを作成する手順を参照してください。 カスタム ロールは、 Azure CLIAzure Resource Manager テンプレート、または Azure PowerShell を使用して作成できます。

Azure Resource Manager プライベート リンクを使用して構成されたテナント内の Azure Container Registry では、カスタム ロールで Microsoft.ContainerRegistry/*/readMicrosoft.ContainerRegistry/registries/*/write などのワイルドカード アクションを使用することがサポートされており、一致するすべてのアクションへのアクセスが許可されます。 ARM プライベート リンクのないテナントでは、ワイルドカードを使用せず、必要なすべてのレジストリ アクションをカスタム ロールで個別に指定します。

カスタム ロールの割り当て

組み込みロールのロールの割り当てを管理するのと同じ方法で、カスタム ロールのロールの割り当てを追加または削除します。 Azure portalAzure CLIAzure PowerShell、またはその他の Azure ツールを使用した Azure ID への Azure ロールの割り当ての詳細を確認します。

次のステップ