

# Authenticating using IAM user credentials for the AWS CLI
<a name="cli-authentication-user"></a>

**警告**  
セキュリティリスクを避けるため、専用ソフトウェアを開発するときや実際のデータを扱うときは、IAM ユーザーを認証に使用しないでください。代わりに、[AWS IAM アイデンティティセンター](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html) などの ID プロバイダーとのフェデレーションを使用してください。

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

**Contents**
+ [ステップ 1: IAM ユーザーを作成する](#cli-authentication-user-create)
+ [ステップ 2: アクセスキーを取得する](#cli-authentication-user-get)
+ [ステップ 3: AWS CLI を設定する](#cli-authentication-user-configure.title)
  + [`aws configure`の使用](#cli-authentication-user-configure-wizard)
  + [.CSV ファイルによるアクセスキーのインポート](#cli-authentication-user-configure-csv)
  + [`config` ファイルと `credentials` ファイルの直接編集](#cli-authentication-user-configure-csv.titlecli-authentication-user-configure-file)
+ [(オプション) IAM ユーザー認証情報での多要素認証の使用](#cli-authentication-user-configure-csv.titlecli-authentication-user-mfa)

## ステップ 1: IAM ユーザーを作成する
<a name="cli-authentication-user-create"></a>

「*IAM ユーザーガイド*」の「[IAM ユーザーの作成 (コンソール)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html#id_users_create_console)」の手順に従って IAM ユーザーを作成します。
+ **[アクセス許可オプション]** で、このユーザーにアクセス許可を割り当てる方法として **[ポリシーを直接アタッチする]** を選択します。
+ ほとんどの「開始方法」 SDK チュートリアルでは、Amazon S3 サービスを例として使用しています。アプリケーションに Amazon S3 へのフルアクセスを提供するには、このユーザーにアタッチする `AmazonS3FullAccess` ポリシーを選択します。

## ステップ 2: アクセスキーを取得する
<a name="cli-authentication-user-get"></a>

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

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

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

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

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

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

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

## ステップ 3: AWS CLI を設定する
<a name="cli-authentication-user-configure.title"></a>

一般的に、AWS CLI には以下の情報が必要です。
+ アクセスキー ID
+ シークレットアクセスキー
+ AWS リージョン
+ 出力形式

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

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

**Topics**
+ [`aws configure`の使用](#cli-authentication-user-configure-wizard)
+ [.CSV ファイルによるアクセスキーのインポート](#cli-authentication-user-configure-csv)
+ [`config` ファイルと `credentials` ファイルの直接編集](#cli-authentication-user-configure-csv.titlecli-authentication-user-configure-file)

### `aws configure`の使用
<a name="cli-authentication-user-configure-wizard"></a>

一般的な使用の場合、`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 ファイルによるアクセスキーのインポート
<a name="cli-authentication-user-configure-csv"></a>

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

`.csv` ファイルには、次のヘッダーが含まれている必要があります。
+ ユーザー名 - この列は `.csv` に追加する必要があります。これは、インポート時に `config` と `credentials` ファイルでプロファイル名を作成するために使用されます。
+ アクセスキー ID
+ シークレットアクセスキー

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

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

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

詳細については、「`aws\$1configure\$1import`」を参照してください。

### `config` ファイルと `credentials` ファイルの直接編集
<a name="cli-authentication-user-configure-csv.titlecli-authentication-user-configure-file"></a>

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

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

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

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

## (オプション) IAM ユーザー認証情報での多要素認証の使用
<a name="cli-authentication-user-configure-csv.titlecli-authentication-user-mfa"></a>

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

MFA が有効な IAM ユーザーで、[https://docs.aws.amazon.com/cli/latest/reference/configure/mfa-login.html](https://docs.aws.amazon.com/cli/latest/reference/configure/mfa-login.html) コマンドを実行して、指定されたプロファイルの多要素認証 (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 多要素認証](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa.html)」を参照してください。