从STS API返回的AWS_SESSION_TOKEN的功能是什么?

时间:2018-11-16 22:26:43

标签: amazon-web-services amazon-iam sts-securitytokenservice aws-sts

aws sts assume-role返回三个字段作为已颁发的临时安全证书。

  • AWS_ACCESS_KEY_ID
  • AWS_SECRET_ACCESS_KEY
  • AWS_SESSION_TOKEN

前两个具有与用户Access Key相同的格式,但是第三个字段 AWS_SESSION_TOKEN 对于临时证书来说是特殊的。

我有两个问题:

  • 如果 AWS_SESSION_TOKEN 用于表示/编码临时有效性,为什么我们仍需要前两个字段(因为到期后,无论如何我们都需要获取另一个 AWS_SESSION_TOKEN )?
  • 如果我的客户端两次调用STS API,则在aws sts assume-role返回的两个响应之间,AWS_ACCESS_KEY_ID是否相同?

1 个答案:

答案 0 :(得分:1)

我认为只有一个假设可以依靠:这是AWS提供的接口,并且不支持AWS文档中未明确说明的内容。

创建新的程序访问密钥时,它总是不同的,因此在“两次调用之间保持不变”没有多大意义。我认为您应该在一个会话期间使用“ AWS_SESSION_TOKEN”命中。如果是一个呼叫,则可能已被命名为“ AWS_ONECALL_TOKEN”。我想假设STS的假设角色比规则的API调用要慢得多。我的建议是将其视为“一个会话的三部分密码”,而不是太多的事情,除非您想为类似的事情创建自己的实现。然后,分析这种方法的优点和缺点可能很有启发性。