php小编苹果为您带来最新的关于"更新 AWS 凭证"的指南。AWS凭证是访问亚马逊网络服务(AWS)资源的必需工具,然而,随着时间的推移,凭证可能会过期或失效。为了确保您能够持续访问和管理AWS资源,定期更新AWS凭证是至关重要的。本指南将为您详细介绍如何更新AWS凭证,以确保您的工作不受干扰,并提供一些有用的提示和注意事项,以便您顺利完成此操作。让我们一起来了解吧!
我需要有关如何在 aws 凭证过期后更新凭证的建议。
我用这种方式创建 amazonsimpleemailservice 的 bean:
@Bean public AmazonSimpleEmailService getSesClient() { return AmazonSimpleEmailServiceClientBuilder.standard() .withCredentials(new AWSStaticCredentialsProvider(new STSAssumeRoleSessionCredentialsProvider.Builder("ses-role-us-west-2", "mail-sender") .build() .getCredentials()) ) .withRegion(Regions.US_WEST_2).build(); }
但是当我尝试使用它时出现错误:
请求中包含的安全令牌已过期(服务:amazonsimpleemailservice;状态代码:403;错误代码:expiredtoken
如果我在每次发送邮件之前创建一个 ses 客户端实例 - 它可以正常工作,但在每次使用之前创建一个新实例似乎是一个不好的做法。
我了解我通过 stsassumerolesessioncredentialsprovider 获取的凭据存在问题 - 它们只是有一个过期时间。
我想知道是否应该有一种方法可以在凭据即将过期时自动更新凭据,因此我非常感谢有关如何执行此操作的任何建议。
stsassumerolesessioncredentialsprovider
将自动刷新凭证,但您通过获取一组凭证并将其传递到 awsstaticcredentialsprovider
实例来阻止该功能。
这应该允许您使用 sts 提供程序的自动刷新:
@Bean public AmazonSimpleEmailService getSesClient() { return AmazonSimpleEmailServiceClientBuilder.standard() .withCredentials(new STSAssumeRoleSessionCredentialsProvider.Builder("ses-role-us-west-2", "mail-sender") .build() ) .withRegion(Regions.US_WEST_2).build(); }
以上是更新 AWS 凭证的详细内容。更多信息请关注PHP中文网其他相关文章!