STS API返回的AWS_SESSION_TOKEN有什么作用?

问题描述 投票:0回答:1

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

  • AWS_ACCESS_KEY_ID
  • AWS_SECRET_ACCESS_KEY
  • AWS_SESSION_TOKEN

前两个字段与用户的访问密钥格式相同,但第三个字段AWS_SESSION_TOKEN对于临时凭证来说是特殊的。

我有两个问题:

  • 如果AWS_SESSION_TOKEN是表示/编码临时有效性,为什么我们还需要前两个字段(因为过期后,我们无论如何都需要获取另一个AWS_SESSION_TOKEN)?
  • 如果我的客户端调用 STS API 两次,在从
    aws sts assume-role
    返回的两个响应之间,AWS_ACCESS_KEY_ID 是否会相同?
amazon-web-services amazon-iam sts-securitytokenservice aws-sts
1个回答
0
投票

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

创建新的编程访问密钥时,它总是不同的,因此“在调用之间保持相同”没有多大意义。我认为“AWS_SESSION_TOKEN”命中表明您应该在一个会话中使用它。如果是一次调用,则它可能被命名为“AWS_ONECALL_TOKEN”。我认为 STS 假设角色的操作比调节器 API 调用慢得多。我的建议是将其视为“一个会话的三部分密码”,除非您想为类似的事情创建自己的实现,否则不要对其进行太多关注。那么分析这种方法的优点和缺点可能会非常有启发性。

© www.soinside.com 2019 - 2024. All rights reserved.