Общие сведения о разрешениях Microsoft Entra и назначениях ролей в реестре контейнеров Azure

Реестр контейнеров Azure (ACR) предлагает набор встроенных ролей , которые обеспечивают управление разрешениями на основе Microsoft Entra в реестрe ACR.

С помощью управления доступом на основе ролей Azure (RBAC) можно назначить встроенную роль пользователям, управляемым удостоверениям или субъектам-службам, чтобы предоставить разрешения на основе Microsoft Entra, определенные в роли.

Вы также можете определить и назначить пользовательские роли с точными разрешениями, адаптированными к вашим потребностям, если встроенные роли не соответствуют вашим требованиям.

Поддерживаемые типы идентичностей назначения ролей

Роли ACR можно назначить следующим типам удостоверений, чтобы предоставить разрешения реестру:

Замечание

Подключенные реестры не поддерживают назначения ролей Azure или управление разрешениями на основе Microsoft Entra.

Выполнение назначений ролей для предоставления разрешений

Для выполнения назначений ролей необходимо иметь роль Owner или роль Role Based контроль доступа Administrator в реестре. Вы можете назначать роли с помощью портала Azure, Azure CLI или Azure PowerShell.

Сведения о том, как назначить роль удостоверению, см. в разделе "Действия по добавлению назначения ролей".

Назначение ролей области определенным репозиториям

Используйте управление доступом на основе атрибутов Microsoft Entra (ABAC) для управления разрешениями репозитория, основанного на Microsoft Entra. Эта функция позволяет назначать роли определенным репозиториям в реестре.

Общие сведения о разрешениях репозитория Microsoft Entra ABAC, включая встроенные роли ACR, поддерживающие условия Microsoft Entra ABAC, см. в разделе разрешения репозитория на основе Microsoft Entra.

Кроме того, ознакомьтесь со справочником по каталогу ролей реестра контейнеров Azure для списка встроенных ролей, поддерживающих условия Microsoft Entra ABAC.

Примените принцип наименьшей привилегии, назначив только разрешения, необходимые для идентификатора для выполнения его предполагаемой функции.

Применимые встроенные роли и поведение ролей зависят от режима разрешений назначения ролей реестра:

  • RBAC Registry + ABAC Repository Permissions: поддерживает стандартные назначения ролей RBAC с необязательными условиями Microsoft Entra ABAC. определение границ для определенных репозиториев.
  • Разрешения реестра RBAC: поддерживает только стандартные назначения RBAC без условий ABAC.

Чтобы просмотреть этот параметр на портале Azure, перейдите в реестр и выберите "Свойства " в разделе "Параметры " в меню службы.

В следующем списке описаны распространенные сценарии реестра контейнеров и их рекомендуемые роли в зависимости от режима разрешений назначения ролей реестра.

  • Сценарий: субъекты удостоверения, которым необходимо получать образы и проверять артефакты цепочки поставок, например разработчики, конвейеры и оркестраторы развертывания контейнеров (Служба Azure Kubernetes, Контейнеры приложений Azure, Экземпляры контейнеров Azure, рабочие области Машинное обучение Azure)

    • Роль: Container Registry Repository Reader
    • Назначение. Предоставляет доступ только для чтения плоскости данных к извлекаемым изображениям и артефактам, тегам просмотра, репозиториям, ссылкам Open Container Initiative (OCI) и конфигурациям потоковой передачи артефактов. Не включает ни одного уровня управления или разрешений на запись. Не предоставляет разрешения на доступ к списку каталогов репозиториев для перечисления любых репозиториев в реестре.
    • Поддержка ABAC: Эта роль позволяет использовать необязательные условия Microsoft Entra ABAC для ограничения назначения ролей на конкретные репозитории в реестре.
  • Сценарий: идентичности, такие как конвейеры сборки CI/CD и разработчики, которые создают и отправляют образы, а также управляют метками изображений

    • Роль: Container Registry Repository Writer
    • Разрешения. Предоставляет доступ к плоскости данных для отправки, извлечения и обновления (но не удаления) изображений и артефактов, чтения и управления тегами, чтения и управления ссылками OCI и включения (но не отключения) потоковой передачи артефактов для репозиториев и изображений. Не включает разрешения уровня управления. Не предоставляет разрешения на доступ к списку каталогов репозиториев для перечисления любых репозиториев в реестре.
    • Поддержка ABAC: Эта роль позволяет использовать необязательные условия Microsoft Entra ABAC для ограничения назначения ролей на конкретные репозитории в реестре.
  • Сценарий: идентификаторы, которым необходимо удалить изображения, артефакты, теги и ссылки OCI

    • Роль: Container Registry Repository Contributor
    • Разрешения: предоставляет разрешения на чтение, запись, обновление и удаление изображений и артефактов, чтение и управление и удаление тегов, чтение и управление и удаление ссылок OCI и включение и отключение потоковой передачи артефактов для репозиториев и изображений. Не включает разрешения уровня управления. Не предоставляет разрешения на доступ к списку каталогов репозиториев для перечисления любых репозиториев в реестре.
    • Поддержка ABAC: Эта роль позволяет использовать необязательные условия Microsoft Entra ABAC для ограничения назначения ролей на конкретные репозитории в реестре.
  • Сценарий: идентификации, которые необходимы для перечисления всех репозиториев в реестре

    • Роль: Container Registry Repository Catalog Lister
    • Разрешения: предоставляет доступ уровня данных для перечисления всех репозиториев в реестре, включая конечные точки API {loginServerURL}/acr/v1/_catalog или {loginServerURL}/v2/_catalog реестра. Не включает разрешения контрольной плоскости или разрешения для загрузки и выгрузки изображений.
    • Поддержка ABAC: эта роль не поддерживает условия Microsoft Entra ABAC. Таким образом, назначение роли предоставляет разрешения на перечисление всех репозиториев в реестре.
  • Сценарий: конвейеры, удостоверения и разработчики, которые подписывают изображения

    • Для подписывания изображений с помощью OCI-рефереров, таких как Notary Project:
      • Роль: Container Registry Repository Writer
      • Разрешения: предоставляет доступ к платформе данных для добавления подписей в виде ссылок OCI, прикрепленных к изображениям и артефактам. Не включает разрешения уровня управления.
      • Поддержка ABAC: Эта роль позволяет использовать необязательные условия Microsoft Entra ABAC для ограничения назначения ролей на конкретные репозитории в реестре.
    • Для подписывания изображений с помощью Docker Content Trust (DCT):
      • Поддержка подписывания образов с помощью DCT для реестров с включенной функцией ABAC отсутствует.
  • Сценарий: разработчики и скрипты командной строки, использующие az CLI для аутентификации и входа в реестр (с помощью команды az acr login), а также для выполнения других команд плоскости управления az CLI для реестра. Обратите внимание, что удостоверения, которые нуждаются только в извлечении изображения, отправке или удалении разрешений, не требуют следующей роли. Этот сценарий касается исключительно уточнения роли, которая предоставляет разрешения для выполнения команд az CLI в реестре, включая az acr login и другие команды az CLI для плоскости управления в реестре. Эта роль также предоставляет разрешения на создание, обновление или удаление реестров ACR, а также разрешения уровня управления для управления конфигурацией реестра. Эта роль не предоставляет разрешения плоскости данных для извлечения, отправки или удаления изображений; они предоставляются отдельными ролями плоскости данных.

    • Роль: Container Registry Contributor and Data Access Configuration Administrator
    • Поддержка ABAC: эта роль не поддерживает условия ABAC Microsoft Entra, так как она ограничена уровнем реестра и предоставляет разрешения на аутентификацию в реестре с помощью az CLI (через команду az acr login), а также на управление параметрами и конфигурациями плоскости управления всего реестра.
  • Сценарий: каналы, удостоверения и разработчики, которым необходимо создавать, обновлять или удалять реестры ACR.

  • Сценарий: конвейеры, инженеры инфраструктуры или инструменты наблюдения/мониторинга плоскости управления, необходимые для составления списков реестров и просмотра конфигурации реестров, но без доступа к изображениям реестра

    • Роль: Container Registry Configuration Reader and Data Access Configuration Reader
    • Разрешения: эквивалент Container Registry Contributor and Data Access Configuration Administrator роли только для чтения. Предоставляет доступ к плоскости управления для просмотра и списка реестров и проверки конфигураций реестра, но не изменяет их. Не включает операции плоскости управления данными (например, загрузки и извлечения изображений) или возможности назначения ролей.
    • Поддержка ABAC: эта роль не поддерживает условия Microsoft Entra ABAC, так как роль распространяется на уровень реестра, предоставляя разрешения на чтение параметров и конфигураций уровня управления для всего реестра.
  • Сценарий. Сканеры уязвимостей и средства, которые должны выполнять аудит реестров и конфигураций реестра, а также доступ к образам реестра для проверки уязвимостей

    • Роли: Container Registry Repository Reader, Container Registry Repository Catalog Listerи Container Registry Configuration Reader and Data Access Configuration Reader
    • Разрешения: предоставляет доступ к управляющей плоскости для просмотра и составления списка реестров ACR, а также для аудита конфигураций реестра с целью аудита и соблюдения нормативных требований. Кроме того, предоставляет разрешения на извлечение изображений, артефактов, просмотр тегов, а также на сканирование и анализ изображений на наличие уязвимостей.
    • Поддержка ABAC: ACR рекомендует, чтобы сканеры уязвимостей и мониторы имели полный доступ к уровню данных всех репозиториев в реестре. Таким образом, назначайте эти роли без условий Microsoft Entra ABAC для предоставления разрешений на роли без их ограничения в конкретных репозиториях.
  • Сценарий: конвейеры и идентичности, которые оркестрируют ACR-задачи

  • Сценарий: идентификации, такие как конвейеры и разработчики, импортирующие образы с помощью az acr import

    • Роль: Container Registry Data Importer and Data Reader
    • Разрешения: предоставляет доступ уровня управления для активации импорта изображений с помощью az acr import, а также доступ к контрольной плоскости для проверки успешности импорта (загрузка импортированных изображений и артефактов, просмотр содержимого репозитория, список ссылок OCI и проверка импортированных тегов). Не допускает отправку или изменение содержимого в реестре.
    • Поддержка ABAC. Эта роль не поддерживает условия Microsoft Entra ABAC, так как роль распространяется на уровень реестра, предоставляя разрешения на импорт образов в любой репозиторий в реестре. Он также предоставляет разрешения на чтение изображений во всех репозиториях в реестре.
  • Сценарий: Идентификаторы, такие как каналы обработки данных и разработчики, которые управляют конвейерами передачи ACR для передачи артефактов между реестрами с использованием промежуточных учетных записей хранения через сеть, тенант или границы изолированных сред

    • Роль: Container Registry Transfer Pipeline Contributor
    • Разрешения. Предоставляет доступ к плоскости управления для управления конвейерами импорта/экспорта ACR и запусками конвейеров с использованием промежуточных учетных записей хранения. Не включает разрешения уровня данных, более широкий доступ к реестру или разрешения для управления другими типами ресурсов Azure, такими как учетные записи хранения или хранилища ключей.
    • Поддержка ABAC. Эта роль не поддерживает условия Microsoft Entra ABAC, так как роль распространяется на уровень реестра, предоставляя разрешения на управление всеми ACR-передаточными конвейерами в реестре.
  • Сценарий: Управление карантинными образами

    • Роли: AcrQuarantineReader и AcrQuarantineWriter
    • Разрешения: управление образами в карантине в реестре, включая перечисление и извлечение образов в карантине для дальнейшего проверки и изменение состояния карантина изображений. Изображения, помещенные в карантин, отправляются и не могут быть извлечены или использованы до тех пор, пока не будет снят карантин.
    • Поддержка ABAC: эта роль не поддерживает условия Microsoft Entra ABAC, так как роль спрограмментировалась на уровне реестра, предоставляя разрешения на управление всеми заблокированными образами в реестре.
  • Сценарий: разработчики или процессы, которые настраивают автоматическую очистку реестра в задачах ACR

    • Роль: Container Registry Tasks Contributor
    • Разрешения: предоставляет разрешения уровня управления для управления автоматической очисткой, которая выполняется в задачах ACR.
    • Поддержка ABAC. Эта роль не поддерживает условия MICROSOFT Entra ABAC, так как роль распространяется на уровень реестра, предоставляя разрешения на управление всеми задачами ACR в реестре.
  • Сценарий: пользователи расширения Docker для Visual Studio Code

    • Роли: Container Registry Repository Writer, Container Registry Tasks Contributorи Container Registry Contributor and Data Access Configuration Administrator
    • Разрешения: предоставляет возможности для просмотра реестров, загрузки и публикации образов, а также создания образов с помощью az acr build, поддерживая распространенные рабочие процессы разработчиков в Visual Studio Code.
    • Поддержка ABAC. ACR рекомендует пользователям Visual Studio Code иметь полный доступ к плоскости данных ко всем репозиториям в реестре. Таким образом, назначайте эти роли без условий Microsoft Entra ABAC для предоставления разрешений на роли без их ограничения в конкретных репозиториях.

Дальнейшие шаги