AWS CLI をセットアップする - AWS Command Line Interface

AWS CLI をセットアップする

このトピックでは、AWS Command Line Interface (AWS CLI) が AWS と対話するために使用する基本設定をすばやく指定する方法について説明します。これらには、セキュリティ認証情報、デフォルトの出力形式、およびデフォルトの AWS リージョンが含まれます。

プログラムによるアクセス用の認証情報を収集する

AWS Management Console の外部で AWS を操作するには、プログラムによるアクセスが必要です。認証と認証情報の説明については、次のいずれかのオプションを選択します。

プログラムによるアクセスを必要とするユーザー 目的 手順

ワークフォース ID (AWS IAM Identity Center ユーザー)

(推奨) 短期の認証情報を使用します。 AWS IAM Identity Center を使用するために AWS CLI を設定する
IAM 短期の認証情報を使用します。 短期認証情報を使用して認証を行う
IAM

またはワークフォース ID (AWS IAM Identity Center ユーザー)

Amazon EC2 インスタンスメタデータを認証情報に使用します。 Amazon EC2 インスタンスメタデータの認証情報を使用する
IAM

またはワークフォース ID (AWS IAM Identity Center ユーザー)

別の認証情報メソッドと組み合わせて、アクセス許可のロールを継承します。 AWS CLI で IAM ロールを使用する
IAM (非推奨) 長期の認証情報を使用します。 IAM ユーザー認証情報を使用して認証を行う
IAM

またはワークフォース ID (AWS IAM Identity Center ユーザー)

(非推奨) 別の認証情報メソッドと組み合わせます。ただし、AWS CLI 以外の場所に保存されている認証情報値を使用します。 外部プロセスを使用して認証情報を作成する

新しい設定と認証情報のセットアップ

AWS CLI は、設定と認証情報を、credentials ファイルと config ファイルのプロファイル (設定のコレクション) に保存します。

すばやくセットアップするには、主に 2 つの方法があります。

以下の例では、各認証方法でサンプル値を使用しています。サンプル値を自分の値に置き換えてください。

AWS CLI コマンドを使用した設定

一般的には、任意のターミナルの aws configure または aws configure sso コマンドを使用するのが、AWS CLI のインストールをセットアップするための最も簡単な方法です。希望する認証情報メソッドに応じた関連情報を入力するよう AWS CLI から求められます。デフォルトでは、このプロファイル内の情報は、使用するプロファイルを明示的に指定しない AWS CLI コマンドを実行する場合に使用されます。

credentials ファイルとconfig ファイルの詳細については、「設定ファイルと認証情報ファイルの設定」を参照してください。

IAM Identity Center (SSO)

この例は、aws configure sso ウィザードを使用した AWS IAM Identity Center 用です。詳細については、「AWS IAM Identity Center の自動認証更新によるトークンプロバイダーの設定」を参照してください。

$ aws configure sso SSO session name (Recommended): my-sso SSO start URL [None]: https://my-sso-portal.awsapps.com/start SSO region [None]:us-east-1 Attempting to automatically open the SSO authorization page in your default browser. There are 2 AWS accounts available to you. > DeveloperAccount, developer-account-admin@example.com (111122223333) ProductionAccount, production-account-admin@example.com (444455556666) Using the account ID 111122223333 There are 2 roles available to you. > ReadOnly FullAccess Using the role name "ReadOnly" CLI default client Region [None]: us-west-2 CLI default output format [None]: json CLI profile name [123456789011_ReadOnly]: user1
IAM Identity Center (Legacy SSO)

この例は、aws configure sso ウィザードを使用した AWS IAM Identity Center の従来の方法を示しています。従来の SSO を使用するには、セッション名を空白のままにします。詳細については、「AWS IAM Identity Center の更新不可のレガシー設定」を参照してください。

$ aws configure sso SSO session name (Recommended): SSO start URL [None]: https://my-sso-portal.awsapps.com/start SSO region [None]:us-east-1 SSO authorization page has automatically been opened in your default browser. Follow the instructions in the browser to complete this authorization request. There are 2 AWS accounts available to you. > DeveloperAccount, developer-account-admin@example.com (111122223333) ProductionAccount, production-account-admin@example.com (444455556666) Using the account ID 111122223333 There are 2 roles available to you. > ReadOnly FullAccess Using the role name "ReadOnly" CLI default client Region [None]: us-west-2 CLI default output format [None]: json CLI profile name [123456789011_ReadOnly]: user1
Short-term credentials

この例は、AWS Identity and Access Management の短期の認証情報用です。aws configure ウィザードを使用して初期値を設定すると、aws configure set コマンドは必要な最後の値を割り当てます。詳細については、「短期認証情報を使用して認証を行う」を参照してください。

$ aws configure AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY Default region name [None]: us-west-2 Default output format [None]: json $ aws configure set aws_session_token fcZib3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE
IAM role

この例は IAM ロールを引き受けるためのものです。IAM ロールを使用するプロファイルは、別のプロファイルから認証情報を取得し、IAM ロールのアクセス許可を適用します。以下の例で、default は認証情報のソースプロファイルです。user1 は同じ認証情報を借り出して新しいロールを継承します。このプロセス用のウィザードは存在しないため、各値の設定には aws configure set コマンドを使用します。詳細については、「AWS CLI で IAM ロールを使用する」を参照してください。

$ aws configure set role_arn arn:aws:iam::123456789012:role/defaultrole $ aws configure set source_profile default $ aws configure set role_session_name session_user1 $ aws configure set region us-west-2 $ aws configure set output json
Amazon EC2 instance metadata credentials

次の例は、ホストしている Amazon EC2 インスタンスメタデータから取得した認証情報用です。このプロセス用のウィザードは存在しないため、各値の設定には aws configure set コマンドを使用します。詳細については、「Amazon EC2 インスタンスメタデータの認証情報を使用する」を参照してください。

$ aws configure set role_arn arn:aws:iam::123456789012:role/defaultrole $ aws configure set credential_source Ec2InstanceMetadata $ aws configure set region us-west-2 $ aws configure set output json
Long-term credentials
警告

セキュリティリスクを避けるため、専用ソフトウェアの開発や実際のデータを扱うときは、IAM ユーザーを認証に使用しないでください。代わりに、AWS IAM Identity Center などの ID プロバイダーとのフェデレーションを使用してください。

この例は、AWS Identity and Access Management の長期の認証情報用です。詳細については、「IAM ユーザー認証情報を使用して認証を行う」を参照してください。

$ aws configure AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY Default region name [None]: us-west-2 Default output format [None]: json

認証方法と認証情報メソッドの詳細については、「認証とアクセス認証情報」を参照してください。

認証情報と設定ファイルの手動編集

情報をコピーして貼り付ける場合は、config ファイルと credentials ファイルを手動で編集することをお勧めします。希望する認証情報メソッドに応じて、ファイルは異なる方法で設定されます。

ファイルはホームディレクトリの .aws フォルダの下に保存されます。ホームディレクトリの場所はオペレーティングシステムによって異なりますが、環境変数 %UserProfile% (Windows の場合) および $HOME またはチルド ~ (Unix ベースのシステムの場合) を使用して参照されます。これらの設定が保存される場所の詳細については、「構成設定はどこに保存されていますか。」を参照してください。

次の例は、default プロファイルと user1 という名前のプロファイルを示しており、サンプル値を使用しています。サンプル値を自分の値に置き換えてください。credentials ファイルとconfig ファイルの詳細については、「設定ファイルと認証情報ファイルの設定」を参照してください。

IAM Identity Center (SSO)

この例は AWS IAM Identity Center 用です。詳細については、「AWS IAM Identity Center の自動認証更新によるトークンプロバイダーの設定」を参照してください。

認証情報ファイル

credentials ファイルは、この認証方法には使用しません。

設定ファイル

[default] sso_session = my-sso sso_account_id = 111122223333 sso_role_name = readOnly region = us-west-2 output = text [profile user1] sso_session = my-sso sso_account_id = 444455556666 sso_role_name = readOnly region = us-east-1 output = json [sso-session my-sso] sso_region = us-east-1 sso_start_url = https://my-sso-portal.awsapps.com/start sso_registration_scopes = sso:account:access
IAM Identity Center (Legacy SSO)

この例は、AWS IAM Identity Center の従来の方法を示しています。詳細については、「AWS IAM Identity Center の更新不可のレガシー設定」を参照してください。

認証情報ファイル

credentials ファイルは、この認証方法には使用しません。

設定ファイル

[default] sso_start_url = https://my-sso-portal.awsapps.com/start sso_region = us-east-1 sso_account_id = 111122223333 sso_role_name = readOnly region = us-west-2 output = text [profile user1] sso_start_url = https://my-sso-portal.awsapps.com/start sso_region = us-east-1 sso_account_id = 444455556666 sso_role_name = readOnly region = us-east-1 output = json
Short-term credentials

この例は、AWS Identity and Access Management の短期の認証情報用です。詳細については、「短期認証情報を使用して認証を行う」を参照してください。

認証情報ファイル

[default] aws_access_key_id=AKIAIOSFODNN7EXAMPLE aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY aws_session_token = IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE [user1] aws_access_key_id=AKIAI44QH8DHBEXAMPLE aws_secret_access_key=je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY aws_session_token = fcZib3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE

設定ファイル

[default] region=us-west-2 output=json [profile user1] region=us-east-1 output=text
IAM role

この例は IAM ロールを引き受けるためのものです。IAM ロールを使用するプロファイルは、別のプロファイルから認証情報を取得し、IAM ロールのアクセス許可を適用します。以下の例で、default は認証情報のソースプロファイルで、user1 は同じ認証情報を借り出して新しいロールを継承します。詳細については、「AWS CLI で IAM ロールを使用する」を参照してください。

認証情報ファイル

credentials ファイルは、ソースプロファイルが使用する認証によって異なります。次の例で、ソースプロファイルは短期の認証情報を使用しています。

[default] aws_access_key_id=AKIAIOSFODNN7EXAMPLE aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY aws_session_token = IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE

設定ファイル

[default] region=us-west-2 output=json [profile user1] role_arn=arn:aws:iam::777788889999:role/user1role source_profile=default role_session_name=session_user1 region=us-east-1 output=text
Amazon EC2 instance metadata credentials

次の例は、ホストしている Amazon EC2 インスタンスメタデータから取得した認証情報用です。詳細については、「Amazon EC2 インスタンスメタデータの認証情報を使用する」を参照してください。

認証情報ファイル

credentials ファイルは、この認証方法には使用しません。

設定ファイル

[default] role_arn=arn:aws:iam::123456789012:role/defaultrole credential_source=Ec2InstanceMetadata region=us-west-2 output=json [profile user1] role_arn=arn:aws:iam::777788889999:role/user1role credential_source=Ec2InstanceMetadata region=us-east-1 output=text
Long-term credentials
警告

セキュリティリスクを避けるため、専用ソフトウェアの開発や実際のデータを扱うときは、IAM ユーザーを認証に使用しないでください。代わりに、AWS IAM Identity Center などの ID プロバイダーとのフェデレーションを使用してください。

この例は、AWS Identity and Access Management の長期の認証情報用です。詳細については、「IAM ユーザー認証情報を使用して認証を行う」を参照してください。

認証情報ファイル

[default] aws_access_key_id=AKIAIOSFODNN7EXAMPLE aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY [user1] aws_access_key_id=AKIAI44QH8DHBEXAMPLE aws_secret_access_key=je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY

設定ファイル

[default] region=us-west-2 output=json [profile user1] region=us-east-1 output=text

認証方法と認証情報メソッドの詳細については、「認証とアクセス認証情報」を参照してください。

既存の設定と認証情報ファイルの使用

既存の設定および認証情報ファイルがある場合は、AWS CLI にこれらのファイルを使用できます。

config ファイルと credentials ファイルを使用するには、これらのファイルをホームディレクトリの .aws という名前の付いたフォルダに移動します。ホームディレクトリの場所はオペレーティングシステムによって異なりますが、環境変数 %UserProfile% (Windows の場合) および $HOME またはチルド ~ (Unix ベースのシステムの場合) を使用して参照されます。

AWS_CONFIG_FILEAWS_SHARED_CREDENTIALS_FILE の環境変数を別のローカルパスに設定することで、config ファイルと credentials ファイルの場所をデフォルト以外の場所に指定できます。詳細については、「AWS CLI を設定する環境変数」を参照してください。

設定と認証情報ファイルの設定の詳細については、「設定ファイルと認証情報ファイルの設定」を参照してください。