建立使用者帳戶為管理員 - Amazon Cognito

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

建立使用者帳戶為管理員

建立使用者集區之後,您可以使用 AWS Management Console,也可以使用 AWS Command Line Interface 或 Amazon Cognito API 來建立使用者。您可以在使用者集區中為新使用者建立設定檔,然後透過簡訊或電子郵件,傳送附有註冊指示的歡迎訊息給使用者。

開發人員和管理員可以執行下列工作:

  • 使用 AWS Management Console或呼叫 AdminCreateUserAPI 來建立新的使用者描述檔。

  • 設定使用者屬性值。

  • 建立自訂屬性。

  • AdminCreateUser API 要求中設定不可變自訂屬性的值。此功能無法在 Amazon Cognito 主控台中使用。

  • 指定臨時密碼,或允許 Amazon Cognito 自動產生密碼。

  • 指定是否要為新使用者將所提供的電子郵件地址和電話號碼標記為已驗證。

  • 透過 AWS Management Console或自訂訊息 Lambda 觸發器,為新使用者指定自訂簡訊和電子郵件邀請訊息。如需更多詳細資訊,請參閱 使用 Lambda 觸發程序來自訂使用者集區工作流程

  • 指定是否要透過簡訊及/或電子郵件傳送邀請訊息。

  • 呼叫 AdminCreateUserAPI,並為 RESEND 參數指定 MessageAction,以重送歡迎訊息給現有的使用者。

    注意

    目前無法使用 AWS Management Console來執行此動作。

  • 建立使用者後,抑制傳送邀請訊息。

  • 為使用者帳戶指定過期時間限制 (最多 90 天)。

  • 允許使用者自行登入,或要求僅限由管理員新增新使用者。

由管理員或開發人員建立之使用者的身分驗證流程

這些使用者的身分驗證流程包括提交新密碼,以及為必要屬性提供任何遺漏值等額外步驟。接下來會概述這些步驟,步驟 5、6 和 7 專屬於這些使用者。

  1. 使用者第一次開始登入時,需提交他們的使用者名稱和密碼。

  2. 軟體開發套件會呼叫 InitiateAuth(Username, USER_SRP_AUTH)

  3. Amazon Cognito 會以 Salt & Secret 區塊傳回 PASSWORD_VERIFIER 挑戰。

  4. 軟體開發套件會執行 SRP 計算,並呼叫 RespondToAuthChallenge(Username, <SRP variables>, PASSWORD_VERIFIER)

  5. Amazon Cognito 傳回 NEW_PASSWORD_REQUIRED 挑戰。此挑戰的正文包括使用者的目前屬性,以及使用者集區中目前在使用者描述檔中沒有值的所有必要屬性。如需詳細資訊,請參閱 RespondToAuthChallenge

  6. 系統會提示使用者輸入新密碼,以及必要屬性的任何遺漏值。

  7. 軟體開發套件會呼叫 RespondToAuthChallenge(Username, <New password>, <User attributes>)

  8. 如果使用者需要 MFA 的第二要素,Amazon Cognito 會傳回 SMS_MFA 挑戰,並且會提交驗證碼。

  9. 使用者成功變更密碼,並選擇性地提供屬性值或完成 MFA 之後,使用者即登入,並且會發出權杖。

當使用者滿足所有挑戰後,Amazon Cognito 服務會將使用者標記為已確認,並且為使用者發出 ID、存取和重新整理權杖。如需更多詳細資訊,請參閱 將權杖用於使用者集區

在 AWS Management Console中建立新的使用者

您可以使用 Amazon Cognito 主控台設定使用者密碼要求、設定傳送給使用者的邀請和驗證訊息,以及新增使用者。

設定密碼政策並啟用自我註冊

您可以設定最低密碼複雜度的設定,以及使用者是否可以在使用者集區中使用公有 API 進行註冊。

設定密碼政策
  1. 導覽到 Amazon Cognito 主控台,選擇 User Pools (使用者集區)。

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

  3. 選擇 Sign-in experience (登入體驗) 索引標籤並找到 Password policy (密碼政策)。選擇編輯

  4. 選擇 Custom (自訂) 的 Password policy mode (密碼政策模式)。

  5. 選擇 Password minimum length (密碼長度下限)。如需密碼長度要求的限制,請參閱使用者集區資源配額

  6. 選擇 Password complexity (密碼複雜度) 要求。

  7. 選擇管理員設定的密碼有效期限。

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

允許自助註冊
  1. 導覽到 Amazon Cognito 主控台,選擇 User Pools (使用者集區)。

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

  3. 選擇 Sign-up experience (註冊體驗) 索引標籤並找到 Self-service sign-up (自助註冊)。選擇 Edit (編輯)。

  4. 選擇是否要 Enable self-registration (啟用自我註冊)。自我註冊通常與公有應用程式用戶端搭配使用,這些用戶端需要在使用者集區中註冊新使用者,而無需分配用戶端密碼或 AWS Identity and Access Management (IAM) API 憑證。

    停用自我註冊

    如果您未啟用自我註冊,則必須使用 IAM API 憑證透過管理 API 動作或透過聯合身分提供者登入來建立新使用者。

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

自訂電子郵件和 SMS 訊息

自訂使用者訊息

您可以自訂 Amazon Cognito 在邀請使用者登入、使用者註冊使用者帳戶或使用者登入並收到提示進行多重要素驗證 (MFA) 時傳送給使用者的訊息。

注意

Invitation message (邀請訊息) 會在您在使用者集區中建立使用者時傳送,並邀請他們登入。Amazon Cognito 會將初始登入資訊傳送至使用者的電子郵件地址或電話號碼。

使用者註冊使用者集區中的使用者帳戶時,系統會傳送 Verification message (驗證訊息)。Amazon Cognito 會傳送代碼給使用者。當使用者將代碼提供給 Amazon Cognito 時,他們會驗證其聯絡資訊,並確認其帳戶以進行登入。驗證碼有效時間為 24 小時。

您在使用者集區中啟用 SMS MFA 時,以及已設定 SMS MFA 的使用者登入並提示進行 MFA 時,系統會傳送 MFA message (MFA 訊息)。

  1. 導覽到 Amazon Cognito 主控台,選擇 User Pools (使用者集區)。

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

  3. 選擇 Messaging (簡訊) 索引標籤並找到 Message templates (訊息範本)。選取 Verification messages (驗證訊息)、Invitation messages (邀請訊息) 或 MFA messages (MFA 訊息),然後選擇 Edit (編輯)。

  4. 自訂所選訊息類型的訊息。

    注意

    當您自訂訊息時,必須包含訊息範本中的所有變數。如果未包含變數,例如 {####},則您的使用者將沒有足夠的資訊來完成訊息動作。

    如需詳細資訊,請參閱訊息範本

    1. 驗證訊息

      1. 選擇 Email (電子郵件) 訊息的 Verification type (驗證類型)。Code (代碼) 驗證會傳送使用者必須輸入的數字碼。Link (連結) 驗證會傳送連結,使用者可以按一下以驗證其聯絡資訊。Link (連結) 訊息的變數中的文字會顯示為超連結文字。例如,使用變數 {##Click here##} 的訊息範本會在電子郵件訊息中顯示為請點選此處

      2. 輸入 Email (電子郵件) 訊息的 Email subject (電子郵件主旨)。

      3. 輸入 Email (電子郵件) 訊息的自訂 Email message (電子郵件訊息) 範本。您可以使用 HTML 自訂此範本。

      4. 輸入 SMS 訊息的 SMS message (SMS 訊息) 範本。

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

    2. Invitation messages (邀請訊息)

      1. 輸入 Email (電子郵件) 訊息的 Email subject (電子郵件主旨)。

      2. 輸入 Email (電子郵件) 訊息的自訂 Email message (電子郵件訊息) 範本。您可以使用 HTML 自訂此範本。

      3. 輸入 SMS 訊息的 SMS message (SMS 訊息) 範本。

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

    3. MFA messages (MFA 訊息)

      1. 輸入 SMS 訊息的 SMS message (SMS 訊息) 範本。

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

建立使用者

建立使用者

您可以從 Amazon Cognito 主控台為您的使用者集區建立新使用者。一般而言,使用者可以在設定密碼之後登入。若要使用電子郵件地址登入,使用者必須分別驗證 email 屬性。若要使用電話號碼登入,使用者必須驗證 phone_number 屬性。若要以管理員身分確認帳戶,您也可以使用 AWS CLI 或 API,或使用聯合身分提供者建立使用者描述檔。如需詳細資訊,請參閱《Amazon Cognito API 參考》。

  1. 導覽到 Amazon Cognito 主控台,選擇 User Pools (使用者集區)。

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

  3. 選擇 Users (使用者) 索引標籤,然後選擇 Create Users (建立使用者)。

  4. 檢閱 User pool sign-in and security requirements (使用者集區登入和安全要求) 以取得有關密碼要求、可用帳戶復原方法和使用者集區別名屬性的指引。

  5. 選擇您要如何傳送 Invitation message (邀請訊息)。選擇 SMS 訊息、電子郵件訊息或兩者皆可。

    注意

    請先在使用者集區的 Messaging (簡訊) 索引標準中使用 Amazon Simple Notification Service 和 Amazon Simple Email Service 設定寄件者和 AWS 區域,您才能傳送邀請訊息。適用收件人訊息和數據傳輸費率。Amazon SES 會單獨向您收取電子郵件訊息費用,Amazon SNS 會單獨向您收取 SMS 訊息費用。

  6. 為新使用者選擇 Username (使用者名稱)。

  7. 選擇您是否要為使用者 Create a password (建立密碼) 或允許 Amazon Cognito Generate a password (產生密碼)。任何臨時密碼必須遵守使用者集區密碼政策。

  8. 選擇 Create (建立)

  9. 選擇 Users (使用者) 索引標籤,然後為使用者選擇 User name (使用者名稱) 項目。新增和編輯 User attributes (使用者屬性) 和 Group memberships (群組成員資格)。檢閱 User event history (使用者事件歷史記錄)。