Управление доступом в Container Registry
В этом разделе вы узнаете:
- На какие ресурсы можно назначить роль.
- Какие роли действуют в сервисе.
- Какие роли необходимы для того или иного действия.
Об управлении доступом
Все операции в Yandex Cloud проверяются в сервисе Yandex Identity and Access Management. Если у субъекта нет необходимых разрешений, сервис вернет ошибку.
Чтобы выдать разрешения к ресурсу, назначьте роли на этот ресурс субъекту, который будет выполнять операции. Роли можно назначить аккаунту на Яндексе, сервисному аккаунту, федеративным пользователям, группе пользователей или системной группе. Подробнее читайте в разделе Как устроено управление доступом в Yandex Cloud.
Назначать роли на ресурс могут те, у кого есть роль admin
, resource-manager.clouds.owner
или organization-manager.organizations.owner
на этот ресурс.
На какие ресурсы можно назначить роль
Как и в других сервисах, роль можно назначить на облако, каталог или сервисный аккаунт. Роли, назначенные на облако или каталог, действуют и на вложенные ресурсы.
Кроме того, роль можно назначить на отдельные ресурсы сервиса. Список таких ресурсов зависит от интерфейсов Yandex Cloud, через которые назначаются роли:
- в консоли управления можно назначать роли только на реестр;
- через YC CLI или API Yandex Cloud — на реестр и репозиторий.
Какие роли действуют в сервисе
На диаграмме показано, какие роли есть в сервисе и как они наследуют разрешения друг друга. Например, в editor
входят все разрешения viewer
. После диаграммы дано описание каждой роли.
Сервисные роли
container-registry.viewer
Роль container-registry.viewer
позволяет читать информацию о реестрах, Docker-образах и репозиториях.
container-registry.editor
Роль container-registry.editor
позволяет создавать, редактировать и удалять реестры, Docker-образы и репозитории. Включает все разрешения, которые дает роль container-registry.viewer
.
container-registry.admin
Роль container-registry.admin
позволяет управлять доступом к реестрам, Docker-образам и репозиториям. Включает все разрешения, которые дают роли container-registry.viewer
и container-registry.editor
.
container-registry.images.pusher
Роль container-registry.images.pusher
позволяет управлять Docker-образами и просматривать информацию о ресурсах сервиса (реестрах, Docker-образах, репозиториях).
container-registry.images.puller
Роль container-registry.images.puller
позволяет скачивать Docker-образы, а также просматривать информацию о ресурсах сервиса (реестрах, Docker-образах, репозиториях).
container-registry.images.scanner
Роль container-registry.images.scanner
позволяет сканировать Docker-образы на наличие уязвимостей, просматривать информацию о ресурсах сервиса (реестрах, Docker-образах, репозиториях).
Более подробную информацию о сервисных ролях читайте на странице Роли в документации сервиса Yandex Identity and Access Management.
Примитивные роли
auditor
Позволяет просматривать конфигурацию и метаданные сервиса без возможности доступа к данным.
viewer
Позволяет просматривать информацию о ресурсах.
editor
Позволяет управлять ресурсами, например создавать, изменять и удалять их.
admin
Позволяет управлять ресурсами и доступом к ним.
Подробнее о примитивных ролях см. в справочнике ролей Yandex Cloud.
Какие роли мне необходимы
В таблице ниже перечислено, какие роли нужны для выполнения указанного действия. Вы всегда можете назначить роль, которая дает более широкие разрешения, нежели указанная. Например, назначить editor
вместо viewer
.
Действие | Методы | Необходимые роли |
---|---|---|
Просмотр информации | ||
Получение списка реестров. | list |
container-registry.viewer на каталог. |
Получение информации о реестрах, Docker-образах и репозиториях. | get , list |
container-registry.viewer на реестр с указанным ресурсом. |
Скачивание Docker-образа. | pull |
container-registry.images.puller на указанный реестр или репозиторий. |
Получение информации о политиках удаления и результатах их тестовых запусков. | get , list , getDryRunResult , listDryRunResults |
container-registry.viewer на реестр или репозиторий, для которого создана политика удаления. |
Управление ресурсами | ||
Создание реестров в каталоге. | create |
container-registry.editor на каталог. |
Изменение и удаление реестров. | update , delete |
container-registry.editor на указанный реестр. |
Создание Docker-образов с использованием базовых Docker-образов из реестра. | — | container-registry.images.puller на указанный реестр или репозиторий. |
Создание Docker-образов без использования базовых Docker-образов из реестра. | — | Не требует ролей. |
Загрузка Docker-образов в реестр. | push |
container-registry.images.pusher на указанный реестр или репозиторий. |
Удаление Docker-образов. | delete |
container-registry.images.pusher на реестр или репозиторий с Docker-образом. |
Создание, изменение, удаление и тестовый запуск политики удаления. | create , update , delete , dryRun |
container-registry.editor на реестр или репозиторий, для которого создана политика удаления. |
Управление доступом к ресурсам | ||
Назначение роли, отзыв роли и просмотр назначенных ролей на каталог, облако или реестр. | setAccessBindings , updateAccessBindings , listAccessBindings |
admin на этот ресурс. |
Сканирование на наличие уязвимостей | ||
Запуск сканирования Docker-образа. | scan |
container-registry.images.scanner на реестр или репозиторий с Docker-образом. |
Получение результатов сканирования Docker-образа. | get , getLast , list , listVulnerabilities |
container-registry.images.scanner на реестр или репозиторий с Docker-образом. |