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 認証設定は、次の順番で優先されます。
-
コマンドラインオプション -
--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 ユーザーガイド」の「インスタンスプロファイルの使用 」を参照してください。