IAM 教學課程:允許使用者管理其憑證和 MFA 設定 - AWS Identity and Access Management

IAM 教學課程:允許使用者管理其憑證和 MFA 設定

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

本教學會示範如何允許使用者存取 AWS 服務的許可,但僅限使用者使用 MFA 登入時。如果未使用 MFA 裝置登入,則使用者無法存取其他服務。

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

步驟 1:建立政策以實施 MFA 登入

建立一個客戶受管政策,其禁止少數 IAM 動作之外的所有動作。這些例外狀況允許使用者變更自己的憑證,並在安全憑證頁面上管理 MFA 裝置。如需存取該頁面的詳細資訊,請參閱 IAM 使用者如何變更他們自己的密碼 (主控台)

步驟 2:將政策連接到您的測試使用者群組

建立一個使用者群組,其成員在使用 MFA 登入時擁有對所有 Amazon EC2 動作的完全存取權。若要建立這類使用者群組,請連接名為 AmazonEC2FullAccess 的 AWS 受管政策,以及在第一步驟中建立的客戶受管政策。

步驟 3:測試您的使用者存取權限

以測試使用者身分登入,驗證在使用者建立 MFA 裝置之前對 Amazon EC2 的存取被封鎖。之後使用者可以使用該裝置登入。

必要條件

若要執行此教學課程中的步驟,您必須具備以下內容:

  • 可使用 IAM 使用者身分登入的具有管理許可的 AWS 帳戶。

  • 您在步驟 1 中輸入政策的帳戶 ID 號碼。

    若要尋找您的帳戶 ID 編號,請在頁面頂部的導覽列上,選擇 Support (支援),然後選擇 Support Center (支援中心)。您可以在此頁面的 Support (支援) 選單下尋找您的帳戶 ID。

  • 虛擬 (軟體式) MFA 裝置FIDO 安全性金鑰,或硬體式 MFA 裝置

  • 一個做為群組成員的測試 IAM 使用者,如下所示:

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

步驟 1:建立政策以實施 MFA 登入

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

  1. 使用具有管理員憑證的使用者身分登入 AWS 管理主控台。為符合 IAM 最佳實務,請勿以您的 AWS 帳戶根使用者 登入資料來登入。

    重要

    IAM 最佳實務建議您要求人類使用者搭配身分提供者使用聯合功能,以便使用臨時憑證存取 AWS,而不是使用具有長期憑證的 IAM 使用者。建議您僅將 IAM 使用者用於聯合身分使用者不支援的特定使用案例

  2. 在以下網址開啟 IAM 主控台:https://console.aws.amazon.com/iam/

  3. 在導覽窗格中,選擇 Policies (政策),然後選擇 Create policy (建立政策)

  4. 選擇 JSON 標籤並從下列 JSON 政策文件複製文字:AWS:允許經過 MFA 驗證的 IAM 使用者在「安全憑證」頁面中管理其憑證。

  5. 將此政策文字貼上至 JSON 文字方框中。解決政策驗證期間產生的任何安全性警告、錯誤或一般性警告,然後選擇下一步

    注意

    您可以隨時切換視覺化編輯器JSON 選項。但是,上方的政策會包含 NotAction 元素,其不受視覺化編輯器支援。針對此政策,您會在 Visual editor (視覺化編輯器) 標籤上看到一個通知。返回 JSON 以繼續處理此政策。

    本範例政策不允許使用者在首次登入 AWS Management Console 時重設密碼。在新使用者登入並重設密碼之前,建議您不要將許可授予給他們。

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

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

步驟 2:將政策連接到您的測試使用者群組

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

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

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

  3. 選擇 許可 標籤、選擇 新增許可,然後選擇 連接政策

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

  5. 在搜尋方塊中,輸入 Force,然後在清單中選擇 Force_MFA 旁的核取方塊。

  6. 選擇連接政策

步驟 3:測試您的使用者存取權限

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

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

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

  3. 在右上方的導覽列中,選擇您的 MFAUser 使用者名稱,然後選擇 安全憑證

    AWS 管理主控台安全憑證連結。
  4. 現在新增一個 MFA 裝置。在 Multi-Factor Authentication (MFA) (多重要素驗證 (MFA)) 區段,選擇 Assign MFA device (指派 MFA 裝置)

    注意

    您可能會收到錯誤,告知您未被授權執行 iam:DeleteVirtualMFADevice。如果有人先前開始將虛擬 MFA 裝置指派給這個使用者但取消程序,就可能發生此錯誤。若要繼續,您或其他管理員必須刪除該使用者未經指派的現有虛擬 MFA 裝置。如需詳細資訊,請參閱我未獲得授權,不得執行:iam:DeleteVirtualMFADevice

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

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

  6. 開啟您的虛擬 MFA 應用程式。(如需可以作為託管虛擬 MFA 裝置的應用程式清單,請查看虛擬 MFA 應用程式。) 如果虛擬 MFA 應用程式支援多個帳戶 (多個虛擬 MFA 裝置),請選擇對應的選項以建立新帳戶 (新的虛擬 MFA 裝置)。

  7. 判定 MFA 應用程式是否支援 QR 碼,然後執行以下操作之一:

    • 從精靈中,選擇 Show QR code (顯示 QR 碼)。然後使用應用程式來掃描 QR 碼。例如,您可選擇相機圖示或選擇與 Scan code (掃描碼) 類似的選項,然後使用裝置的相機掃描碼。

    • Set up device (設定裝置) 精靈中,選擇 Show secret key (顯示私密金鑰),然後在您的 MFA 應用程式中輸入私密金鑰。

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

  8. Set up device (設定裝置) 精靈中的 Enter the code from your authenticator app. (輸入來自您的驗證器應用程式的代碼。) 方塊中,輸入虛擬 MFA 裝置上目前顯示的一次性密碼。選擇 Register MFA (註冊 MFA)。

    重要

    產生代碼之後立即提交您的請求。如果在產生代碼後等待太久才提交請求,MFA 裝置將成功與使用者建立關聯。但是,MFA 裝置並不同步。會發生這種情況是因為定時式的一次性密碼 (TOTP) 在過了一小段時間後就會過期。這種情況下,您可以重新同步裝置

    虛擬 MFA 裝置現已準備好與 AWS 一起使用。

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

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

如需其他資訊,請參閱以下主題: