我们有一个带有 lambda 的帐户 A 和一个调用它的角色。我们有帐户 B、C、D,它们被允许假设 A 角色并调用该 lambda。
现在的问题是:我们对 lambda 的调用太多,我们想弄清楚哪些帐户最活跃地使用它。因此,在 lambda 代码中,我想知道是谁在调用它并编写一些日志或放置一些指标记录。但看起来我无法用代码找到它(至少在java中)。
我还启用了 cloudtrail 数据事件,现在在跟踪中我可以看到一些关于我的 lambda 调用的附加信息。“userIdentity”字段看起来很有希望,但它也不包含有关担任该角色的原始帐户的任何信息。唯一可能有用的信息是在承担角色操作期间提供的角色会话名称。但是 B、C、D 服务没有提供任何合理的会话名称,只是一些随机的东西。
目前我只看到两个选项,并且都需要更改依赖服务:提供帐户 ID 或服务名称作为角色会话名称,或者为每个 B、C 和 D 服务创建独立的可承担角色。
在不更改这些服务的代码的情况下,是否有任何其他可能性可以追踪到这一点?