AWS サービスを使用して開発するときは、AWS CLI が AWS との間でどのように認証するかを確立する必要があります。AWS CLI にプログラムでアクセスするための認証情報を設定するには、次のいずれかのオプションを選択します。オプションは推奨順になっています。
プログラムによるアクセスを必要とするユーザー | 目的 | 手順 |
---|---|---|
ワークフォース ID (AWS IAM Identity Center ユーザー) |
(推奨) 短期の認証情報を使用します。 | AWS CLI を使用した IAM アイデンティティセンター認証の設定 |
IAM | 短期の認証情報を使用します。 | AWS CLI の短期認証情報を使用した認証 |
IAM またはワークフォース ID (AWS IAM Identity Center ユーザー) |
Amazon EC2 インスタンスメタデータを認証情報に使用します。 | AWS CLI で Amazon EC2 インスタンスメタデータを認証情報として使用する |
IAM またはワークフォース ID (AWS IAM Identity Center ユーザー) |
別の認証情報メソッドと組み合わせて、アクセス許可のロールを継承します。 | AWS CLI での IAM ロールの使用 |
IAM | (非推奨) 長期の認証情報を使用します。 | AWS CLI の IAM ユーザーの認証情報を使用した認証 |
IAM またはワークフォース ID (AWS IAM Identity Center ユーザー) |
(非推奨) 別の認証情報メソッドと組み合わせます。ただし、AWS CLI 以外の場所に保存されている認証情報値を使用します。 | AWS CLI の外部プロセスを使用した認証情報の調達 |
設定と認証情報の優先順位
認証情報と構成設定は、システム環境変数、ユーザー環境変数、ローカルの AWS 設定ファイルなど複数の場所にあり、コマンドラインでパラメータとして明示的に宣言される場合もあります。特定の認証は、他の認証よりも優先されます。AWS CLI 認証設定は、次の順番で優先されます。
-
コマンドラインオプション -
--region
、--output
、--profile
パラメータなど、他の任意の場所にある設定を上書きします。 -
環境変数 - システムの環境変数に値を保存できます。
-
ロールの継承 - 設定または
assume-role
コマンドを通じて IAM ロールのアクセス許可を継承します。 -
ウェブ ID によるロールの継承 - 設定または
assume-role-with-web-identity
コマンドを通じてウェブ ID を使用して IAM ロールのアクセス許可を継承します。 -
AWS IAM Identity Center –
config
ファイルに保存された IAM ID センターの設定は、aws configure sso
コマンド実行時に更新されます。そうすると、aws sso login
コマンドを実行すると認証情報が認証されます。「config
」ファイルは、Linux または macOS では「~/.aws/config
」、Windows では「C:\Users\
」にあります。USERNAME
\.aws\config -
認証情報ファイル – コマンド
aws configure
を実行すると、credentials
ファイルとconfig
ファイルが更新されます。「credentials
」ファイルは、Linux または macOS では「~/.aws/credentials
」、Windows では「C:\Users\
」にあります。USERNAME
\.aws\credentials -
カスタムプロセス — 外部ソースから認証情報を取得します。
-
設定ファイル - コマンド
aws configure
を実行すると、credentials
ファイルとconfig
ファイルが更新されます。「config
」ファイルは、Linux または macOS では「~/.aws/config
」、Windows では「C:\Users\
」にあります。USERNAME
\.aws\config -
コンテナ認証情報 - IAM ロールを各 Amazon Elastic コンテナサービス (Amazon ECS) タスク定義に関連付けることができます。関連付けられると、そのロールの一時認証情報は、そのタスクのコンテナで使用できるようになります。詳細については、Amazon Elastic Container Service 開発者ガイドの「タスク用の IAM ロール」を参照してください。
-
Amazon EC2 インスタンスプロファイルの認証情報 - IAM ロールを各 Amazon Elastic コンピュートクラウド (Amazon EC2) インスタンスに関連付けることができます。関連付けられると、そのロールの一時認証情報は、インスタンスで実行中のコードで使用できるようになります。認証情報は、Amazon EC2 メタデータサービスを通じて配信されます。詳細については、「Amazon EC2 ユーザーガイド」の「Amazon EC2 の IAM ロール」および「IAM ユーザーガイド」の「インスタンスプロファイルの使用」を参照してください。