【问题标题】:Reading ~/.aws/credentials from Spring Boot Spring Cloud从 Spring Boot Spring Cloud 中读取 ~/.aws/credentials
【发布时间】:2017-07-15 22:15:09
【问题描述】:

我是 AWS 和 Spring Cloud 的新手。我已经完成了一个简单的 AWS Java 应用程序,其中 AWS 凭证存储在 ~/.aws/credentials 文件中。它工作得很好。我搬到了 Spring Boot 和 Spring Cloud 中的一个新项目。我想继续使用我为 Java 应用程序设置的 ~/.aws/credential。但是,我还没有找到从凭证文件中加载凭证的方法。我不得不将访问密钥和密钥移动到 aws-config.xml。

    <aws-context:context-credentials>
       <aws-context:simple-credentials access-key="${accessKey:}" secret-key="${secretKey:}"/>
    <aws-context:context-resource-loader/>

当我完成此操作时,Spring Boot 和 Spring Cloud 应用程序运行良好。但是,将信息保存在 xml 文件中并不是最安全的方式,因为我使用的是 GitHub。

有人可以指出我可以使用 Maven 将信息从 ~/.aws/credentials 文件中提取到 Spring Boot /Spring Cloud 的方向吗?

感谢您花时间阅读我的帖子。

罗斯

【问题讨论】:

  • 您是在 AWS(EC2 实例)中运行应用程序本身,还是在 AWS 外部运行并访问 AWS 资源的应用程序?

标签: spring amazon-web-services amazon-s3 spring-boot spring-cloud


【解决方案1】:

Instance Profile 听起来是正确的选择!

这是一个存在于实例上的 IAM 角色,无需在代码中硬编码凭证。

Spring Cloud 的Maven setup guide :)

【讨论】:

    【解决方案2】:

    试试下面的设置

    cloud:
      aws:
        credentials:
          instanceProfile: false
          useDefaultAwsCredentialsChain: false
          profileName: <name>
          profilePath: ${user.home}/.aws/credentials
    

    【讨论】:

      猜你喜欢
      • 2016-09-14
      • 2017-01-30
      • 2021-04-10
      • 2020-10-12
      • 1970-01-01
      • 2018-07-04
      • 2021-03-22
      • 2020-04-26
      • 2018-01-11
      相关资源
      最近更新 更多