Может ли пользователь IAM взять на себя роль, если он не описан в политике доверия роли?

Можно ли взять на себя роль, если для нее 9X_amazon-iam нет политики доверия? Если у данного пользователя 9X_amazon-iam IAM есть присоединенная политика на основе 9X_amazon-iam идентификации, в которой говорится, что 9X_amazon-web-services он / она может вызывать sts: AssumeRole 9X_aws-iam для данной роли (внутри той же учетной записи), но 9X_aws-iam пользователь не описан в политике доверия 9X_aws этой роли, будет ли он / она сможете взять 9X_aws-iam на себя роль?

Обычно для предоставления прав 9X_iam пользователю достаточно только политики 9X_aws-iam на основе ресурсов или политики на основе 9X_amazon удостоверений, но разве они разные для ролей?

Спасибо

11
0
2
Общее количество ответов: 2

Ответ #1

Ответ на вопрос: Может ли пользователь IAM взять на себя роль, если он не описан в политике доверия роли?

сможет ли он / она взять на себя эту роль?

Да, конечно, она 9X_aws-iam-roles / она сможет это сделать, если политика 9X_iam доверия позволяет учетной записи взять на 9X_amazon-web-services себя роль. Например, роль должна иметь политику 9X_aws-iam-roles доверия:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": ""
      },
      "Action": "sts:AssumeRole",
      "Condition": {}
    }
  ]
}

Таким образом, ваш пользователь IAM не должен явно указываться 9X_amazon-iam в политике доверия, но политика доверия 9X_aws-iam обязательна, и, по крайней мере, вы должны 9X_aws-iam указать учетную запись, которая может ее 9X_aws принять. Но недостатком является то, что 9X_amazon-web-services любой пользователь или роль IAM из учетной записи с разрешениями sts:AssumeRole может 9X_aws-iam-roles принять эту роль.

у него нет политики доверия?

Требуется 9X_amazon-iam политика доверия, поэтому у вас не может 9X_aws быть роли без такой политики.

Обновить

Предположим, у 9X_aws-iam-roles вас есть роль с политикой доверия:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::xxxxxx:user/UserA"
      },
      "Action": "sts:AssumeRole",
      "Condition": {}
    }
  ]
}

Роль может 9X_amazon-iam принимать только пользователь A. Пользователь Б не сможет принять 9X_aws-iam-roles эту политику, независимо от его разрешений.

12
2

  • @Jaxx Чтобы убедиться, что это ясно: у вас не может быть политики доверия без Принципала, но вы можете ...

Ответ #2

Ответ на вопрос: Может ли пользователь IAM взять на себя роль, если он не описан в политике доверия роли?

Политика доверия определяет "Принципала", который 9X_amazon может принимать на себя роль, к которой 9X_aws-iam он прикреплен. Этим принципалом могут быть 9X_amazon-iam различные типы объектов, такие как сервис 9X_amazon-iam AWS (например, для создания роли, применяемой 9X_amazon-iam к экземплярам EC2) или идентификатор другой 9X_amazon-web-services учетной записи AWS (для предоставления доступа 9X_amazon-web-services между учетными записями). Его нельзя опускать 9X_aws-iam-roles или использовать подстановочный знак.

Если 9X_aws-iam принципал идентифицирует учетную запись 9X_amazon AWS, значит, он доверяет учетной записи AWS в целом. В некотором смысле, все пользователи 9X_amazon-iam в этой учетной записи были включены в политику 9X_amazon-web-services доверия, но для принятия этой роли им также необходимо 9X_aws разрешение на выполнение соответствующего 9X_amazon-iam вызова AssumeRole API. Это делегирует ответственность 9X_aws-iam администратору другой учетной записи AWS 9X_aws-iam-roles за принятие решения о том, какие пользователи 9X_aws-iam могут взять на себя эту роль.

Это можно использовать 9X_amazon-web-services для создания иерархической организации учетных 9X_aws-iam записей:

  • Все пользователи создаются в одной учетной записи AWS, у которой нет других ресурсов.
  • Фактические ресурсы - экземпляры EC2, сегменты S3 и т. д. - находятся в отдельных учетных записях AWS.
  • Каждая учетная запись определяет роли, предоставляющие доступ к некоторым из этих сервисов, с политикой доверия, в которой центральная учетная запись указана как Принципал. В этих ролях не указываются отдельные пользователи или группы как доверенные, они просто определяют наборы разрешений.
  • Каждому из пользователей центральной учетной записи предоставляется доступ AssumeRole к соответствующему подмножеству ролей в разных учетных записях. Эффект аналогичен использованию групп или управляемых политик для предоставления нескольким пользователям одинакового доступа.

2
0