Управление доступом в сервисе Identity and Access Management
В этом разделе вы узнаете:
- на какие ресурсы можно назначить роль;
- какие роли действуют в сервисе;
- какие роли необходимы для того или иного действия.
Об управлении доступом
Все операции в Yandex Cloud проверяются в сервисе Yandex Identity and Access Management. Если у субъекта нет необходимых разрешений, сервис вернет ошибку.
Чтобы выдать разрешения к ресурсу, назначьте роли на этот ресурс субъекту, который будет выполнять операции. Роли можно назначить аккаунту на Яндексе, сервисному аккаунту, локальному пользователю, федеративному пользователю, группе пользователей, системной группе или публичной группе. Подробнее читайте в разделе Как устроено управление доступом в Yandex Cloud.
Назначать роли на ресурс могут пользователи, у которых на этот ресурс есть роль iam.admin или одна из следующих ролей:
admin;resource-manager.admin;organization-manager.admin;resource-manager.clouds.owner;organization-manager.organizations.owner.
На какие ресурсы можно назначить роль
Роль можно назначить на организацию, облако и каталог. Роли, назначенные на организацию, облако или каталог, действуют и на вложенные ресурсы.
На сервисный аккаунт роль можно назначить в консоли управления
Какие роли действуют в сервисе
На диаграмме показано, какие роли есть в сервисе и как они наследуют разрешения друг друга. Например, в editor входят все разрешения viewer. После диаграммы дано описание каждой роли.
Сервисные роли
iam.serviceAccounts.user
Роль iam.serviceAccounts.user позволяет пользователю просматривать список сервисных аккаунтов и информацию о них, а также выполнять операции от имени сервисного аккаунта.
Например, если при создании группы виртуальных машин пользователь укажет сервисный аккаунт, сервис IAM проверяет, что у этого пользователя есть права на использование этого сервисного аккаунта.
iam.serviceAccounts.admin
Роль iam.serviceAccounts.admin позволяет управлять сервисными аккаунтами, доступом к ним и их ключами, а также позволяет пользователю получать IAM-токен для сервисного аккаунта.
Пользователи с этой ролью могут:
- просматривать список сервисных аккаунтов и информацию о них, а также создавать, использовать, изменять и удалять сервисные аккаунты;
- просматривать информацию о назначенных правах доступа к сервисным аккаунтам и изменять такие права доступа;
- получать IAM-токен для сервисного аккаунта;
- просматривать список API-ключей сервисных аккаунтов и информацию о таких ключах, а также создавать, изменять и удалять их;
- просматривать список статических ключей доступа сервисных аккаунтов и информацию о таких ключах, а также создавать, изменять и удалять их;
- просматривать информацию об авторизованных ключах сервисных аккаунтов, а также создавать, изменять и удалять их;
- просматривать информацию о каталоге и его настройки.
В некоторых сервисах для выполнения операций необходим сервисный аккаунт, например в Instance Groups или Managed Service for Kubernetes. Если вы указали сервисный аккаунт в запросе, то IAM проверит, что у вас есть права на использование этого аккаунта.
iam.serviceAccounts.accessKeyAdmin
Роль iam.serviceAccounts.accessKeyAdmin позволяет управлять статическими ключами доступа сервисных аккаунтов.
Пользователи с этой ролью могут:
- просматривать список статических ключей доступа сервисных аккаунтов и информацию о таких ключах;
- создавать, изменять и удалять статические ключи доступа сервисных аккаунтов.
iam.serviceAccounts.apiKeyAdmin
Роль iam.serviceAccounts.apiKeyAdmin позволяет управлять API-ключами сервисных аккаунтов.
Пользователи с этой ролью могут:
- просматривать список API-ключей сервисных аккаунтов и информацию о таких ключах;
- создавать, изменять и удалять API-ключи сервисных аккаунтов.
iam.serviceAccounts.authorizedKeyAdmin
Роль iam.serviceAccounts.authorizedKeyAdmin позволяет просматривать информацию об авторизованных ключах сервисных аккаунтов, а также создавать, изменять и удалять такие ключи.
iam.serviceAccounts.keyAdmin
Роль iam.serviceAccounts.keyAdmin позволяет управлять статическими ключами доступа, API-ключами и авторизованными ключами сервисных аккаунтов.
Пользователи с этой ролью могут:
- просматривать список статических ключей доступа сервисных аккаунтов и информацию о таких ключах, а также создавать, изменять и удалять статические ключи доступа;
- просматривать список API-ключей сервисных аккаунтов и информацию о таких ключах, а также создавать, изменять и удалять API-ключи;
- просматривать информацию об авторизованных ключах сервисных аккаунтов, а также создавать, изменять и удалять такие ключи.
Включает разрешения, предоставляемые ролями iam.serviceAccounts.accessKeyAdmin, iam.serviceAccounts.apiKeyAdmin и iam.serviceAccounts.authorizedKeyAdmin.
iam.serviceAccounts.tokenCreator
Роль iam.serviceAccounts.tokenCreator позволяет пользователю получать IAM-токен для сервисного аккаунта.
С помощью такого IAM-токена пользователь сможет имперсонироваться в сервисный аккаунт и выполнять действия, разрешенные для этого сервисного аккаунта.
Роль не позволяет пользователю изменять права доступа или удалять сервисный аккаунт.
iam.serviceAccounts.federatedCredentialViewer
Роль iam.serviceAccounts.federatedCredentialViewer позволяет просматривать список привязок в федерациях сервисных аккаунтов и информацию о таких привязках.
iam.serviceAccounts.federatedCredentialEditor
Роль iam.serviceAccounts.federatedCredentialEditor позволяет просматривать список привязок в федерациях сервисных аккаунтов и информацию о таких привязках, а также создавать и удалять привязки.
Включает разрешения, предоставляемые ролью iam.serviceAccounts.federatedCredentialViewer.
iam.workloadIdentityFederations.auditor
Роль iam.workloadIdentityFederations.auditor позволяет просматривать метаданные федераций сервисных аккаунтов.
iam.workloadIdentityFederations.viewer
Роль iam.workloadIdentityFederations.viewer позволяет просматривать информацию о федерациях сервисных аккаунтов.
Включает разрешения, предоставляемые ролью iam.workloadIdentityFederations.auditor.
iam.workloadIdentityFederations.user
Роль iam.workloadIdentityFederations.user позволяет использовать федерации сервисных аккаунтов.
iam.workloadIdentityFederations.editor
Роль iam.workloadIdentityFederations.editor позволяет просматривать информацию о федерациях сервисных аккаунтов, а также создавать, изменять и удалять такие федерации.
Включает разрешения, предоставляемые ролью iam.workloadIdentityFederations.viewer.
iam.workloadIdentityFederations.admin
Роль iam.workloadIdentityFederations.admin позволяет просматривать информацию о федерациях сервисных аккаунтов, а также создавать, изменять, использовать и удалять такие федерации.
Включает разрешения, предоставляемые ролями iam.workloadIdentityFederations.editor и iam.workloadIdentityFederations.user.
iam.userAccounts.refreshTokenViewer
Роль iam.userAccounts.refreshTokenViewer позволяет просматривать списки refresh-токенов федеративных пользователей. Роль назначается на организацию.
iam.userAccounts.refreshTokenRevoker
Роль iam.userAccounts.refreshTokenRevoker позволяет отзывать refresh-токены федеративных пользователей. Роль назначается на организацию.
iam.auditor
Роль iam.auditor позволяет просматривать информацию о сервисных аккаунтах и их ключах, а также об операциях с ресурсами и квотах сервиса.
Пользователи с этой ролью могут:
- просматривать список сервисных аккаунтов и информацию о них;
- просматривать информацию о назначенных правах доступа к сервисным аккаунтам;
- просматривать список API-ключей сервисных аккаунтов и информацию о таких ключах;
- просматривать список статических ключей доступа сервисных аккаунтов и информацию о таких ключах;
- просматривать информацию об авторизованных ключах сервисных аккаунтов;
- просматривать список операций и информацию об операциях с ресурсами сервиса;
- просматривать информацию о квотах сервиса Identity and Access Management;
- просматривать информацию об облаке и его настройки;
- просматривать информацию о каталоге и его настройки.
iam.viewer
Роль iam.viewer позволяет просматривать информацию о сервисных аккаунтах и их ключах, а также об операциях с ресурсами и квотах сервиса.
Пользователи с этой ролью могут:
- просматривать список сервисных аккаунтов и информацию о них;
- просматривать информацию о назначенных правах доступа к сервисным аккаунтам;
- просматривать список API-ключей сервисных аккаунтов и информацию о таких ключах;
- просматривать список статических ключей доступа сервисных аккаунтов и информацию о таких ключах;
- просматривать информацию об авторизованных ключах сервисных аккаунтов;
- просматривать список операций и информацию об операциях с ресурсами сервиса;
- просматривать информацию о квотах сервиса Identity and Access Management;
- просматривать информацию об облаке и его настройки;
- просматривать информацию о каталоге и его настройки.
Включает разрешения, предоставляемые ролью iam.auditor.
iam.editor
Роль iam.editor позволяет управлять сервисными аккаунтами и их ключами, управлять каталогами, а также просматривать информацию об операциях с ресурсами сервиса.
Пользователи с этой ролью могут:
- просматривать список сервисных аккаунтов и информацию о них, а также создавать, использовать, изменять и удалять их;
- просматривать список API-ключей сервисных аккаунтов и информацию о таких ключах, а также создавать, изменять и удалять их;
- просматривать список статических ключей доступа сервисных аккаунтов и информацию о таких ключах, а также создавать, изменять и удалять их;
- просматривать информацию об авторизованных ключах сервисных аккаунтов, а также создавать, изменять и удалять их;
- просматривать информацию о назначенных правах доступа к сервисным аккаунтам;
- просматривать список операций и информацию об операциях с ресурсами сервиса;
- просматривать информацию о квотах сервиса Identity and Access Management;
- просматривать информацию об облаке и его настройки;
- просматривать информацию о каталогах и их настройки;
- создавать, изменять, удалять и настраивать каталоги.
Включает разрешения, предоставляемые ролью iam.viewer.
iam.admin
Роль iam.admin позволяет управлять сервисными аккаунтами, доступом к ним и их ключами, управлять каталогами, просматривать информацию о квотах и операциях с ресурсами сервиса, а также позволяет пользователю получать IAM-токен для сервисного аккаунта.
Пользователи с этой ролью могут:
- просматривать список сервисных аккаунтов и информацию о них, а также создавать, использовать, изменять и удалять их;
- просматривать информацию о назначенных правах доступа к сервисным аккаунтам и изменять такие права доступа;
- получать IAM-токен для сервисного аккаунта;
- просматривать список API-ключей сервисных аккаунтов и информацию о таких ключах, а также создавать, изменять и удалять их;
- просматривать список статических ключей доступа сервисных аккаунтов и информацию о таких ключах, а также создавать, изменять и удалять их;
- просматривать информацию об авторизованных ключах сервисных аккаунтов, а также создавать, изменять и удалять их;
- просматривать информацию о федерациях удостоверений;
- просматривать список операций и информацию об операциях с ресурсами сервиса;
- просматривать информацию о квотах сервиса Identity and Access Management;
- просматривать информацию об облаке и его настройки;
- просматривать информацию о каталогах и их настройки;
- создавать, изменять, удалять и настраивать каталоги.
Включает разрешения, предоставляемые ролями iam.editor и iam.serviceAccounts.admin.
Примитивные роли
Примитивные роли позволяют пользователям совершать действия во всех сервисах 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.
| Действие | Методы | Необходимые роли |
|---|---|---|
| Просмотр информации | ||
| Получение IAM-токена | create |
роли не требуются, только аутентификация |
| Просмотр информации о пользователе | get, getByLogin |
роли не требуются, только аутентификация |
| Просмотр информации о сервисном аккаунте | get, list, listOperations |
iam.serviceAccounts.user или viewer на сервисный аккаунт |
| Просмотр информации о каталоге или облаке | get, list |
iam.auditor на каталог или облако |
| Просмотр информации о любом ресурсе | get, list |
viewer на этот ресурс |
| Управление ресурсами | ||
| Создание сервисных аккаунтов в каталоге | create |
iam.serviceAccounts.admin на каталог |
| Изменение, удаление сервисных аккаунтов | update, delete |
editor на сервисный аккаунт |
| Создание и удаление ключей для сервисного аккаунта | create, delete |
iam.serviceAccounts.accessKeyAdmin, iam.serviceAccounts.apiKeyAdmin, iam.serviceAccounts.authorizedKeyAdmin, iam.serviceAccounts.keyAdminна сервисный аккаунт |
| Управление доступом к ресурсам | ||
| Добавление нового пользователя в облако | setAccessBindings |
admin на облако |
| Сделать нового пользователя владельцем облака | setAccessBindings, updateAccessBindings |
resource-manager.clouds.owner на это облако |
| Назначение роли, отзыв роли и просмотр назначенных ролей на ресурс | setAccessBindings, updateAccessBindings, listAccessBindings |
admin на этот ресурс |
| Получение IAM-токена для сервисного аккаунта | create |
iam.serviceAccounts.tokenCreator на сервисный аккаунт |