

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Toolkit for Visual Studio での多要素認証 (MFA)
<a name="mfa-credentials"></a>

多要素認証 (MFA) は AWS 、アカウントの追加のセキュリティです。MFA では、ウェブサイト AWS またはサービスにアクセスするときに、 AWS サポートされている MFA メカニズムからサインイン認証情報と一意の認証を提供する必要があります。

AWS は、MFA 認証用の仮想デバイスとハードウェアデバイスの両方をサポートしています。以下にスマートフォンアプリケーションを通じて有効化された仮想 MFA デバイスの例を示します。MFAデバイスオプションの詳細については、*IAM ユーザーガイド*の「[AWSでの多要素認証 (MFA) の使用](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa.html)」を参照してください。

## ステップ 1: IAM ユーザーにアクセス権を委任するための IAM ロールの作成
<a name="create-mfa-role"></a>

以下の手順では、IAM ユーザーにアクセス許可を割り当てるロールの委任を設定する方法について説明します。ロールの委任の詳細については、「**AWS Identity and Access Management ユーザーガイド」の「[IAM ユーザーにアクセス許可を委任するロールの作成](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html)」トピックを参照してください。

1. [https://console.aws.amazon.com/iam/home](https://console.aws.amazon.com/iam) の IAM コンソールに移動します。

1. ナビゲーションバーで **[Roles]** (ロール) を選択した後、[**Create Role**] (ロールの作成) を選択します。

1. **[ロールの作成]** ページで、**[もう 1 つの AWS アカウント]** を選択します。

1. 必要な **[Account ID]** (アカウント ID) を入力し、**[Require MFA]** (MFA が必要な) チェックボックスをオンにします。
**注記**  
12 桁のアカウント ID 番号を確認するには、コンソールのナビゲーションバーで **[Support]**、**[Support Center]** の順に選択します。

1. **[Next: Permissions]** (次のステップ: 許可) を選択します。

1. 既存のポリシーをロールにアタッチするか、新しいポリシーを作成します。このページで選択するポリシーによって、IAM ユーザーが Toolkit でアクセスできる AWS サービスが決まります。

1. ポリシーをアタッチしたら、ロールに IAM タグを追加するオプションのために、**[Next: Tags]** (次へ:タグ) を選択します。**[Next: Review]** (次へ: 確認) を選択して続行します。

1. **[Review]** (確認) ページで、必須の **[Role name]** (ロール名) (例えば、*toolkit-role*) を入力します。オプションの **[Role description]** (ロールの説明) 値を追加することもできます。

1. [**ロールの作成**] を選択してください。

1. 確認メッセージ (「ロール **toolkit-role** が作成されました」など) が表示されたら、メッセージ内のロールの名前を選択します。

1. **[Summary]** (概要) ページで、[Copy] (コピー) アイコンを選択して **[Role ARN]** (ロールの ARN) にコピーし、ファイルに貼り付けます。この ARN は、ロールを引き受けるように IAM ユーザーを設定するときに必要です。

## ステップ 2: ロールのアクセス許可を引き受ける IAM ユーザーの作成
<a name="create-mfa-user"></a>

このステップでは、インラインポリシーを追加できるように、アクセス許可のない IAM ユーザーを作成します。

1. [https://console.aws.amazon.com/iam/home](https://console.aws.amazon.com/iam) の IAM コンソールに移動します。

1. ナビゲーションバーで、 **[Users]** (ユーザー)、**[Add user]** (ユーザーを追加する) の順に選択します。

1. **[ユーザーの追加]** ページで必要な **[ユーザー名]** (例えば、*toolkit-user*) を入力し、**[プログラムによるアクセス]** チェックボックスをオンにします。

1. **[Next: Permissions]** (次へ: アクセス許可)、**[Next: Tags]** (次へ: タグ)、**[Next: Review]** (次へ: 確認) の順に選択して、次ページに移動します。ユーザーがロールの権限を引き受けるため、この段階では権限を追加しません。

1. **[Review]** (確認) ページでは、**[This user has no permissions]** (このユーザーにはアクセス許可がありません) という旨が通知されます。**[ユーザーの作成]** を選択します。

1. **[Success]** (成功) ページで、**[Download .csv]** (.csv をダウンロード) を選択して、アクセスキー ID およびシークレットアクセスキーを含むファイルをダウンロードします。(認証情報ファイルのプロファイルを定義する場合は、両方とも必要です。)

1. [**閉じる**] を選択してください。

## ステップ 3: IAM ユーザーがロールを引き受けることを許可するポリシーを追加する
<a name="add-mfa-policy"></a>

 次の手順では、ユーザーがロール (およびそのロールのアクセス許可) を引き受けることを許可するインラインポリシーを作成します。

1. IAM コンソールの **[Users]** (ユーザー) ページで、作成した IAM ユーザー (例えば、*toolkit-user*) を選択します。

1. [**Summary**] (概要) ページの[**Permissions**] (アクセス許可) タブで [**Add inline policy**] (インラインポリシーの追加 を選択します。

1. **[ポリシーの作成]** ページで、**[サービスを選択]** を選択し、**[サービスを探す]** で **[STS]** を入力し、結果から **[STS]** を選択します。

1. **[Actions]** (アクション) に *AssumeRole* という語を入力し始めます。表示されたら**AssumeRole**チェックボックスをオンにします。

1. **[Resource]** (リソース) セクションで、**[Specific]** (特定) が選択されていることを確認し、アクセスを制限するため **[Add ARN]** (ARN の追加) を選択します。

1. **[Add ARN(s)]** (ARN を追加する) ダイアログボックスの **[Specify ARN for role]** (ロールの ARN を指定します) にステップ 1 で作成したロールの ARN を追加します。

   ロールの ARN を追加すると、そのロールに関連付けられた信頼済みアカウントおよびロール名が **[Account]** (アカウント) および **[Role name with path]** (パス付きのロール名) に表示されます。

1. **[Add]** (追加) を選択します。

1. **[ポリシーの作成]** ページに戻り、**[リクエスト条件の指定 (オプション)]** を選択し、**[MFA が必要]** チェックボックスをオンにしてから、確認するため **[閉じる]** を選択します。

1. **[Review poilicy]** (ポリシーの確認) を選択します。

1. **[Review poilicy]** (ポリシーの確認) ページで、ポリシーの **[Name]** (名前) を入力してから **[Create policy]** (ポリシーの作成) を選択します。

   **[Permissions]** (アクセス許可) タブには、IAM ユーザーに直接アタッチされた新しいインラインポリシーが表示されます。

## ステップ 4: IAM ユーザーの仮想 MFA デバイスの管理
<a name="manage-virtual-mfa"></a>

1. 仮想 MFA アプリケーションをスマートフォンにダウンロードしてインストールします。

    サポートされているアプリケーションのリストについては、「[多要素認証](https://aws.amazon.com/iam/features/mfa/?audit=2019q1)」リソースページを参照してください。

1. IAM コンソールで、ナビゲーションバーから、**ユーザー**を選択し、ロールを引き受けるユーザーを選択します (今回は *toolkit-user*)。

1. **[Summary]** (概要) ページで **[Security credentials]** (セキュリティ認証情報) タブを選択し、**[Assigned MFA device]** (割り当てられた MFA デバイス) に対して **[Manage]** (管理) を選択します。

1. [**Manage MFA device**] (MFA デバイスの管理) ぺーンで、[**Virtual MFA device**] (仮想 MFA デバイス)、[**Continue**] (続行) の順に選択します。

1. **[Set up virtual MFA device]** (仮想 MFA デバイスの設定) ペインで **[Show QR code]** (QR コードを表示する) を選択してからスマートフォンにインストールした仮想 MFA アプリケーションを使用してコードをスキャンします。

1. QR コードをスキャンすると、仮想 MFA アプリケーションはワンタイムの MFA コードを生成します。**[MFA code 1]** (MFA コード 1) および **[MFA code 2]** (MFA コード 2) に 2 つの連続したMFAコードを入力します。

1. **MFA の割り当て**を選択します。

1. ユーザーの **[Security credentials]** (セキュリティ認証情報) タブに戻り、新しく**[Assigned MFA device]** (割り当てられた MFA デバイス) のARNをコピーします。

   ARN には 12 桁のアカウント ID が含まれ、形式は次の `arn:aws:iam::123456789012:mfa/toolkit-user` のようになります。この ARN は、次のステップで MFA プロファイルを定義するときに必要になります。

## ステップ 5: MFA を許可するプロファイルの作成
<a name="mfa-profiles"></a>

次の手順では、Toolkit for Visual Studio から AWS サービスにアクセスするときに MFA を許可するプロファイルを作成します。

作成したプロファイルには、前の手順でコピーして保存した 3 つの情報が含まれています。
+ IAM ユーザーのアクセスキー (アクセスキー ID およびシークレットアクセスキー)
+ IAM ユーザーにアクセス許可を委任しているロールの ARN 
+ IAM ユーザーに割り当てられている仮想 MFA デバイスの ARN 

認証情報を含む AWS 共有 AWS 認証情報ファイルまたは SDK ストアで、次のエントリを追加します。

```
[toolkit-user]
aws_access_key_id = AKIAIOSFODNN7EXAMPLE
aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

[mfa]
source_profile = toolkit-user
role_arn = arn:aws:iam::111111111111:role/toolkit-role
mfa_serial = arn:aws:iam::111111111111:mfa/toolkit-user
```

この例では、次の 2 つのプロファイルが定義されています：
+ `[toolkit-user]` プロファイルには、ステップ 2 で IAM ユーザーを作成したときに生成され、保存されたアクセスキーおよびシークレットアクセスキーが含まれます。
+ `[mfa]` プロファイルは、多要素認証のサポート方法を定義します。3 つのエントリがあります：

  ◦ `source_profile`: このプロファイル内のこの `role_arn` 設定で指定されたロールを継承するために使用される認証情報のプロファイルを指定します。この場合は、`toolkit-user` プロファイルです。

  ◦`role_arn`: このプロファイルを使用してリクエストされた操作の実行に使用する IAM ロールの Amazon リソースネーム (ARN) を指定します。この場合、ステップ 1 で作成したロールの ARN です。

  ◦`mfa_serial`: ロールを引き受けるときに使用する必要がある MFA デバイスの ID もしくはシリアル番号を指定します。この場合、ステップ 3 で設定した仮想デバイスの ARN です。