确定担任 IAM 角色的 AWS IAM 用户
Identify AWS IAM user that assumed an IAM role
我正在开发一个从 Amazon GuardDuty 接收新发现的系统。我们组织中的大多数访问权限都委托给 IAM 角色,而不是直接委托给用户,因此调查结果通常来自假定角色的操作,而 GuardDuty 调查结果的参与者身份如下所示:
"resource": {
"accessKeyDetails": {
"accessKeyId": "ASIALXUWSRBXSAQZECAY",
"principalId": "AROACDRML13PHK3X7J1UL:129545928468",
"userName": "my-permitted-role",
"userType": "AssumedRole"
},
"resourceType": "AccessKey"
},
我知道 accessKeyId
是在安全主体执行 iam:AssumeRole
操作时创建的。但是我分不清谁首先担任了这个角色!如果是 IAM 用户,我想知道用户名。有没有办法以编程方式将临时 AWS STS 密钥(以 ASIA
... 开头)映射回原始用户?
理想情况下,我正在寻找一种在 30 秒内 运行 秒的方法,这样我就可以将它用作我的安全事件管道的一部分,以利用缺失的信息丰富 GuardDuty 调查结果。
我已经看过 aws-cli 并发现 aws cloudtrail lookup-events
但它无法将查询范围缩小到特定的 accessKeyId,因此需要 loooong 时间至 运行。我探索了 CloudTrail 控制台,但它的功能与此处的 aws-cli 差不多。我尝试将 CloudTrail 日志保存到 S3 并 运行 进行 Athena 查询,但这也很慢。
这似乎是一个普遍的要求。有什么明显的我遗漏的东西吗?
实际上,aws-cli 可以 对会话执行查找!只需确保将 ResourceName
指定为查找属性中的属性键即可。
$ aws cloudtrail lookup-events \
--lookup-attributes 'AttributeKey=ResourceName,AttributeValue=ASIALXUWSRBXSAQZECAY' \
--query 'Events[*].Username'
[
"the.user@example.com"
]
我正在开发一个从 Amazon GuardDuty 接收新发现的系统。我们组织中的大多数访问权限都委托给 IAM 角色,而不是直接委托给用户,因此调查结果通常来自假定角色的操作,而 GuardDuty 调查结果的参与者身份如下所示:
"resource": {
"accessKeyDetails": {
"accessKeyId": "ASIALXUWSRBXSAQZECAY",
"principalId": "AROACDRML13PHK3X7J1UL:129545928468",
"userName": "my-permitted-role",
"userType": "AssumedRole"
},
"resourceType": "AccessKey"
},
我知道 accessKeyId
是在安全主体执行 iam:AssumeRole
操作时创建的。但是我分不清谁首先担任了这个角色!如果是 IAM 用户,我想知道用户名。有没有办法以编程方式将临时 AWS STS 密钥(以 ASIA
... 开头)映射回原始用户?
理想情况下,我正在寻找一种在 30 秒内 运行 秒的方法,这样我就可以将它用作我的安全事件管道的一部分,以利用缺失的信息丰富 GuardDuty 调查结果。
我已经看过 aws-cli 并发现 aws cloudtrail lookup-events
但它无法将查询范围缩小到特定的 accessKeyId,因此需要 loooong 时间至 运行。我探索了 CloudTrail 控制台,但它的功能与此处的 aws-cli 差不多。我尝试将 CloudTrail 日志保存到 S3 并 运行 进行 Athena 查询,但这也很慢。
这似乎是一个普遍的要求。有什么明显的我遗漏的东西吗?
实际上,aws-cli 可以 对会话执行查找!只需确保将 ResourceName
指定为查找属性中的属性键即可。
$ aws cloudtrail lookup-events \
--lookup-attributes 'AttributeKey=ResourceName,AttributeValue=ASIALXUWSRBXSAQZECAY' \
--query 'Events[*].Username'
[
"the.user@example.com"
]