本文介绍了从AWS CLI查找服务器上正在使用的角色的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在一个附加了IAM角色的EC2实例上,希望能够验证我是否确实在AWS CLI中使用此角色。

我想象着能够调用这样的东西(但在CLI文档中找不到任何类似的东西):

$ aws get-current-role-details

此功能是否存在?

推荐答案

使用AWS STS commandget-caller-identity

$ aws sts get-caller-identity
{
    "UserId": "AIDAxxx",
    "Account": "xxx",
    "Arn": "arn:aws:iam::xxx:user/Tyrone321"
}

然后,您可以获取角色名称,并使用iam list-role-policies内联策略和iam-list-attached-role-policies附加托管策略(感谢@Dimitry K的标注)向IAM查询角色详细信息。

$ aws iam list-attached-role-policies --role-name Tyrone321
{
  "AttachedPolicies": [
  {
    "PolicyName": "SomePolicy",
    "PolicyArn": "arn:aws:iam::aws:policy/xxx"
  },
  {
    "PolicyName": "AnotherPolicy",
    "PolicyArn": "arn:aws:iam::aws:policy/xxx"
  } ]
}
要获取实际的IAM权限,请使用aws iam get-policy获取默认策略版本ID,然后使用aws iam get-policy-version和版本ID检索实际的策略语句。如果IAM主体是用户,则命令为aws iam list-attached-user-policiesaws iam get-user-policy。有关详细信息,请参阅AWS IAM CLI reference

这篇关于从AWS CLI查找服务器上正在使用的角色的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-28 16:46