如何在Spring Cloud AWS中使用AWS SecureTokenService

时间:2015-11-02 19:42:44

标签: amazon-web-services spring-cloud

我需要根据我公司的指南使用AWS Secure Token Service(sts)。我没有在spring cloud aws文档中看到任何使用sts令牌的内容。

有人可以提供任何指示吗?

2 个答案:

答案 0 :(得分:0)

如果您在配置中添加以下内容:

<aws-context:context-credentials>
    <aws-context:instance-profile-credentials/>
</aws-context:context-credentials>

您将使用EC2实例元数据中的信用卡。这些凭证已经轮换并使用STS,因此您无需做任何其他事情。

进一步参考(跟踪doc到github的选项到使用的实际bean):
http://cloud.spring.io/spring-cloud-aws/ - &gt; https://github.com/spring-cloud/spring-cloud-aws - &gt; https://github.com/spring-cloud/spring-cloud-aws/blob/master/spring-cloud-aws-context/src/main/java/org/springframework/cloud/aws/context/config/xml/ContextCredentialsBeanDefinitionParser.java#L46 - &gt; http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/InstanceProfileCredentialsProvider.html

答案 1 :(得分:0)

  1. 确保您的临时凭据有效,运行 aws2 s3 ls。如果无效,刷新aws2 sso login
  2. 将临时凭据从 ~/.aws/cli/cache/*.json 复制到 ~/.aws/credentials 文件。请注意使用 default 配置文件作为您的凭据,这意味着您的 ~/.aws/credentials 应具有格式内容
[default]
aws_access_key_id=""
aws_secret_access_key=""
aws_session_token=""

(您也可以将开源项目用于第 1 步和第 2 步 - https://github.com/arvindkgs/aws_sso_login)

  1. 使用

    设置我的 application.yaml

    cloud.aws.credentials.useDefaultAwsCredentialsChain:真

这将导致 aws-sdk-java 从 ~/.aws/credentials 获取临时凭证