[英]How can I generate a list of all my IAM roles and the services using those roles on AWS
是否有推荐的工具来执行此操作?
有没有办法以编程方式执行此操作? 如果是这样,以编程方式完成此任务的最佳方法是什么?
要获取实际使用的列表,您可以使用AWS CloudWatch Insight您还需要配置 CloudTrail 以将日志 stream 发送到 CloudWatch 。
这种方法有两个缺点。 它仅显示实际使用的角色。 并且您需要已启用 CloudTrail 日志记录。
fields userAgent, requestParameters.roleArn
| filter eventName == "AssumeRole"
| stats count(*) by userAgent, requestParameters.roleArn
请注意,此查询将包括所有 AWS 身份。 要像您要求的那样仅限于 AWS 服务,请使用以下过滤 AWS 服务的查询。
fields userAgent, requestParameters.roleArn
| filter eventName == "AssumeRole"
| filter userIdentity.type == "AWSService"
| stats count(*) by userAgent, requestParameters.roleArn
有关使用 CloudWatch Insight 分析日志的更多信息。
如果你想获得角色列表以及哪些服务可以使用它们,这里有一个 aws cli 命令,它可能会让你接近你想要的。
$ aws iam list-roles --query 'Roles[].[RoleName,AssumeRolePolicyDocument.Statement[].Principal.Service]' --output json
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.