Управление доступом в сервисе 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-токен для сервисного аккаунта.
C помощью такого 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.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.
Роль auditor
в настоящее время доступна во всех сервисах Yandex Cloud, за исключением:
- Yandex Data Streams;
- Yandex Query.
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 на сервисный аккаунт |