

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

# IAM 教學課程：允許使用者管理其憑證和 MFA 設定
<a name="tutorial_users-self-manage-mfa-and-creds"></a>

您可以允許使用者在**安全憑證**頁面上自行管理其多重要素驗證 (MFA) 裝置和憑證。您可以使用 AWS 管理主控台 來設定登入資料 （存取金鑰、密碼、簽署憑證和 SSH 公有金鑰）、刪除或停用不需要的登入資料，並為使用者啟用 MFA 裝置。當使用者人數較少時，它十分好用。但隨著使用者人數增加，這個任務很快會變得非常耗時。本教程是為您介紹如何實現這些最佳實務，而不給您的管理員帶來負擔。

本教學課程示範如何允許使用者存取 AWS 服務，但**僅限於**使用者使用 MFA 登入時。如果未使用 MFA 裝置登入，則使用者無法存取其他服務。

此工作流程有三個基本步驟。

**[步驟 1：建立政策以實施 MFA 登入](#tutorial_mfa_step1)**  
建立一個客戶受管政策，其禁止***除***少數 IAM 動作之外的所有動作。這些例外狀況允許使用者變更自己的憑證，並在**安全憑證**頁面上管理 MFA 裝置。如需存取該頁面的詳細資訊，請參閱 [IAM 使用者如何變更他們自己的密碼 (主控台)](id_credentials_passwords_user-change-own.md#ManagingUserPwdSelf-Console)。

**[步驟 2：將政策連接到您的測試使用者群組](#tutorial_mfa_step2)**  
建立一個使用者群組，其成員在使用 MFA 登入時擁有對所有 Amazon EC2 動作的完全存取權。若要建立這類使用者群組，請同時連接名為 的 AWS 受管政策，`AmazonEC2FullAccess`以及您在第一個步驟中建立的客戶受管政策。

**[步驟 3：測試您的使用者存取權限](#tutorial_mfa_step3)**  
以測試使用者身分登入，驗證在使用者建立 MFA 裝置*之前*對 Amazon EC2 的存取被封鎖。之後使用者可以使用該裝置登入。

## 先決條件
<a name="tutorial_mfa_prereqs"></a>

若要執行此教學課程中的步驟，您必須具備以下內容：
+ 您可以具有管理許可的 IAM 使用者身分 AWS 帳戶 登入 。
+ 您在步驟 1 中輸入政策的帳戶 ID 號碼。

  若要尋找您的帳戶 ID 編號，請在頁面頂部的導覽列上，選擇 **Support (支援)**，然後選擇 **Support Center (支援中心)**。您可以在此頁面的 **Support (支援)** 選單下尋找您的帳戶 ID。
+ [虛擬 (軟體式) MFA 裝置](id_credentials_mfa_enable_virtual.md)、[FIDO 安全性金鑰](id_credentials_mfa_enable_fido.md)，或[硬體式 MFA 裝置](id_credentials_mfa_enable_physical.md)。
+ 一個做為群組成員的測試 IAM 使用者，如下所示：


| 使用者名稱 | 使用者名稱說明 | 使用者群組名稱 | 新增使用者為成員 | 使用者群組說明 | 
| --- | --- | --- | --- | --- | 
| MFAUser | 僅選擇 啟用主控台存取 (選用) 選項，並指定一組密碼。 | EC2MFA | MFAUser | 請勿連接任何政策或者授與許可給此使用者群組。 | 

## 步驟 1：建立政策以實施 MFA 登入
<a name="tutorial_mfa_step1"></a>

首先建立一個 IAM 客戶受管政策，除 IAM 使用者對管理其自有憑證和 MFA 裝置所需的許可權外，該政策拒絕其他所有許可。

1. 以具有管理員登入資料的使用者身分登入 AWS 管理主控台。為了遵循 IAM 最佳實務，請勿使用您的 AWS 帳戶根使用者 登入資料登入。
**重要**  
 IAM [最佳實務](best-practices.md)建議您要求人類使用者使用聯合身分提供者來 AWS 使用臨時憑證存取 ，而不是使用具有長期憑證的 IAM 使用者。建議您僅將 IAM 使用者用於聯合身分使用者不支援的[特定使用案例](gs-identities-iam-users.md)。

1. 在 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 中開啟 IAM 主控台。

   

1. 在導覽窗格中，選擇 **Policies (政策)**，然後選擇 **Create policy (建立政策)**。

1. 選擇 **JSON** 標籤並從下列 JSON 政策文件複製文字：[AWS：允許經過 MFA 驗證的 IAM 使用者在「安全憑證」頁面中管理其憑證。](reference_policies_examples_aws_my-sec-creds-self-manage.md)。

1. 將此政策文字貼上至 **JSON** 文字方框中。解決政策驗證期間產生的任何安全性警告、錯誤或一般性警告，然後選擇**下一步**。
**注意**  
您可以隨時切換**視覺化編輯器**與 **JSON** 選項。但是，上方的政策會包含 `NotAction` 元素，其不受視覺化編輯器支援。針對此政策，您會在 **Visual editor (視覺化編輯器)** 標籤上看到一個通知。返回 **JSON** 以繼續處理此政策。  
本範例政策不允許使用者在首次登入 AWS 管理主控台 時重設密碼。在新使用者登入並重設密碼之前，建議您不要將許可授予給他們。

1. 在**檢視與建立**頁面上，針對政策名稱輸入 **Force\_MFA**。針對政策說明，在**標籤**區域中輸入 **This policy allows users to manage their own passwords and MFA devices but nothing else unless they authenticate with MFA.**，您可以選擇性地新增標籤鍵值對至客戶管理政策。檢視政策授與的許可，然後選擇**建立政策**來儲存您的工作。

   新的政策會出現在受管政策清單中，並且已準備好連接。

## 步驟 2：將政策連接到您的測試使用者群組
<a name="tutorial_mfa_step2"></a>

接下來，您將兩個政策連接到 IAM 使用者 群組，將使用該群組授與以 MFA 提供保護的許可。

1. 在導覽窗格中，選擇 **User groups (使用者群組) **。

1. 在搜尋方塊中，輸入 **`EC2MFA`**，然後在清單中選擇群組名稱 (而非核取方塊)。

1. 選擇 **許可** 標籤、選擇 **新增許可**，然後選擇 **連接政策**。

1. 在 **Attach permission policies to EC2MFA group (將許可政策連接到 EC2MFA 群組)** 頁面上，在搜尋方塊中輸入 **EC2Full**。然後在清單中，選取 **AmazonEC2FullAccess** 旁的核取方塊。目前先不要儲存您的變更。

1. 在搜尋方塊中，輸入 **Force**，然後在清單中選擇 **Force\_MFA** 旁的核取方塊。

1. 選擇**連接政策**。

## 步驟 3：測試您的使用者存取權限
<a name="tutorial_mfa_step3"></a>

在本教程的這一部分中，您以測試使用者身分登入並確認政策是否正常運作。

1. **MFAUser** 使用您在上一節中指派的密碼，以 AWS 帳戶 身分登入您的 。使用 URL：`https://{{<alias or account ID number>}}.signin.aws.amazon.com/console`

1. 選擇 **EC2** 來開啟 Amazon EC2 主控台，並確認使用者沒有許可執行任何操作。

1. 在右上方的導覽列中，選擇您的 `MFAUser` 使用者名稱，然後選擇 **安全憑證** 。  
![AWS 管理主控台安全登入資料連結。](http://docs.aws.amazon.com/zh_tw/IAM/latest/UserGuide/images/security-credentials-user.shared.console.png)

1. 現在新增一個 MFA 裝置。在 **Multi-Factor Authentication (MFA) (多重要素驗證 (MFA))** 區段，選擇 **Assign MFA device (指派 MFA 裝置)**。
**注意**  
您可能會收到錯誤，告知您未被授權執行 `iam:DeleteVirtualMFADevice`。如果有人先前開始將虛擬 MFA 裝置指派給這個使用者但取消程序，就可能發生此錯誤。若要繼續，您或其他管理員必須刪除該使用者未經指派的現有虛擬 MFA 裝置。如需詳細資訊，請參閱[我未獲得授權，不得執行：iam:DeleteVirtualMFADevice](troubleshoot.md#troubleshoot_general_access-denied-delete-mfa)。

1. 對於本教程，我們使用一個虛擬 (軟體式) MFA 裝置，例如，手機上的 Google Authenticator 應用程式。選擇 **Authenticator app** (驗證器應用程式)，然後按 **Next** (下一步)。

   IAM 將產生並顯示虛擬 MFA 裝置的配置資訊，包括 QR 碼圖形。此圖形是私密組態金鑰的表示形式，適用於不支援 QR 碼的裝置上的手動輸入。

1. 開啟您的虛擬 MFA 應用程式。(如需可以作為託管虛擬 MFA 裝置的應用程式清單，請查看[虛擬 MFA 應用程式](https://aws.amazon.com/iam/details/mfa/#Virtual_MFA_Applications)。) 如果虛擬 MFA 應用程式支援多個帳戶 (多個虛擬 MFA 裝置)，請選擇對應的選項以建立新帳戶 (新的虛擬 MFA 裝置)。

1. 判定 MFA 應用程式是否支援 QR 碼，然後執行以下操作之一：
   + 從精靈中，選擇 **Show QR code (顯示 QR 碼)**。然後使用應用程式來掃描 QR 碼。例如，您可選擇相機圖示或選擇與 **Scan code (掃描碼)** 類似的選項，然後使用裝置的相機掃描碼。
   + 在 **Set up device** (設定裝置) 精靈中，選擇 **Show secret key** (顯示私密金鑰)，然後在您的 MFA 應用程式中輸入私密金鑰。

   完成操作後，虛擬 MFA 裝置會開始產生一次性密碼。

1. 在 **Set up device** (設定裝置) 精靈中的 **Enter the code from your authenticator app.** (輸入來自您的驗證器應用程式的代碼。) 方塊中，輸入虛擬 MFA 裝置上目前顯示的一次性密碼。選擇 **Register MFA** (註冊 MFA)。
**重要**  
產生代碼之後立即提交您的請求。如果在產生代碼後等待太久才提交請求，MFA 裝置將成功與使用者建立關聯。但是，MFA 裝置並不同步。會發生這種情況是因為定時式的一次性密碼 (TOTP) 在過了一小段時間後就會過期。這種情況下，您可以[重新同步裝置](id_credentials_mfa_sync.md)。

   虛擬 MFA 裝置現在可以與 搭配使用 AWS。

1. 登出主控台，然後再次以 **MFAUser** 身分登入。這次會 AWS 提示您從手機輸入 MFA 代碼。收到該代碼後，請將代碼輸入方塊中，然後選擇 **Submit (提交)**。

1. 選擇 **EC2** 來再次開啟 Amazon EC2 主控台。請注意，這次您可以看到所有資訊，並且可以執行所需的任何動作。如果您以此使用者身分前往任何其他主控台，您會看到存取遭拒訊息。原因在於此教學中的政策僅會將存取權授與 Amazon EC2。

## 相關資源
<a name="tutorial_mfa_related"></a>

如需其他資訊，請參閱以下主題：
+ [AWS IAM 中的多重要素驗證](id_credentials_mfa.md)
+ [啟用 MFA 的登入](console_sign-in-mfa.md)