LoginSignup
3
0

More than 5 years have passed since last update.

aws-spring-cloud-awsでDefaultAWSCredentialsProviderChainがサポートされていた

Last updated at Posted at 2018-07-31

spring-cloud-awsの2系でようやくaws-sdk-javaのDefaultAWSCredentialsProviderChainがサポートされた。

1.x系でのAWS LambdaやコンテナサービスのIAM Roleを利用した認証情報を取得する際のカスタマイズが不要になるのでご参考に。
(AWS Lambdaで起動に時間を要するSpring Frameworkは非推奨ではあるが)

方法

application.properties(yml)または起動オプションにcloud.aws.credentials.useDefaultAwsCredentialsChainを追加する。

application.properties
cloud.aws.credentials.useDefaultAwsCredentialsChain=true

任意項目なので設定しない場合はfalse(1.x系と同じ挙動)になる。

ドキュメントやコード

  • リファレンス
    • なぜか反映されていない。M4のものには記載されてる。

http://cloud.spring.io/spring-cloud-aws/spring-cloud-aws.html
http://cloud.spring.io/spring-cloud-static/spring-cloud-aws/2.0.0.M4/single/spring-cloud-aws.html#_configuring_credentials

  • 実装箇所

  • 履歴

ついでに従来通りのIAM Userを利用する場合をメモっとく

  • accessKeyとsecretKeyをapplication.propertiesなどで定義する場合
cloud.aws.credentials.accessKey=hoge_accessKey
cloud.aws.credentials.secretKey=hoge_secretKey
  • aws-cliの~/.aws/credentialsを使用する場合
    • profileNameが[default]の場合は定義しなくてもよい
#cloud.aws.credentials.accessKey,secretKeyは消してOK
#cloud.aws.credentials.accessKey=
#cloud.aws.credentials.secretKey=
cloud.aws.credentials.profileName=hoge_profile
  • aws-cliの~/.aws/credentialsのパスを独自に設定している場合
    • profileを利用すると複数のIAMユーザーの切り替えが柔軟なのでおすすめ
#cloud.aws.credentials.accessKey,secretKeyは消してOK
#cloud.aws.credentials.accessKey=
#cloud.aws.credentials.secretKey=
cloud.aws.credentials.profileName=hoge_profile
cloud.aws.credentials.profilePath=.aws/hoge_credentials
3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0