コンテンツにスキップ

認証情報

この章では、みなさんの AWS Copilot CLI 体験を最高のものにするために『認証情報についての推奨事項』を説明していきます。

Application 用の認証情報

Copilot はデフォルトの認証情報プロバイダーチェーンに沿って認証情報を検索し、認証情報を使用して Service と Environment が関連づけられた Application のメタデータを保存または検索します。

Tips

名前付きプロファイルを使用して Application 用の認証情報を保存することを推奨します。

もっとも簡単な方法は [default] プロファイルを利用することです:

# ~/.aws/credentials
[default]
aws_access_key_id=AKIAIOSFODNN7EXAMPLE
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

# ~/.aws/config
[default]
region=us-west-2

あるいは AWS_PROFILE 環境変数を設定して別の名前付きプロファイルを指定できます。例えば Application 用に [my-app] という名前のプロファイルを [default] プロファイルの代わりに用いることができます。

Note

Application に AWS アカウントのルートユーザーの認証情報を用いることはできません。代わりにこちらで説明されているようにまず IAM ユーザーを作成してください。

# ~/.aws/config
[my-app]
credential_process = /opt/bin/awscreds-custom --username helen
region=us-west-2

# 指定した名前付きプロファイルを用いた Copilot コマンドの実行
$ export AWS_PROFILE=my-app
$ copilot deploy

Caution

環境変数 AWS_ACCESS_KEY_ID , AWS_SECRET_ACCESS_KEY , AWS_SESSION_TOKEN を直接用いることは推奨しません。なぜならそれらの認証情報が上書きされたり失効したりすると Copilot が Service や Environment を検索できなくなるからです。

サポートされている config ファイルの設定についてもっと詳しく知りたい方は設定ファイルと認証情報ファイルに関するドキュメントをご参照ください。

Environment 用の認証情報

Copilot における Environment は Application が存在するのとは別の AWS アカウントやリージョンに作成できます。Environment を最初に作成する際 Copilot はどの一時クレデンシャルまたは名前付きプロファイルを使用するか尋ねます。

$ copilot env init

Name: prod-iad

  Which credentials would you like to use to create prod-iad?
  > Enter temporary credentials
  > [profile default]
  > [profile test]
  > [profile prod-iad]
  > [profile prod-pdx]

Application 用の認証情報とは異なり、Environment 用の AWS 認証情報は Environment の作成と削除の時のみ必要です。したがって一時的な環境変数からそれらの値を安全に使うことができます。Copilot が尋ねたり使用したりする認証情報はフラグとして扱われます。なぜならデフォルトの認証プロバイダーチェーンは Application 用の認証情報のために使われるからです。