

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# Toolkit for Visual Studio 中的多重要素驗證 (MFA)
<a name="mfa-credentials"></a>

多重要素驗證 (MFA) 是 AWS 您的帳戶的額外安全性。MFA 要求使用者在存取 AWS 網站或服務時，從 AWS 支援的 MFA 機制提供登入憑證和唯一身分驗證。

AWS 支援 MFA 身分驗證的虛擬和硬體裝置範圍。以下是透過智慧型手機應用程式啟用的虛擬 MFA 裝置範例。如需 MFA 裝置選項的詳細資訊，請參閱《*IAM 使用者指南*》中的[在 中使用多重要素驗證 (MFA) AWS](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. 前往 IAM 主控台，網址為 https：//[https://console.aws.amazon.com/iam](https://console.aws.amazon.com/iam)。

1. 在導覽列中選擇**角色**，然後選擇**建立角色**。

1. 在**建立角色**頁面中，選擇**另一個 AWS 帳戶**。

1. 輸入所需的**帳戶 ID** 並標記**需要 MFA** 核取方塊。
**注意**  
若要尋找 12 位數的帳號 (ID)，請前往主控台中的導覽列，然後選擇**支援**、**支援中心**。

1. 選擇**下一步：許可**。

1. 將現有政策連接至您的角色，或為其建立新政策。您在此頁面上選擇的政策決定 IAM 使用者可以使用 Toolkit 存取哪些 AWS 服務。

1. 連接政策後，選擇**下一步：將 IAM 標籤**新增至角色的選項標籤。然後選擇**下一步：檢閱**以繼續。

1. 在**檢閱**頁面中，輸入必要的**角色名稱** (*例如工具組角色*)。您也可以新增選用**的角色描述**。

1. 選擇建**立角色**。

1. 當確認訊息顯示時 （例如「已建立角色**工具組角色**」)，請在訊息中選擇角色的名稱。

1. 在**摘要**頁面中，選擇複製圖示以複製**角色 ARN**，並將其貼到檔案中。（設定 IAM 使用者擔任角色時，您需要此 ARN。)

## 步驟 2：建立擔任角色許可的 IAM 使用者
<a name="create-mfa-user"></a>

此步驟會建立沒有許可的 IAM 使用者，以便新增內嵌政策。

1. 前往 IAM 主控台，網址為 https：//[https://console.aws.amazon.com/iam](https://console.aws.amazon.com/iam)。

1. 在導覽列中選擇**使用者**，然後選擇**新增使用者**。

1. 在**新增使用者**頁面中，輸入所需的**使用者名稱 **（例如*工具組使用者*)，並標記**程式設計存取**核取方塊。

1. 選擇**下一步：許可**、**下一步：標籤**和**下一步：檢閱**以瀏覽下一頁。您在此階段不會新增許可，因為使用者將擔任角色的許可。

1. 在**檢閱**頁面中，您會收到此**使用者沒有許可**的通知。選擇 **Create user** (建立使用者)。

1. 在**成功**頁面中，選擇**下載 .csv** 以下載包含存取金鑰 ID 和私密存取金鑰的檔案。（在登入資料檔案中定義使用者的設定檔時，您需要兩者。)

1. 選擇**關閉**。

## 步驟 3：新增政策以允許 IAM 使用者擔任角色
<a name="add-mfa-policy"></a>

 下列程序會建立內嵌政策，允許使用者擔任角色 （以及該角色的許可）。

1. 在 IAM 主控台**的使用者**頁面中，選擇您剛建立的 IAM 使用者 (*例如工具組使用者*)。

1. 在**摘要**頁面的**許可**索引標籤中，選擇**新增內嵌政策**。

1. 在**建立政策**頁面中，選擇**選擇服務**，在**尋找服務**中輸入 **STS**，然後從結果中選擇 **STS**。

1. 針對**動作**，開始輸入 *AssumeRole* 一詞。出現時標記 **AssumeRole** 核取方塊。

1. 在**資源區段**中，確定已選取**特定**，然後按一下**新增 ARN** 以限制存取。

1. 在**新增 ARN(s)** 對話方塊中，針對**為角色指定 ARN** 新增您在步驟 1 中建立的角色 ARN。

   新增角色的 ARN 之後，與該角色相關聯的受信任帳戶和角色名稱會顯示在具有路徑**的帳戶**和角色名稱中。 ****

1. 選擇**新增**。

1. 返回**建立政策**頁面，選擇**指定請求條件 （選用）**、標記 **MFA 必要**核取方塊，然後選擇**關閉**以確認。

1. 選擇 **Review policy (檢閱政策)**

1. 在**檢閱政策**頁面中，輸入政策**的名稱**，然後選擇**建立政策**。

   **許可**索引標籤會顯示直接連接到 IAM 使用者的新內嵌政策。

## 步驟 4：管理 IAM 使用者的虛擬 MFA 裝置
<a name="manage-virtual-mfa"></a>

1. 下載虛擬 MFA 應用程式並安裝到您的智慧型手機。

    如需支援的應用程式清單，請參閱[多重要素驗證](https://aws.amazon.com/iam/features/mfa/?audit=2019q1)資源頁面。

1. 在 IAM 主控台中，從導覽列中選擇**使用者**，然後選擇擔任角色的使用者 （在此情況下為*工具組使用者*)。

1. 在**摘要**頁面中，選擇**安全登入**資料索引標籤，然後針對**指派的 MFA 裝置**選擇**管理**。

1. 在**管理 MFA 裝置**窗格中，選擇**虛擬 MFA 裝置**，然後選擇**繼續**。

1. 在**設定虛擬 MFA 裝置**窗格中，選擇**顯示 QR 碼**，然後使用您安裝在智慧型手機上的虛擬 MFA 應用程式掃描程式碼。

1. 掃描 QR 代碼後，虛擬 MFA 應用程式會產生一次性 MFA 代碼。在 MFA 代碼 **1 和 MFA 代碼** **2 中輸入兩個連續的 MFA 代碼**。

1. 選擇 **Assign MFA (指派 MFA)**。

1. 返回使用者**的安全登入**資料索引標籤，複製新**指派 MFA 裝置的** ARN。

   ARN 包含您的 12 位數帳戶 ID，格式如下：`arn:aws:iam::123456789012:mfa/toolkit-user`。在下一個步驟中定義 MFA 設定檔時，您需要此 ARN。

## 步驟 5：建立設定檔以允許 MFA
<a name="mfa-profiles"></a>

下列程序會建立設定檔，允許 MFA 從 Toolkit for Visual Studio 存取 AWS 服務。

您建立的設定檔包含三個您在先前步驟中複製和儲存的資訊：
+ 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
```

提供的範例中定義了兩個設定檔：
+ `[toolkit-user]` 描述檔包含存取金鑰和私密存取金鑰，這些金鑰會在您在步驟 2 中建立 IAM 使用者時產生並儲存。
+ `[mfa]` 描述檔會定義如何支援多重要素驗證。有三個項目：

  ◦ `source_profile`：指定其登入資料用於擔任此設定檔中此`role_arn`設定所指定角色的設定檔。在這種情況下，它是`toolkit-user`描述檔。

  ◦ `role_arn`：指定您要用來執行使用此設定檔請求之操作的 IAM 角色的 Amazon Resource Name (ARN)。在此情況下，這是您在步驟 1 中建立之角色的 ARN。

  ◦ `mfa_serial`：指定使用者擔任角色時必須使用之 MFA 裝置的識別或序號。在這種情況下，這是您在步驟 3 中設定的虛擬裝置的 ARN。