这里有个一般性问题。
我有一个lambda函数,它有一个指定的角色。我的AWS帐户中还有另外10个角色需要执行这个函数。很好。我可以在它们可以附加到角色的策略中分配这些权限。
我的问题是,我想知道我的lambda函数中关于调用我的主lambda函数的10个不同角色的更多信息。是否有可能获得试图执行我的函数的角色的标记?如果是的话,如何
发布于 2022-12-03 22:34:37
是的,可以获得调用Lambda函数的角色的标记。为了做到这一点,您可以使用AWS.STS.getCallerIdentity()函数。此函数返回有关调用者的信息,包括调用者的身份、调用者的AWS帐户ID和调用者的ARN。然后,您可以使用AWS.IAM.getRole()函数来检索角色的标记,给出它的ARN。
下面是一个示例,说明如何使用这些函数获取调用角色的标记:
// First, get the caller's identity
const callerIdentity = AWS.STS.getCallerIdentity();
// Then, use the caller's ARN to get the caller's role
const role = AWS.IAM.getRole({ RoleName: callerIdentity.arn });
// Finally, retrieve the role's tags
const tags = role.Tags;
请记住,为了使Lambda函数能够调用这些函数,您需要授予它这样做的权限。可以通过将适当的IAM策略附加到Lambda函数使用的角色来做到这一点。
https://stackoverflow.com/questions/74670409
复制相似问题