簡體   English   中英

如何生成我的所有 IAM 角色以及在 AWS 上使用這些角色的服務的列表

[英]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 日志記錄。

  1. 在 AWS 控制台 go CloudWatch -> Logs -> Insight。
  2. 在“選擇日志組”字段 select 中,您在上面配置的 CloudTrail stream。
  3. 輸入以下查詢
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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM