Authentication and access credentials for the AWS CLI - AWS Command Line Interface

Authentication and access credentials for the AWS CLI

AWS サービスを使用して開発するときは、AWS CLI が AWS との間でどのように認証するかを確立する必要があります。AWS CLI にプログラムでアクセスするための認証情報を設定するには、次のいずれかのオプションを選択します。オプションは推奨順になっています。

認証タイプ 目的 指示

IAM アイデンティティセンターのワークフォースユーザーの短期認証情報

(推奨) IAM アイデンティティセンターのワークフォースユーザーに短期認証情報を使用します。

セキュリティのベストプラクティスは、IAM アイデンティティセンターで AWS Organizations を使用することです。その場合は、組み込みの IAM アイデンティティセンターディレクトリや Active Directory などのユーザーディレクトリを短期認証情報と組み合わせます。

AWS CLI を使用した IAM アイデンティティセンター認証の設定
IAM ユーザーの短期認証情報 長期認証情報よりも安全な IAM ユーザーの短期認証情報を使用します。認証情報が漏洩した場合でも、有効期限が切れる前に使用される可能性のある期間が限られます。 Authenticating with short-term credentials for the AWS CLI
Amazon EC2 インスタンスの IAM または IAM アイデンティティセンターのユーザー Amazon EC2 インスタンスメタデータを使用し、Amazon EC2 インスタンスに割り当てられたロールを使用して一時的な認証情報のクエリを実行します。 AWS CLI で Amazon EC2 インスタンスメタデータを認証情報として使用する
アクセス許可のロールの引き受け 別の認証情報メソッドと組み合わせて、ユーザーがアクセスできない可能性のある AWS のサービスに一時的にアクセスできるようにするためのロールを引き受けます。 AWS CLI での IAM ロールの使用
IAM ユーザーの長期認証情報 (非推奨) 有効期限のない長期認証情報を使用します。 Authenticating using IAM user credentials for the AWS CLI
IAM または IAM アイデンティティセンターのワークフォースユーザーの外部ストレージ (非推奨) 別の認証情報メソッドと組み合わせます。ただし、認証情報値の値は AWS CLI 以外の場所に保存します。この方法は、認証情報が保存される外部の場所の安全性に依存します。 AWS CLI の外部プロセスを使用した認証情報の調達

設定と認証情報の優先順位

認証情報と構成設定は、システム環境変数、ユーザー環境変数、ローカルの AWS 設定ファイルなど複数の場所にあり、コマンドラインでパラメータとして明示的に宣言される場合もあります。特定の認証は、他の認証よりも優先されます。AWS CLI 認証設定は、次の順番で優先されます。

  1. コマンドラインオプション - --region--output--profile パラメータなど、他の任意の場所にある設定を上書きします。

  2. 環境変数 - システムの環境変数に値を保存できます。

  3. ロールの継承 - 設定または assume-role コマンドを通じて IAM ロールのアクセス許可を継承します。

  4. ウェブ ID によるロールの継承 - 設定または assume-role-with-web-identity コマンドを通じてウェブ ID を使用して IAM ロールのアクセス許可を継承します。

  5. AWS IAM Identity Centerconfig ファイルに保存された IAM ID センターの設定は、aws configure sso コマンド実行時に更新されます。そうすると、aws sso login コマンドを実行すると認証情報が認証されます。「config」ファイルは、Linux または macOS では「~/.aws/config」、Windows では「C:\Users\USERNAME\.aws\config」にあります。

  6. 認証情報ファイル – コマンド aws configure を実行すると、credentials ファイルと config ファイルが更新されます。「credentials」ファイルは、Linux または macOS では「~/.aws/credentials」、Windows では「C:\Users\USERNAME\.aws\credentials」にあります。

  7. カスタムプロセス — 外部ソースから認証情報を取得します。

  8. 設定ファイル - コマンド aws configure を実行すると、credentials ファイルと config ファイルが更新されます。「config」ファイルは、Linux または macOS では「~/.aws/config」、Windows では「C:\Users\USERNAME\.aws\config」にあります。

  9. コンテナ認証情報 - IAM ロールを各 Amazon Elastic コンテナサービス (Amazon ECS) タスク定義に関連付けることができます。関連付けられると、そのロールの一時認証情報は、そのタスクのコンテナで使用できるようになります。詳細については、Amazon Elastic Container Service 開発者ガイドの「タスク用の IAM ロール」を参照してください。

  10. Amazon EC2 インスタンスプロファイルの認証情報 - IAM ロールを各 Amazon Elastic コンピュートクラウド (Amazon EC2) インスタンスに関連付けることができます。関連付けられると、そのロールの一時認証情報は、インスタンスで実行中のコードで使用できるようになります。認証情報は、Amazon EC2 メタデータサービスを通じて配信されます。詳細については、「Amazon EC2 ユーザーガイド」の「Amazon EC2 の IAM ロール」および「IAM ユーザーガイド」の「インスタンスプロファイルの使用 」を参照してください。

このセクションのその他のトピック