Управление доступом в Container Registry
В этом разделе вы узнаете:
- На какие ресурсы можно назначить роль.
- Какие роли действуют в сервисе.
- Какие роли необходимы для того или иного действия.
Об управлении доступом
Все операции в Yandex Cloud проверяются в сервисе Yandex Identity and Access Management. Если у субъекта нет необходимых разрешений, сервис вернет ошибку.
Чтобы выдать разрешения к ресурсу, назначьте роли на этот ресурс субъекту, который будет выполнять операции. Роли можно назначить аккаунту на Яндексе, сервисному аккаунту, локальному пользователю, федеративному пользователю, группе пользователей, системной группе или публичной группе. Подробнее читайте в разделе Как устроено управление доступом в Yandex Cloud.
Назначать роли на ресурс могут пользователи, у которых на этот ресурс есть роль container-registry.admin или одна из следующих ролей:
admin;resource-manager.admin;organization-manager.admin;resource-manager.clouds.owner;organization-manager.organizations.owner.
На какие ресурсы можно назначить роль
Роль можно назначить на организацию, облако и каталог. Роли, назначенные на организацию, облако или каталог, действуют и на вложенные ресурсы.
Вы также можете назначать роли на отдельные ресурсы сервиса:
Через консоль управления
Через Yandex Cloud CLI вы можете назначить роли на следующие ресурсы:
Через Terraform вы можете назначить роли на следующие ресурсы:
Через API Yandex Cloud вы можете назначить роли на следующие ресурсы:
Какие роли действуют в сервисе
На диаграмме показано, какие роли есть в сервисе и как они наследуют разрешения друг друга. Например, в editor входят все разрешения viewer. После диаграммы дано описание каждой роли.
Сервисные роли
container-registry.viewer
Роль container-registry.viewer позволяет просматривать информацию о реестрах, Docker-образах и репозиториях, а также об облаке, каталоге и квотах сервиса.
Пользователи с этой ролью могут:
- просматривать список реестров и информацию о них и о назначенных правах доступа к ним, а также о настройках политик доступа для IP-адресов и настройках сканера уязвимостей;
- просматривать информацию о репозиториях и назначенных правах доступа к ним;
- просматривать список политик автоматического удаления Docker-образов и информацию о таких политиках;
- просматривать список результатов тестирования политик автоматического удаления Docker-образов и информацию о таких результатах;
- просматривать список Docker-образов в реестре и информацию о них, а также скачивать Docker-образы из реестра;
- просматривать историю сканирования Docker-образов на уязвимости и информацию о результатах такого сканирования;
- просматривать информацию о квотах сервиса Container Registry;
- просматривать информацию об облаке и каталоге.
container-registry.editor
Роль container-registry.editor позволяет управлять реестрами, Docker-образами, репозиториями и их настройками.
Пользователи с этой ролью могут:
- просматривать список реестров и информацию о них, а также создавать, изменять и удалять реестры;
- просматривать информацию о назначенных правах доступа к реестрам, а также о настройках политик доступа для IP-адресов;
- просматривать информацию о настройках сканера уязвимостей, а также создавать, изменять и удалять правила сканирования;
- просматривать список Docker-образов в реестре и информацию о них, а также создавать, скачивать, изменять и удалять Docker-образы;
- запускать и отменять сканирование Docker-образов на уязвимости, а также просматривать историю сканирования и информацию о его результатах;
- просматривать информацию о репозиториях и назначенных правах доступа к ним, а также создавать и удалять репозитории;
- просматривать список политик автоматического удаления Docker-образов и информацию о таких политиках, а также создавать, изменять и удалять такие политики;
- запускать тестирование политик автоматического удаления Docker-образов, просматривать список результатов тестирования и информацию о таких результатах;
- просматривать информацию о квотах сервиса Container Registry;
- просматривать информацию об облаке и каталоге.
Включает разрешения, предоставляемые ролью container-registry.viewer.
container-registry.admin
Роль container-registry.admin позволяет управлять доступом к реестрам и репозиториям, а также управлять реестрами, Docker-образами, репозиториями и их настройками.
Пользователи с этой ролью могут:
- просматривать список реестров и информацию о них, а также создавать, изменять и удалять реестры;
- просматривать информацию о назначенных правах доступа к реестрам и изменять такие права доступа;
- просматривать информацию о настройках политик доступа для IP-адресов и изменять такие настройки;
- просматривать информацию о настройках сканера уязвимостей, а также создавать, изменять и удалять правила сканирования;
- просматривать список Docker-образов в реестре и информацию о них, а также создавать, скачивать, изменять и удалять Docker-образы;
- запускать и отменять сканирование Docker-образов на уязвимости, а также просматривать историю сканирования и информацию о его результатах;
- просматривать информацию о репозиториях, а также создавать и удалять репозитории;
- просматривать информацию о назначенных правах доступа к репозиториям и изменять такие права доступа;
- просматривать список политик автоматического удаления Docker-образов и информацию о таких политиках, а также создавать, изменять и удалять такие политики;
- запускать тестирование политик автоматического удаления Docker-образов, просматривать список результатов тестирования и информацию о таких результатах;
- просматривать информацию о квотах сервиса Container Registry;
- просматривать информацию об облаке и каталоге.
Включает разрешения, предоставляемые ролью container-registry.editor.
container-registry.images.pusher
Роль container-registry.images.pusher позволяет управлять Docker-образами и репозиториями, а также просматривать информацию о Docker-образах, репозиториях и реестрах.
Пользователи с этой ролью могут:
- просматривать список реестров и информацию о них;
- просматривать список Docker-образов в реестре и информацию о них, а также загружать, скачивать, обновлять, и удалять Docker-образы;
- создавать и удалять репозитории.
container-registry.images.puller
Роль container-registry.images.puller позволяет скачивать Docker-образы из реестра и просматривать список реестров и Docker-образов, а также информацию о них.
container-registry.images.scanner
Роль container-registry.images.scanner позволяет сканировать Docker-образы на наличие уязвимостей, а также просматривать информацию о реестрах, Docker-образах и репозиториях, а также об облаке, каталоге и квотах сервиса.
Пользователи с этой ролью могут:
- просматривать список Docker-образов в реестре и информацию о них, а также скачивать Docker-образы из реестра;
- запускать и отменять сканирование Docker-образов на уязвимости, а также просматривать историю сканирования и информацию о его результатах;
- просматривать список реестров и информацию о них и о назначенных правах доступа к ним, а также о настройках политик доступа для IP-адресов и настройках сканера уязвимостей;
- просматривать информацию о репозиториях и назначенных правах доступа к ним;
- просматривать список политик автоматического удаления Docker-образов и информацию о таких политиках;
- просматривать список результатов тестирования политик автоматического удаления Docker-образов и информацию о таких результатах;
- просматривать информацию о квотах сервиса Container Registry;
- просматривать информацию об облаке и каталоге.
Включает разрешения, предоставляемые ролью container-registry.viewer.
Более подробную информацию о сервисных ролях читайте на странице Роли в документации сервиса Yandex Identity and Access Management.
Примитивные роли
Примитивные роли позволяют пользователям совершать действия во всех сервисах Yandex Cloud.
auditor
Роль auditor предоставляет разрешения на чтение конфигурации и метаданных любых ресурсов Yandex Cloud без возможности доступа к данным.
Например, пользователи с этой ролью могут:
- просматривать информацию о ресурсе;
- просматривать метаданные ресурса;
- просматривать список операций с ресурсом.
Роль auditor — наиболее безопасная роль, исключающая доступ к данным сервисов. Роль подходит для пользователей, которым необходим минимальный уровень доступа к ресурсам Yandex Cloud.
viewer
Роль viewer предоставляет разрешения на чтение информации о любых ресурсах Yandex Cloud.
Включает разрешения, предоставляемые ролью auditor.
В отличие от роли auditor, роль viewer предоставляет доступ к данным сервисов в режиме чтения.
editor
Роль editor предоставляет разрешения на управление любыми ресурсами Yandex Cloud, кроме назначения ролей другим пользователям, передачи прав владения организацией и ее удаления, а также удаления ключей шифрования Key Management Service.
Например, пользователи с этой ролью могут создавать, изменять и удалять ресурсы.
Включает разрешения, предоставляемые ролью viewer.
admin
Роль admin позволяет назначать любые роли, кроме resource-manager.clouds.owner и organization-manager.organizations.owner, а также предоставляет разрешения на управление любыми ресурсами Yandex Cloud, кроме передачи прав владения организацией и ее удаления.
Прежде чем назначить роль admin на организацию, облако или платежный аккаунт, ознакомьтесь с информацией о защите привилегированных аккаунтов.
Включает разрешения, предоставляемые ролью editor.
Вместо примитивных ролей мы рекомендуем использовать роли сервисов. Такой подход позволит более гранулярно управлять доступом и обеспечить соблюдение принципа минимальных привилегий.
Подробнее о примитивных ролях см. в справочнике ролей 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-образом. |