你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
此目录提供可用于 Azure 容器注册表(ACR)的所有内置角色的综合参考。 本文档专为需要对内置角色中的 ACR 权限有详细知识的专家用户设计,以便进行标识管理、审核、安全性或自定义角色设计。 此处记录了每个 ACR 内置角色及其包含的控制平面和数据平面权限。
以下内置角色类型可用:
有关这些内置角色的高级概述(包括受支持的角色分配标识类型、执行角色分配的步骤以及常见方案的建议角色)请参阅 Azure 容器注册表内置角色。
注释
适用的内置角色和角色行为取决于注册表的“角色分配权限模式”。这在 Azure 门户的“属性”边栏选项卡中可见:
- RBAC 注册表 + ABAC 存储库权限:支持使用可选Microsoft Entra ABAC 条件的标准 RBAC 角色分配,以将分配范围限定到特定存储库。
- RBAC 注册表权限:仅支持标准的 RBAC 配置,不包括 ABAC 条件。
有关 Microsoft Entra ABAC 和已启用 ABAC 的角色的详细信息,请参阅基于 Microsoft Entra 的存储库权限。
内置角色参考
每个内置角色都包含一组权限(操作和数据操作),用于控制哪些操作可以在注册表上执行。 这些权限分为两类:
- 控制面板权限:创建、管理、删除和配置 ACR 注册表、整个注册表范围内的配置以及整个注册表范围内的策略。
- 数据平面权限:执行读取、修改或删除注册表中的数据的作,例如在注册表中推送、拉取、修改或删除图像、项目和标记。 还包括修改存储库特定的配置和策略的操作。
控制平面角色
以下内置角色为控制平面角色。 将这些角色分配给需要管理注册表但无需数据平面权限的标识。
适用的角色和角色行为取决于注册表的“角色分配权限模式”。这在 Azure 门户的“属性”边栏选项卡中可见。 有关 Entra ABAC 的详细信息,请参阅 基于 Entra 的存储库权限。
容器注册表参与者和数据访问配置管理员
- 用例:非常适合需要创建和配置注册表、设置注册表身份验证机制、管理注册表网络访问和管理注册表策略的注册表管理员、CI/CD 管道或自动化过程,而无需请求/拉取映像或分配角色的权限。
- 权限:授予控制平面访问权限,以创建、配置和管理注册表和注册表配置,包括身份验证设置、令牌、专用终结点、网络访问和注册表策略。 不包括数据平面操作(例如图像上传/下载)或角色分配功能。
- 控制平面权限:
- 创建、更新、查看、列出和删除注册表(包括 注册表 SKU 和 可用性区域和区域冗余)
- 查看和列出注册表的角色分配(但不对其进行管理)
- 管理 异地复制
- 管理 连接的注册表
- 更新注册表配置
- 配置注册表的系统分配的托管标识。 注意:若要管理注册表中用户分配的托管标识,需要单独的
Managed Identity Operator
角色。 - 配置网络访问设置(公用网络访问、 受信任的服务绕过、 网络防火墙规则、 专用数据终结点和 虚拟网络(VNET)服务终结点)
- 配置 专用终结点设置 (设置、批准、拒绝和列出专用终结点连接和专用链接资源)
- 配置身份验证访问设置(管理员用户登录凭据、匿名拉取、基于非Microsoft Entra令牌的存储库权限,以及Microsoft Entra身份验证作为 ARM 令牌受众)
- 配置注册表策略(配置 保留策略、 注册表范围的隔离启用、 软删除启用和数据 外泄导出策略)
- 配置注册表的系统分配的托管标识。 注意:若要管理注册表中用户分配的托管标识,需要单独的
- 配置注册表 诊断和监视设置(诊断设置、日志、指标、用于注册表和地理复制的Webhook以及事件网格)
- 数据平面权限:
- 没有
- 控制平面权限:
容器注册表配置读取器和数据访问配置读取器
- 用例:非常适合仅需要查看注册表、审核注册表身份验证机制、审核注册表网络访问配置和查看注册表策略的审核员、监视系统和漏洞扫描程序,而无需请求/拉取映像或分配角色的权限。
- 权限:授予控制平面访问权限以查看和列出注册表和注册表配置,包括身份验证设置、令牌、专用终结点、网络访问和注册表策略。 不包括数据平面操作(例如图像上传/下载)或角色分配功能。
- 控制平面权限:
- 查看和列出注册表(包括 注册表 SKU 和 可用性区域和区域冗余)
- 查看和列出注册表的角色分配(但不对其进行管理)
- 查看和列出异地复制
- 查看和列出连接的注册表
- 查看注册表配置
- 查看并列出 注册表的系统分配托管标识和用户分配的托管标识
- 查看和列出网络访问设置(公用网络访问、 受信任的服务绕过、 网络防火墙规则、 专用数据终结点和 虚拟网络(VNET)服务终结点)
- 查看和列出 专用终结点设置 (设置、批准、拒绝和列出专用终结点连接和专用链接资源)
- 查看和列出身份验证访问设置(管理员用户登录凭据、匿名拉取、非 Microsoft Entra 令牌的存储库权限,以及 Microsoft Entra 作为 arm 令牌受众的身份验证)
- 查看和列出注册表策略(配置 保留策略、 注册表范围的隔离启用状态、 软删除启用和数据 外泄导出策略)
- 配置注册表 诊断和监视设置(诊断设置、日志、指标、用于注册表和地理复制的Webhook以及事件网格)
- 数据平面权限:
- 没有
- 控制平面权限:
容器注册表任务参与者
- 用例:分配给标识(例如 CI/CD 管道或自动化工具),这些标识需要管理 ACR 任务和任务相关的资源,而无需访问其他注册表操作或映像数据。
- 权限:授予控制平面访问权限以管理 ACR 任务,包括任务定义、运行、任务代理池、快速任务(使用
az acr build
快速生成和快速运行az acr run
)、任务日志和任务标识。 不包括数据平面权限或对任务外部注册表配置的访问权限。- 控制平面权限:
- 管理 ACR 任务、任务执行、任务代理池、快速任务(使用
az acr build
快速构建和使用az acr run
快速运行)、任务日志和任务标识- 授予配置 ACR 任务的系统分配的托管标识的权限。 注意:若要管理 ACR 任务的用户分配的托管标识,需要单独的
Managed Identity Operator
角色。 - 授予管理 ACR 任务的自动清除的权限
- 对于已启用 ABAC 的注册表,ACR 任务、快速生成和快速运行没有在存储库中推送、拉取或删除映像和标记的默认数据平面权限。
- 属于已启用 ABAC 的注册表的 ACR 任务必须将
Container Registry Repository Reader/Writer/Contributor
和Container Registry Repository Catalog Lister
角色分配给任务标识,才能执行数据平面操作。 - 对于快速构建和快速运行,调用快速任务的实体(调用方)必须被分配
Container Registry Repository Reader/Writer/Contributor
和Container Registry Repository Catalog Lister
角色,以便执行数据平面的操作。
- 属于已启用 ABAC 的注册表的 ACR 任务必须将
- 授予配置 ACR 任务的系统分配的托管标识的权限。 注意:若要管理 ACR 任务的用户分配的托管标识,需要单独的
- 管理 ACR 任务、任务执行、任务代理池、快速任务(使用
- 数据平面权限:
- 没有
- 控制平面权限:
容器注册表传输管道参与者
- 用例:分配给 CI/CD 管道或自动化流程,这些流程需要管理 ACR 传输管道,以便跨网络、租户或气隙边界移动项目。 当传输必须流经中间 Azure 存储帐户以桥接隔离环境时,此角色是理想的。
- 权限:授予控制平面访问权限,以使用中间存储帐户配置和操作 ACR 导入/导出传输管道,从而在断开连接或分段的环境中安全地传输项目。 不包括数据平面权限、更广泛的注册表访问权限或管理其他 Azure 资源类型(例如存储帐户或密钥保管库)的权限。
- 控制平面权限:
- 管理 ACR 传输管道,以便跨网络、租户或气隙边界使用中间存储帐户在注册表之间传输项目(导入管道、导出管道和导入/导出管道运行)
- 数据平面权限:
- 没有
- 控制平面权限:
容器注册表数据导入程序和数据读取器
- 用例:分配给需要使用
az acr import
从其他注册表导入映像的标识(如 CI/CD 管道)。 该角色还允许读取镜像库中的映像和制品,以验证导入操作是否成功。 - 权限:授予控制平面访问权限以使用
az acr import
触发映像导入,同时授予数据平面访问权限以拉取映像和项目、查看存储库内容、开放容器计划 (OCI) 引用、标签和项目流配置。 不允许推送或修改注册表中的任何内容。- 控制平面权限:
- 数据平面权限:
- 拉取注册表中存储库内的映像和项目
- 查看和列出 OCI 引用项目
- 查看和列出映像和项目元数据(例如标记)
- 在注册表中查看和列出存储库(映像名称)
- 查看存储库和映像的工件流式处理配置(例如查看存储库策略以自动转换工件流式处理,以及查看映像的工件流式处理配置)
数据平面角色
以下内置角色为数据平面角色。 将这些角色分配给需执行数据平面操作(与注册表中存储的映像和项目交互)但无需管理注册表控制平面权限的标识。
适用的角色和角色行为取决于注册表的“角色分配权限模式”。这在 Azure 门户的“属性”边栏选项卡中可见。 有关 Microsoft Entra ABAC 的详细信息,请参阅 Microsoft Entra 存储库权限。
容器注册表存储库读取者
- 用例:分配给容器主机节点、业务流程协调程序、漏洞扫描程序或仅需要拉取映像和读取存储库元数据的开发人员,而无需推送或修改内容。
- 权限:授予数据平面只读访问权限,以拉取映像和项目,以及查看标记、存储库、开放容器计划 (OCI) 引用和项目流式处理配置。 不包括任何控制平面权限或写入权限。
- 控制平面权限:
- 没有
- 数据平面权限:
- 拉取注册表中存储库内的映像和项目
- 查看和列出 OCI 引用项目
- 查看和列出映像和项目元数据(例如标记)
- 在注册表中查看和列出存储库(映像名称)
- 查看存储库和映像的工件流式处理配置(例如查看存储库策略以自动转换工件流式处理,以及查看映像的工件流式处理配置)
- 不授予存储库目录列表权限。
- ABAC 支持:支持可选的Microsoft Entra ABAC 条件,以将角色分配范围限定为特定存储库。
- 控制平面权限:
容器注册表存储库编写器
- 用例:分配给 CI/CD 管道、自动化工具或开发人员,这些开发人员需要推送和拉取容器映像、管理标记以及处理项目,而无需控制注册表配置或设置。 另外分配给负责给映像签名、作为受信供应链一部分的自动化流程或服务。
- 权限:授予数据平面访问权限,以推送和拉取映像和项目、读取/管理标记、读取/管理 OCI 引用,以及为存储库和映像启用(但不禁用)项目流式处理。 不包括任何控制平面权限。
- 控制平面权限:
- 没有
- 数据平面权限:
- 在注册表中的存储库中推送和拉取映像和项目
- 创建、查看和列出 OCI 引用项目
- 管理图像和工件元数据,例如标记(创建、读取、列出、重新标记和取消标记)
- 在注册表中查看和列出存储库(映像名称)
- 为存储库和映像配置 项目流式处理 (例如为自动项目流式转换设置存储库策略,并为特定映像启用(但未禁用)项目流式转换)
- 不授予存储库目录列表权限。
- ABAC 支持:支持可选的Microsoft Entra ABAC 条件,以将角色分配范围限定为特定存储库。
- 控制平面权限:
容器注册表存储库参与者
- 用例:分配给负责管理映像生命周期和清理的标识或服务。
- 权限:授予 读取、写入、更新和删除 镜像和工件、读取/管理/删除标记、读取/管理/删除 OCI 引用者的权限,以及为存储库和镜像启用/禁用工件流式传输。 不包括任何控制平面权限。
- 控制平面权限:
- 没有
- 数据平面权限:
- 推送、拉取和删除注册表中存储库内的映像和项目
- 创建、查看、列出和删除 OCI 引用项目
- 管理和删除映像及项目元数据,例如标记(创建、读取、列出、重新标记、取消标记和删除标记)
- 在注册表中查看和列出存储库(映像名称)
- 为存储库和映像配置 项目流式处理 (例如为自动项目流式转换设置存储库策略,并为特定映像启用/禁用 项目流转换)
- 不授予存储库目录列表权限。
- ABAC 支持:支持可选的Microsoft Entra ABAC 条件,以将角色分配范围限定为特定存储库。
- 控制平面权限:
容器注册表存储库目录列表程序
- 用例:分配给需要 列出注册表中的所有存储库 的标识或服务,例如 CI/CD 管道、开发人员、漏洞扫描程序或注册表监视和审核工具。
- 权限:授予数据平面访问权限以 列出注册表中的所有存储库 。 不包括任何控制平面权限或推送/拉取映像的权限。
- 控制平面权限:
- 没有
- 数据平面权限:
- 列出注册表中的所有存储库(映像名称)
- 授予调用
{loginServerURL}/acr/v1/_catalog
或{loginServerURL}/v2/_catalog
注册表 API 终结点以列出注册表中的所有存储库的权限。 - 不授予查看或列出存储库中的镜像、制品、标记或 OCI 引用的权限。
- ABAC 支持:此角色不支持 Entra ABAC 条件。 因此,此角色分配将 授予列出注册表中的所有存储库的权限 。
- 控制平面权限:
AcrQuarantineWriter
- 用例:分配给管理隔离映像的自动化进程或服务,例如 CI/CD 管道和漏洞扫描程序。
- 权限:管理注册表中的隔离映像。
- 控制平面权限:
- 没有
- 数据平面权限:
- 管理 隔离的项目 (列出和读取隔离的项目,修改项目隔离状态)
- ABAC 支持:不支持 Microsoft Entra ABAC 条件。
- 控制平面权限:
AcrQuarantineReader
- 用例:分配给负责列出、读取和拉取隔离的映像的自动化流程或服务,例如 CI/CD 管道和漏洞扫描程序。
- 权限:在注册表中列出、读取和提取已隔离的镜像。
- 控制平面权限:
- 没有
- 数据平面权限:
- 查看和列出(但不管理)隔离的项目
- ABAC 支持:不支持 Microsoft Entra ABAC 条件。
- 控制平面权限:
特权角色
以下内置角色是特权角色。 仅将这些角色分配给受信任的标识,因为这些角色可以访问各种资源和权限,不仅限于 Azure 容器注册表,而是包括其他资源类型。
Azure 建议尽可能少使用特权 控制平面角色 或 数据平面角色 ,而不是这些特权角色。
适用的角色和角色行为取决于注册表的“角色分配权限模式”。这在 Azure 门户的“属性”边栏选项卡中可见。 有关 Microsoft Entra ABAC 的详细信息,请参阅 Microsoft Entra 存储库权限。
所有者
- 用例:分配给需要能够全面控制注册表的管理员,包括可以将角色分配给其他标识,并执行注册表的角色分配。
- 权限:完全访问所有注册表控制平面的操作,包括 角色分配权限 和管理 基于 Microsoft Entra 的存储库权限。
- 控制平面权限:
- 创建、更新、查看、列出和删除注册表(包括 注册表 SKU 和 可用性区域和区域冗余)
- 管理注册表的角色分配
- 管理 异地复制
- 管理 连接的注册表
- 管理 ACR 任务、任务执行、任务代理池、快速任务(使用
az acr build
快速构建和使用az acr run
快速运行)、任务日志和任务标识- 授予配置 ACR 任务的系统分配的托管标识的权限。 注意:若要管理 ACR 任务的用户分配的托管标识,需要单独的
Managed Identity Operator
角色。 - 授予管理 ACR 任务的自动清除的权限
- 对于已启用 ABAC 的注册表,ACR 任务、快速生成和快速运行没有在存储库中推送、拉取或删除映像和标记的默认数据平面权限。
- 属于已启用 ABAC 的注册表的 ACR 任务必须将
Container Registry Repository Reader/Writer/Contributor
和Container Registry Repository Catalog Lister
角色分配给任务标识,才能执行数据平面操作。 - 对于快速构建和快速运行,调用快速任务的实体(调用方)必须被分配
Container Registry Repository Reader/Writer/Contributor
和Container Registry Repository Catalog Lister
角色,以便执行数据平面的操作。
- 属于已启用 ABAC 的注册表的 ACR 任务必须将
- 授予配置 ACR 任务的系统分配的托管标识的权限。 注意:若要管理 ACR 任务的用户分配的托管标识,需要单独的
- 配置 项目缓存规则和凭据集
- 使用
az acr import
触发 ACR 映象导入 - 管理 ACR 传输管道,以便跨网络、租户或气隙边界使用中间存储帐户在注册表之间传输项目(导入管道、导出管道和导入/导出管道运行)
- 更新注册表配置
- 配置注册表的系统分配的托管标识。 注意:若要管理注册表中用户分配的托管标识,需要单独的
Managed Identity Operator
角色。 - 配置网络访问设置(公用网络访问、 受信任的服务绕过、 网络防火墙规则、 专用数据终结点和 虚拟网络(VNET)服务终结点)
- 配置 专用终结点设置 (设置、批准、拒绝和列出专用终结点连接和专用链接资源)
- 配置身份验证访问设置(管理员用户登录凭据、匿名拉取、基于非Microsoft Entra令牌的存储库权限,以及Microsoft Entra身份验证作为 ARM 令牌受众)
- 配置注册表策略(配置 保留策略、 隔离启用、 软删除启用和数据 外泄导出策略)
- 配置注册表的系统分配的托管标识。 注意:若要管理注册表中用户分配的托管标识,需要单独的
- 配置注册表 诊断和监视设置(诊断设置、日志、指标、用于注册表和地理复制的Webhook以及事件网格)
- 查看注册表使用情况(存储使用情况)
- 数据平面权限:
- 无 - 已启用 ABAC 的注册表没有内置所有者角色的数据平面权限。
- 控制平面权限:
贡献者
- 用例:分配给需要管理注册表但不需要角色分配权限的标识。
- 权限:对所有注册表控制平面作(角色分配权限除外)的完全访问权限。
- 控制平面权限:
- 与所有者相同,但不包括管理或执行注册表的角色分配。 仅授予查看和列出注册表中的角色分配的权限。
- 注意:若要管理或执行注册表的角色分配,需要该
Role Based Access Control Administrator
角色。 建议使用此不太特权的角色来替代Owner
角色,以管理角色分配。
- 数据平面权限:
- 无 - 已启用 ABAC 的注册表没有内置参与者角色的数据平面权限。
- 控制平面权限:
读取者
- 用例:分配给仅需查看和列出注册表及其配置的标识。
- 权限:授予与所有者和参与者相同的可见性,但仅限于只读操作。 不允许在注册表上创建、更新或删除作业。
- 控制平面权限:
- 查看和列出注册表(包括 注册表 SKU 和 可用性区域和区域冗余)
- 查看和列出注册表的角色分配(但不对其进行管理)
- 查看和列出异地复制
- 查看和列出连接的注册表
- 查看和列出 ACR 任务、任务运行、 任务代理池、 任务日志和 任务标识
- 查看和列出 项目缓存规则和凭据集
- 查看和列出 ACR 传输管道,以便跨网络、租户或气隙边界使用中间存储帐户在注册表之间传输项目(导入管道、导出管道和导入/导出管道运行)
- 查看注册表配置
- 查看并列出 注册表的系统分配托管标识和用户分配的托管标识
- 查看和列出网络访问设置(公用网络访问、 受信任的服务绕过、 网络防火墙规则、 专用数据终结点和 虚拟网络(VNET)服务终结点)
- 查看和列出 专用终结点设置 (设置、批准、拒绝和列出专用终结点连接和专用链接资源)
- 查看和列出身份验证访问设置(管理员用户登录凭据、匿名拉取、非 Microsoft Entra 令牌的存储库权限,以及 Microsoft Entra 作为 arm 令牌受众的身份验证)
- 查看和列出注册表策略(配置 保留策略、 隔离启用、 软删除启用和数据 外泄导出策略)
- 查看和列出注册表的诊断和监视设置(诊断设置、日志、指标、注册表和异地复制的 Webhook 以及事件网格)
- 查看注册表使用情况(存储使用情况)
- 数据平面权限:
- 无 - 已启用 ABAC 的注册表没有内置读取者角色的数据平面权限。
- 控制平面权限:
后续步骤
- 有关这些内置角色的高级概述(包括受支持的角色分配标识类型、执行角色分配的步骤以及常见方案的建议角色),请参阅 Azure 容器注册表 RBAC 内置角色。
- 若要使用可选的 Entra ABAC 条件执行角色分配,以将角色分配限定为特定存储库,请参阅 基于 Entra 的存储库权限。
- 有关创建自定义角色以满足特定需求和要求的详细信息,请参阅 Azure 容器注册表自定义角色。