Skip to content

Обзор

Сервис IAM (Identity and Access Management) позволяет организовать доступ к ресурсам таким образом, что операции над ресурсами могут выполнять только пользователи с необходимыми правами доступа.

Общая информация

При любой операции, подразумевающей доступ к ресурсу, есть субъект и объект доступа.

  • Субъект доступа – это тот, кто запрашивает доступ. Субъектом в IAM выступает пользовательский или сервисный аккаунт.
  • Объект доступа – это то, к чему запрашивается доступ. Объектом в IAM выступает ресурс, проект или организация. Ресурс может находиться как в рамках проекта, так и в рамках организации: например, биллинг-аккаунт – это ресурс организации.

Для управления доступом IAM использует политику Role-Based Access Management (RBAC): возможность доступа к объекту определяется ролью, которая назначена субъекту.

Роль – это фиксированный набор разрешений. В IAM предусмотрены базовые роли viewer, editor, admin, а также сервисные роли. Роль назначается аккаунту в рамках определенной области видимости: то есть, действие роли ограничивается данной областью видимости.

Область видимости (scope) – это ограниченная область, в пределах которой применяются разрешения, предусмотренные ролью. В ролевой модели IAM предусмотрены следующие области видимости:

  • организация,
  • проект,
  • ресурс.

Пример:
Если аккаунту назначена роль admin:

  • на ресурс – аккаунт может управлять только этим ресурсом;
  • на проект – аккаунт может управлять проектом и всеми ресурсами в его рамках,
  • на организацию – аккаунт может управлять всеми проектами и ресурсами в организации.

Чтобы предоставить доступ к ресурсу (или к проекту, или к организации), назначьте аккаунту роль на этот ресурс/проект/организацию.

Если вы хотите запретить аккаунту доступ к ресурсу, отзовите у него соответствующие роли на этот ресурс и на те области видимости, от которых наследуются права доступа.

Наследование прав доступа

В IAM существует наследование прав доступа от родительской области видимости к дочерней – от организации к проектам, от проектов к ресурсам.

Пример:
У аккаунта отсутствуют роли editor или admin на проекте. Если аккаунту назначить роль storage.bucket.admin, то:

  • аккаунт сможет управлять всеми ресурсами Object Storage в проекте;
  • не сможет управлять другими ресурсами проекта.

Пример:
У аккаунта есть назначенные роли editor на проект и admin на ресурс. Если отозвать роль admin на ресурс, то аккаунт все равно сможет редактировать этот ресурс, так как все ресурсы наследуют роль editor от проекта.

Как работает IAM

  1. Перед выполнением любой операции с ресурсом сервис IAM проверяет, разрешена ли эта операция для пользователя.
  2. Если роль, назначенная пользователю, предусматривает разрешение на выполнение этой операции, то IAM не блокирует выполнение операции; в противном случае выводится ошибка.

Типы аккаунтов

В MWS предусмотрены следующие типы аккаунтов:

  • Пользовательский аккаунт – учетная запись реального пользователя, зарегистрировавшегося в MWS.
  • Сервисный аккаунт – учетная запись, создаваемая пользователем для программного взаимодействия. Используется приложениями, скриптами (например, AWS CLI, SDK и т.п.), а также сервисами для выполнения операций от их имени. Как правило, имеет ограниченный набор разрешений. Подробнее...

Активация

Сервис IAM доступен в проекте по умолчанию. Дополнительных действий по его активации не требуется.