как показать роли пользователя IAM с помощью 'aws iam'?

Если я запустил $ aws iam get-user --user-name anthony , я получаю такой результат

{
    "User": {
        "Path": "/",
        "UserName": "anthony",
        "UserId": "E2S4XZIL9NRNSBIDBI5U6",
        "Arn": "arn:aws:iam::123456:user/anthony",
        "CreateDate": "2015-04-03T01:22:11Z",
        "PasswordLastUsed": "2019-04-10T01:38:14Z"
    }
}

Если я хочу получить список роли , который имеет этот логин, как я могу это сделать с aws iam ]?

0
задан 10 April 2019 в 13:26
2 ответа

Пользователь IAM не имеет ролей IAM , поэтому вы не можете их перечислить.

Пользователь IAM может иметь Политики IAM (присоединенные напрямую или через членство в IAM Group ), которые позволяют ему брать на себя другие роли .

] Вы можете перечислить непосредственно прикрепленные политики:

aws iam list-attached-user-policies --user-name ...

Членство в группах:

aws iam list-groups-for-user --user-name ...

И оттуда политики групп:

aws iam list-attached-group-policies --group-name ... # group names from previous step

Надеюсь, что это поможет :)

2
ответ дан 4 December 2019 в 13:20

К сожалению, с помощью инструмента AWS cli невозможно перечислить все роли, которые может взять на себя пользователь. В качестве обходного пути вы можете перечислить все роли со связанными пользователями и найти своего пользователя в этом выводе.

Следующая команда перечисляет все роли и фильтры (через инструмент jq) для имени роли и связанных пользователей:

aws iam list-roles --output=json | jq '.Roles[] |  {role: .RoleName, user: .AssumeRolePolicyDocument.Statement[].Principal.AWS} | select(.user != null)'

Пример вывода:

{
  "role": "dev-ops-rw",
  "user": "arn:aws:iam::123456789012:user/user1"
} 
{
  "role": "finance",
  "user": "arn:aws:iam::123456789012:user/user2"
}
{
  "role": "service",
  "user": "arn:aws:iam::123456789012:user/user1"
} 

В этом выводе показано, что user1 может принимать роли dev-ops-rw и service. Пользователь user2 может взять на себя роль finance.

0
ответ дан 13 August 2021 в 12:07

Теги

Похожие вопросы