AWS — тип пользователей и то, как они могут взять на себя роль IAM

Вопрос

Уточните, как пользователь в AWS может взять на себя роль IAM. Это сбивает меня с толку, потому что кажется, что пользователь/идентификация в AWS может отличаться в зависимости от контекста, такого как пользователь IAM, пользователь пула пользователей Cognito, федеративный пользователь Cognito.

Фон

Попытка понять отношения между пользователями и личностями в AWS и то, как каждый пользователь может взять на себя роль IAM.

Кроме того, в AWS понятия пользователь/неаутентифицированный и идентификация (аутентифицированный пользователь) кажутся разными понятиями, и оба могут принимать на себя роль IAM, следовательно, это выглядит как аутентифицированный. > не является обязательным условием для принятия на себя роли IAM, что также сбивает меня с толку.

  1. IAM User/Identity (идентификация = пользователь, прошедший проверку подлинности, например, через AWS CLI с AWS ID/Secret)
  2. Пул пользователей Cognito Пользователь/Идентификация (аутентифицированный)
  3. Пул федеративных удостоверений Cognito Пользователь/Идентификация (аутентифицированный)
  4. Существуют ли другие типы пользователей?

Пользователь IAM (аутентифицированный)

Я полагаю, что это личность пользователя, идентифицированного при входе в консоль AWS или через CLI/SDK с идентификатором/секретом ключа доступа AWS. Этот пользователь может взять на себя роль IAM с помощью Переключение на роль (консоль управления AWS) или программно предполагаемая роль с помощью CLI/SDK. Это верно?


Пользователь пула пользователей Cognito

Я считаю, что этот пользователь существует в Cognito только в учетной записи AWS и не имеет ничего общего с пользователем IAM. В настоящее время нет способа сопоставить пользователя IAM с пользователем Cognito (ни пулом пользователей, ни пулом федеративных удостоверений), как в Добавить пользователей AWS IAM в пул AWS Cognito.

Похоже, существует несколько способов назначить роль IAM пользовательскому пулу Cognito пользователю или удостоверению (пользователю, прошедшему проверку подлинности).

Один из способов — назначить роль IAM группе пула пользователей Cognito, в которую добавляются пользователи. Аутентифицированный пользователь в группе пула пользователей может автоматически взять на себя роль IAM.

введите здесь описание изображения

Другой способ — использовать пул федеративных удостоверений Cognito путем объединения с пулом пользователей Cognito и назначения роли IAM пулу федеративных удостоверений. В этом случае пользователь/идентификатор пула пользователей Cognito (аутентифицированный) эквивалентен пользователю/идентификатору пула федеративных удостоверений Cognito (аутентифицированный).

Я предполагаю, что пользователь будет аутентифицирован с помощью рабочего процесса Cognito User Pool через Cognito Federated Identity Pool. Затем пользователь может взять на себя роль IAM, сопоставленную с группой пула пользователей Cognito, И роль IAM, сопоставленную с федеративным удостоверением Cognito (аутентифицированным).

Верны ли они, или пользователь сможет взять на себя только одну из ролей IAM? Что делать, если в организации AWS несколько аккаунтов. Должна ли каждая учетная запись создавать свой пул пользователей Cognito для управления одним и тем же набором пользователей или иметь один пул пользователей Cognito в учетной записи и совместно использовать пул пользователей Cognito между учетными записями через феданные удостоверения Cognito, указывающие на пул пользователей?

введите здесь описание изображения


Пользователь пула федеративных удостоверений Cognito

Если федерация не связана с Cognito, например с Facebook, то пул федеративных удостоверений Cognito пользователь/идентификация не имеет ничего общего с пользователем/идентификацией пула пользователей Cognito и пользователем это фейсбук. Пользователь может взять на себя роль IAM, сопоставленную с пулом федеративных удостоверений Cognito, даже если он не прошел проверку подлинности. Это верно?

введите здесь описание изображения


Помощь

Я просматривал видеоролики AWS Re:Invent, документацию AWS, но мне сложно четко понять термины и значения Cognito. Если есть четкие, простые, интуитивно понятные объяснения, просьба предоставить ссылки.


person mon    schedule 28.05.2018    source источник
comment
Моей команде потребовалось 20 совещаний, чтобы разработать нашу стратегию управления пользователями AWS. В конце концов, у нас нет пользователей и есть только роли. Но во время настройки у нас есть пользователи (например, пользователи IAM) для настройки учетной записи. Мы делаем это с помощью шаблонов CloudFormation.   -  person Niklas R.    schedule 28.05.2018
comment
Я мало что знаю о Cognito, но то, что вы сказали о пользователях и ролях, верно.   -  person John Rotenstein    schedule 29.05.2018