You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS SSO用户切换指定角色的CloudTrail事件及通知实现咨询

问题解答

1. SSO用户切换角色对应的CloudTrail事件名称

你观察到的DescribeAccountAttributes只是角色切换过程中附带触发的次要事件,最适配SSO角色切换场景的核心事件是AssumeRoleWithSAML。

当AWS SSO(IAM Identity Center)用户通过主页切换到目标账号的角色时,CloudTrail会记录该事件,其中包含追踪所需的关键信息:

  • userIdentity.sessionContext.sessionIssuer.arn:SSO身份提供商的ARN,可确认请求来自SSO系统
  • requestParameters.roleArn:目标角色的ARN(即你需要追踪的developer-full-access角色)
  • requestParameters.principalArn:发起切换的SSO用户ARN
  • recipientAccountId:目标账号ID

部分场景下可能会伴随GetRoleCredentials事件,但AssumeRoleWithSAML是角色切换动作的直接记录,是追踪该场景的最优选择。

2. 实现追踪与邮件通知的方案

方案一:纯EventBridge + SNS(无需自定义代码)

可以直接通过EventBridge创建规则实现需求,无需Lambda:

  • 配置EventBridge规则的事件模式,指定:
    • 事件源为aws.cloudtrail
    • 事件名称为AssumeRoleWithSAML
    • requestParameters.roleArn匹配你目标角色的ARN(如arn:aws:iam::[目标账号ID]:role/developer-full-access)
  • 将SNS主题设为规则目标,给主题订阅指定收件人的邮箱地址

该方案无需代码开发,但邮件内容为原始CloudTrail事件JSON,可读性较弱。

方案二:EventBridge + Lambda + SNS/SES(自定义邮件内容)

如果需要输出更友好、易读的通知内容(比如明确列出用户名、切换角色、时间等信息),可以引入Lambda:

  • EventBridge规则过滤出符合条件的AssumeRoleWithSAML事件后,触发Lambda函数
  • Lambda解析事件中的关键字段,生成格式化的邮件内容(例如:"用户XXX于YYYY-MM-DD HH:MM切换至账号XXX的developer-full-access角色")
  • Lambda调用SNS主题或SES发送自定义邮件

该方案灵活性更高,能满足定制化通知的需求。

内容的提问来源于stack exchange,提问作者Benjamin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 17:40:58