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

如何将AWS S3事件通知中的principalId转换为操作用户名

如何将S3事件通知userIdentity中的principalId转换为操作用户名称

S3事件通知返回的principalId格式会根据触发操作的身份类型不同发生变化,你可以按照以下规则对应转换:

  • 如果是AWS账号根用户触发操作:principalId直接是对应AWS账号ID,对应的身份就是该账号的根用户。
  • 如果是IAM永久用户触发操作:principalId格式为IAM用户唯一ID:自定义会话名,你只需提取冒号前的ID部分,调用IAM接口匹配用户的UserId字段即可获取用户名。
    你可以直接用AWS CLI执行以下查询命令:
    aws iam list-users --query "Users[?UserId=='替换为冒号前的ID段'].UserName" --output text
    
  • 如果是IAM角色/临时身份触发操作:principalId格式为IAM角色唯一ID:自定义会话名,提取冒号前的ID部分,调用IAM接口匹配角色的RoleId字段即可获取角色名称。
    对应的AWS CLI查询命令如下:
    aws iam list-roles --query "Roles[?RoleId=='替换为冒号前的ID段'].RoleName" --output text
    
  • 如果是AWS服务触发操作:principalId会直接显示对应服务的服务主体标识(例如s3.amazonaws.com),该标识本身就是对应的服务名称,无需额外转换。

注意:如果操作是跨账号触发的,你需要到principalId所属的AWS账号内执行上述查询,才能获取到对应的身份名称。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 12:39:03