ワンライナーでbashのaws設定を自動化する方法を誰かに教えてもらえますか?
例:
$ aws configure --profile user2
AWS Access Key ID [None]: AKIAI44QH8DHBEXAMPLE
AWS Secret Access Key [None]: je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY
Default region name [None]: us-east-1
Default output format [None]: text
アプリケーション:Docker Entrypoint内でこれを自動化したい!
aws configure set help
を実行すると、コマンドラインで個別に設定を指定できることがわかり、それらは関連する資格情報または構成ファイルに書き込まれます。例えば:
aws configure set aws_access_key_id AKIAI44QH8DHBEXAMPLE
これを対話的に実行して、デフォルトの資格情報を変更することもできます。
aws configure
またはインタラクティブに実行して、名前付きプロファイルを作成/変更します。
aws configure --profile qa
Bashを使いたいと思っている人のために、以下は非常にうまく機能し、スクリプトから秘密を守ります。さらに、一度に名前を付けたプロファイルに入力を保存します。
printf "%s\n%s\nus-east-1\njson" "$KEY_ID" "$SECRET_KEY" | aws configure --profile my-profile
自動化したい場合は、CLIではなくファイルを使用してください。 CLIはそれらのファイルのみを書き込みます。
➜ cat ~/.aws/config
[profile_1]
output = json
region = eu-west-1
[profile_2]
output = json
region = eu-west-1
➜ cat ~/.aws/credentials
[profile_1]
aws_access_key_id =
aws_secret_access_key =
[profile_2]
aws_access_key_id =
aws_secret_access_key =
Jarmodの回答でのトムの提案に基づいて、「代わりにdockerコンテナーと共有する構成ファイルでキーを構成する」。
私はDockerとawscliを初めて使用するときに少し混乱していることに気付きました。
また、この質問に終わる人のほとんどは、同様にDockerとawscli
を一緒に使用しようとしていると思います。
だからあなたがやりたいことは、一歩一歩です:
以下を含むcredentials
ファイルを作成します[default] aws_access_key_id = default_access_key aws_secret_access_key = default_secret_key
コピー先~/.aws/credentials
、Dockerfileで次のような行を使用しますCOPY credentials /root/.aws/credentials
とconfig
ファイル[default] region = us-west-2 output = table
コピー先~/.aws/config
、Dockerfileで次のような行を使用しますCOPY config /root/.aws/config
参照:aws configure set help