將 MFA 新增到使用者集區 - Amazon Cognito

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

將 MFA 新增到使用者集區

多重要素驗證 (MFA) 可提高應用程式的安全性。它將一個您擁有的身分驗證因素新增到您知道的使用者名稱和密碼因素。您可以選擇文字簡訊或以時間為基礎的一次性密碼 (TOTP),作為登入使用者的第二要素。

注意

新使用者首次登入您的應用程式時,Amazon Cognito 會發出 OAuth 2.0 權杖,即使您的使用者集區需要 MFA 也是如此。您的使用者首次登入時的第二個身分驗證要素是確認 Amazon Cognito 傳送給他們的驗證訊息。如果您的使用者集區需要 MFA,Amazon Cognito 會提示您的使用者註冊一個額外的登入要素,以便在第一次之後的每次登入嘗試期間使用。

透過適應性身分驗證,您可以將使用者集區設定成要求第二要素身分驗證,以便回應更高的風險層級。若要將適應性身分驗證新增到使用者集區,請參閱 將進階安全性新增到使用者集區

當您將使用者集區的多重要素驗證 (MFA) 設定為 required 時,所有使用者都必須完成 MFA 才能登入。每個使用者都至少必須設定一個 MFA 要素 (例如簡訊或 TOTP) 才能登入。當您將 MFA 設定為 required,您必須在新使用者加入時包含 MFA 設定,以便您的使用者集區允許這些使用者登入。

如果您啟用簡訊作為 MFA 要素,您可以在註冊期間要求使用者提供電話號碼並驗證這些電話號碼。如果您將 MFA 設定為 required,且只支援將簡訊作為要素,則使用者必須提供電話號碼。沒有電話號碼的使用者需要您支援將電話號碼新增至其設定檔,然後使用者才能登入。您可以將未經驗證的電話號碼使用於文字簡訊 MFA。這些號碼將會在 MFA 成功後收到驗證狀態。

如果您已將 MFA 設定為必要,並啟用簡訊和 TOTP 做為支援的驗證方法,Amazon Cognito 會提示沒有電話號碼的新使用者設定 TOTP MFA。如果您已將 MFA 設定為必要,而且您啟用的唯一 MFA 方法是 TOTP,Amazon Cognito 會在所有新使用者第二次登入時提示他們設定 TOTP MFA。Amazon Cognito 在設定 TOTP MFA 以回應InitiateAuthAdminInitiateAuthAPI 操作時產生挑戰。

若您將 MFA 設定為必要,則託管 UI 會提示使用者設定 MFA。若您在使用者集區中將 MFA 設定為選用,則託管 UI 不會提示使用者。若要使用選用的 MFA,您必須在應用程式中建置一個介面來提示您的使用者選取要設定 MFA,然後引導他們進行 API 輸入,以驗證他們的另一項登入要素。

嘗試提供 MFA 代碼失敗五次之後,Amazon Cognito 會啟動指數遞增封鎖持續時間程序,如 使用者集區身分驗證流程 中所述。

必要條件

設定 MFA 之前,請考慮下列事項:

  • 當您在使用者集區中啟用 MFA 並選擇 SMS text message (文字簡訊) 作為第二個要素時,可以將簡訊傳送到您尚未在 Amazon Cognito 中驗證的電話號碼屬性。在您的使用者完成簡訊 MFA 之後,Amazon Cognito 會將其 phone_number_verified 屬性設定為 true

  • 如果您的帳戶位於包含使用者集區之 Amazon Simple Notification Service (Amazon SNS) 資源的 SMS 沙箱中,您必須先驗證 Amazon SNS 中的電話號碼,才能傳送簡訊。 AWS 區域 如需詳細資訊,請參閱 Amazon Cognito 使用者集區的簡訊設定

  • 使用進階安全功能時必須啟用 MFA,並且在 Amazon Cognito 使用者集區主控台中將其設定為選用。如需詳細資訊,請參閱 將進階安全性新增到使用者集區

設定多重要素驗證

您可以在 Amazon Cognito 主控台中設定 MFA。

在 Amazon Cognito 主控台中設定 MFA
  1. 登入 Amazon Cognito 主控台

  2. 選擇 User Pools (使用者集區)。

  3. 從清單中選擇現有的使用者集區,或建立使用者集區

  4. 選擇 Sign-in experience (登入體驗) 索引標籤。找到 Multi-factor authentication (多重要素驗證),然後選擇 Edit (編輯)

  5. 選擇您想要與使用者集區搭配使用的 MFA 強制執行方法。

    通知使用者
    1. Require MFA (需要 MFA)。使用者集區中的所有使用者都必須使用額外的簡訊代碼或以時間為基礎的一次性密碼 (TOTP) 要素來登入。

    2. Optional MFA (選用 MFA):您可以讓您的使用者選擇註冊額外的登入要素,但仍然允許未設定 MFA 的使用者登入。如果您正在使用適應性身分驗證,請選擇此選項。如需有關適應性身分驗證的詳細資訊,請參閱 將進階安全性新增到使用者集區

    3. No MFA (沒有 MFA)。您的使用者無法註冊額外的登入要素。

  6. 選擇您應用程式中支援的 MFA methods (MFA 方法)。您可以設定 SMS message ( SMS 訊息) 或產生 TOTP 的 Authenticator apps (驗證器應用程式) 做為第二個要素。我們建議您實作以 TOTP 為基礎的 MFA,以便能夠使用 SMS 訊息復原帳戶。

  7. 如果使用文字簡訊作為第二個要素,且您尚未設定與 Amazon Simple Notification Service (Amazon SNS) 搭配用於簡訊的 IAM 角色,則您可以在主控台中建立一個角色。在您的使用者集區 Messaging (簡訊) 索引標籤中,找到 SMS 並選擇 Edit (編輯)。您也可以使用允許 Amazon Cognito 為您將簡訊傳送給使用者的現有角色。如需詳細資訊,請參閱 IAM 角色

  8. 選擇 Save changes (儲存變更)