Amazon-Web-Services

如何使用“aws iam”顯示 IAM 使用者的角色?

  • August 13, 2021

如果我跑步$ 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"
   }
}

如果我想獲取role此登錄名的列表,我該怎麼做aws iam

IAM User沒有IAM Roles,因此您無法列出它們。

IAM 使用者可以擁有允許其承擔其他角色的****IAM 策略(直接附加或通過IAM 組成員身份附加) 。

您可以列出直接附加的策略:

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

希望有幫助:)

遺憾的是,使用 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-rwservice。使用者user2可以承擔角色finance

引用自:https://serverfault.com/questions/962397