【发布时间】:2018-12-31 01:47:39
【问题描述】:
AWS 官方文档指出实例配置文件凭据 "are temporary and would eventually expire",我想知道它们多久过期一次。
我之所以问,是因为我的应用程序使用 InstanceProfileCredentialsProvider 作为凭据提供程序,默认情况下不会刷新凭据,运行数天都没有问题。
【问题讨论】:
-
在您引用的页面上,"当您使用这种方法时...虽然这些凭据是临时的并且最终会过期,但
InstanceProfileCredentialsProvider会定期为您刷新它们,以便获得的凭据继续允许访问 AWS。” 这意味着它确实刷新它们。 -
curl http://169.254.169.254/latest/meta-data/iam/security-credentials/role_name(其中role_name是实例角色的实际名称)将显示实例当前临时凭证集(以及实际凭证)的到期时间。它永远不会超过几个小时,但我不确定最大寿命是否有正式记录。 169.254.169.254 是一个special internal address,为每个实例提供不同的响应。它由管理程序处理。 -
@Michael-sqlbot 感谢您的第二条评论,我认为这应该是答案。关于您的第一条评论,它实际上取决于提供程序是使用默认的无参数构造函数还是使用 getInstance() 方法创建的,它不会刷新它们。
-
@Michael-sqlbot 我检查了代码,我之前关于刷新的评论是错误的:当你调用 getCredentials() 时,它实际上开始刷新凭据。
标签: amazon-web-services amazon-ec2 amazon-iam