Для того, чтобы ваш IAM пользователь взять на себя роль конкретного имени по нескольким счетам, белый список всех необходимых ролей ВРНС явно. Это безопасный способ для этого.
"Resource": [
"arn:aws:iam::AWS-ACCOUNT-ID1:role/MyRole",
"arn:aws:iam::AWS-ACCOUNT-ID2:role/MyRole",
"arn:aws:iam::AWS-ACCOUNT-ID3:role/MyRole"
]
Вот полная политика: (AWS-СЧЕТ-ID является 12-значный номер без hypens)
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"sts:AssumeRole"
],
"Resource": [
"arn:aws:iam::AWS-ACCOUNT-ID1:role/MyRole",
"arn:aws:iam::AWS-ACCOUNT-ID2:role/MyRole",
"arn:aws:iam::AWS-ACCOUNT-ID3:role/MyRole"
]
}
]
}
Однако, глядя на вашей попытке использования группового символа вместо учетной записи идентификатора, я хотел подчеркнуть, что следующее возможно, но ставит вашу компанию под угрозу безопасности. Он нарушает principle of least privilege.
Доступ принять любую роль в любом счете AWS (небезопасных)
"Resource": [
"arn:aws:iam::*"
]
Доступ предположить 'MyRole' в любой учетной записи AWS (небезопасных)
"Resource": [
"arn:aws:iam::*:role/MyRole"
]
С помощью этого шаблона доступ, пользователь IAM может принимать «MyRole» (или любую роль) от имени вашей компании в любой сторонней учетной записи AWS.
Спасибо за ваш ответ. Фактически этот пользователь будет использоваться для опроса данных на наших клиентских счетах. Эта политика направлена на защиту нашей учетной записи, если утечка некоторых учетных данных и предотвращает их принятие всех ролей в нашем аккаунте. Подстановочный знак только позволяет нам использовать одного пользователя для определения ролей на этих сторонних учетных записях (и защищены внешним идентификатором). –