Authenticating using IAM user credentials for the AWS CLI - AWS Command Line Interface

Authenticating using IAM user credentials for the AWS CLI

警告

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

このセクションでは、IAM ユーザーで基本的な設定を構成する方法について説明します。これらには、config ファイルと credentials ファイルを使用したセキュリティ認証情報が含まれます。代わりに AWS IAM アイデンティティセンター の設定手順を参照するには、「AWS CLI を使用した IAM アイデンティティセンター認証の設定」を参照してください。

ステップ 1: IAM ユーザーを作成する

IAM ユーザーガイド」の「IAM ユーザーの作成 (コンソール)」の手順に従って IAM ユーザーを作成します。

  • [アクセス許可オプション] で、このユーザーにアクセス許可を割り当てる方法として [ポリシーを直接アタッチする] を選択します。

  • ほとんどの「開始方法」 SDK チュートリアルでは、Amazon S3 サービスを例として使用しています。アプリケーションに Amazon S3 へのフルアクセスを提供するには、このユーザーにアタッチする AmazonS3FullAccess ポリシーを選択します。

ステップ 2: アクセスキーを取得する

  1. AWS マネジメントコンソール にサインインして、IAM コンソール https://console.aws.amazon.com/iam/ を開きます。

  2. IAM コンソールのナビゲーションペインで [ユーザー] を選択し、以前に作成したユーザーの User name を選択します。

  3. ユーザーのページで、[セキュリティ認証情報] ページを選択します。次に、[アクセスキー][アクセスキーの作成] を選択します。

  4. [アクセスキーの作成ステップ 1] で、[コマンドラインインターフェイス (CLI)] を選択します。

  5. [アクセスキーの作成ステップ 2] で、オプションのタグを入力して [次へ] を選択します。

  6. [アクセスキーの作成ステップ 3] で、[.csv ファイルをダウンロード] を選択し、IAM ユーザーのアクセスキーとシークレットアクセスキーを含む .csv ファイルを保存します。この情報は後で必要になります。

  7. [完了] を選択します。

ステップ 3: AWS CLI を設定する

一般的に、AWS CLI には以下の情報が必要です。

  • アクセスキー ID

  • シークレットアクセスキー

  • AWS リージョン

  • 出力形式

この情報は、AWS CLI により、default ファイルの、credentials という名前のプロファイル (設定のコレクション) に保存されます。デフォルトでは、このプロファイル内の情報は、使用するプロファイルを明示的に指定しない AWS CLI コマンドを実行する場合に使用されます。credentials ファイルの詳細については、「Configuration and credential file settings in the AWS CLI」を参照してください。

AWS CLI を設定するには、次のいずれかの手順を使用します。

aws configureの使用

一般的な使用の場合、aws configure コマンドが、AWS CLI のインストールをセットアップするための最も簡単な方法です。この設定ウィザードでは、開始するために必要な各情報を入力するよう求められます。--profile オプションを使用した場合、特に指定しない限り、AWS CLI はこの情報を default プロファイルに保存します。

次の例では、サンプル値を使用して default プロファイルを設定します。次のセクションで説明するように、これらの値を独自の値に置き換えます。

$ 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

次の例では、サンプル値を使用して userprod という名前のプロファイルを設定します。次のセクションで説明するように、これらの値を独自の値に置き換えます。

$ aws configure --profile userprod 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

.CSV ファイルによるアクセスキーのインポート

aws configure を使用してアクセスキーを入力する代わりに、アクセスキーの作成後にダウンロードしたプレーンテキスト .csv ファイルをインポートできます。

.csv ファイルには、次のヘッダーが含まれている必要があります。

  • ユーザー名 - この列は .csv に追加する必要があります。これは、インポート時に configcredentials ファイルでプロファイル名を作成するために使用されます。

  • アクセスキー ID

  • シークレットアクセスキー

注記

最初のアクセスキーの作成時に、[csv ファイルをダウンロード] ダイアログボックスを閉じると、その後はシークレットアクセスキーにアクセスできなくなります。.csv ファイルが必要な場合は、必要なヘッダーと保存したキーペア情報を使用して自分でファイルを作成する必要があります。アクセスキー情報にアクセスできない場合は、新しいアクセスキーを作成する必要があります。

.csv ファイルをインポートするには、次のような --csv オプションで aws configure import コマンドを使用します。

$ aws configure import --csv file://credentials.csv

詳細については、「aws_configure_import」を参照してください。

config ファイルと credentials ファイルの直接編集

config ファイルと credentials ファイルを直接編集するには、次の操作を行います。

  1. 共有 AWS credentials ファイルを作成するか、開きます。このファイルは、~/.aws/credentials Linux および macOS システム、および %USERPROFILE%\.aws\credentials Windows 上にあります。詳細については、「Configuration and credential file settings in the AWS CLI」を参照してください。

  2. 共有 credentials ファイルに次のテキストを追加します。以前にダウンロードした .csv ファイル内のサンプル値を置き換え、ファイルを保存します。

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

(オプション) IAM ユーザー認証情報での多要素認証の使用

セキュリティを高めるには、呼び出しを試みるときに、多要素認証 (MFA) デバイス、U2F デバイス、またはモバイルアプリケーションから生成された一回限りのキーを使用することができます。

MFA が有効な IAM ユーザーで、aws configure mfa-login コマンドを実行して、指定されたプロファイルの多要素認証 (MFA) で使用する新しいプロファイルを設定します。プロファイルが指定されていない場合、MFA は default プロファイルに基づいています。デフォルトプロファイルが設定されていない場合、mfa-login コマンドは MFA 情報を尋ねる前に AWS 認証情報の入力を求めます。次のコマンド例では、デフォルト設定を使用して MFA プロファイルを作成します。

$ aws configure mfa-login MFA serial number or ARN: arn:aws:iam::123456789012:mfa/MFADeviceName MFA token code: 123456 Profile to update [session-MFADeviceName]: Temporary credentials written to profile 'session-MFADeviceName' Credentials will expire at 2023-05-19 18:06:10 UTC To use these credentials, specify --profile session-MFADeviceName when running AWS CLI commands

既存のプロファイルを更新するには、--update-profile パラメータを使用します。

$ aws configure mfa-login --profile myprofile --update-profile mfaprofile MFA token code: 123456 Temporary credentials written to profile 'mfaprofile' Credentials will expire at 2023-05-19 18:06:10 UTC To use these credentials, specify --profile mfaprofile when running AWS CLI commands

このコマンドは現在、ハードウェアまたはソフトウェアベースのワンタイムパスワード (OTP) 認証のみをサポートしています。パスキーと U2F デバイスは現在、このコマンドではサポートされていません。

MFA プロファイルを使用するには、コマンドで --profile オプションを使用します。

$ aws s3 ls --profile mfaprofile

MFA を IAM ユーザーに割り当てる方法など、IAM で MFA を使用する方法の詳細については、「AWS Identity and Access Management ユーザーガイド」の「IAM での AWS 多要素認証」を参照してください。