如何检查AWS STS访问令牌是否有效

时间:2020-11-04 15:59:14

标签: amazon-web-services aws-lambda aws-sts

我有一个lambda函数,该函数使用AWS STS生成临时凭证,然后通过HTTP将访问令牌发送到EC2实例中的Web API。

有没有一种方法可以验证从API接收到的访问令牌?

2 个答案:

答案 0 :(得分:1)

调用STS GetCallerIdentity会告诉您凭据是否可用于进行API调用,并且会识别基础AWS账户和承担的角色。

例如:

aws sts get-caller-identity
{
    "UserId": "AROAABCDEFGHIJKLMNOPQ:xyz",
    "Account": "123456781234",
    "Arn": "arn:aws:sts::123456781234:assumed-role/somerole"
}

关于response object的注释:

  • Account是拥有/包含调用实体的账户的AWS帐号
  • UserId是主叫实体的唯一标识符。确切的值取决于进行呼叫的实体的类型。

答案 1 :(得分:0)

AWS安全体系结构向您保证IAM生成的任何令牌都代表有效令牌,并且生成令牌的给定服务具有这样做的权限。如果您担心某些特权提升的实体生成了令牌,并且该令牌不被信任,那么您将遇到安全配置问题。您需要检查CloudWatch以查看哪个实体生成了令牌,并撤消其权限。

如@jarmod所建议,如果给定令牌有效,则该令牌有效。您只需了解其有效性即可。