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

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

建立使用者帳戶為管理員

使用者集區不只是客戶身分和存取管理 (CIAM) 使用者目錄,網際網路上的任何人都可以在應用程式中註冊使用者設定檔。您可以停用自助式註冊。您可能已經認識您的客戶,並只想讓已事先獲得授權的人員進入。您可以使用私有 SAML 2.0 或 OIDC 身分提供者匯入使用者、在註冊時篩選使用者,或使用管理 API 操作建立使用者,在應用程式周圍放置手動身分驗證護欄。您管理建立使用者的工作流程可以是程式設計的,在使用者註冊到另一個系統後佈建使用者,也可以是 case-by-case或測試。 Amazon Cognito

當您以管理員身分建立使用者時,Amazon Cognito 會為其設定臨時密碼,並傳送歡迎或邀請訊息。他們可以遵循邀請訊息中的連結,第一次登入,設定密碼並確認其帳戶。以下頁面說明如何建立新的使用者和設定歡迎訊息。如需使用使用者集區 API 和 AWS SDK 或 CDK 建立使用者的詳細資訊,請參閱 AdminCreateUser

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

以下是管理員如何在使用者集區中管理使用者的一些範例。

  • 在 Amazon Cognito 主控台或使用 AdminCreateUser API 操作建立新的使用者設定檔。

  • 讓username-and-password、無密碼、密碼金鑰和自訂身分驗證流程可供您的使用者集區和應用程式用戶端使用。

  • 設定使用者屬性值。

  • 建立自訂屬性。

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

  • 指定臨時密碼、建立沒有密碼的使用者,或允許 Amazon Cognito 自動產生密碼。

  • 建立新的使用者並自動確認其帳戶、驗證其電子郵件地址或驗證其電話號碼。

  • 透過自訂訊息、自訂簡訊寄件者和自訂電子郵件寄件者等 AWS Management Console Lambda 觸發條件,為新使用者指定自訂簡訊和電子郵件邀請訊息自訂 SMS 寄件者 Lambda 觸發程序 自訂電子郵件寄件者 Lambda 觸發程序

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

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

  • 在建立使用者時,隱藏傳送邀請訊息。

  • 為新使用者帳戶指定最長 90 天的過期時間限制。

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

管理員也可以使用伺服器端應用程式中的 AWS 登入資料登入使用者。如需詳細資訊,請參閱API 和 SDK 身分驗證的授權模型

使用者身分驗證流程和建立使用者

使用者管理建立的選項會因使用者集區的組態而有所不同。身分驗證流程,或可供使用者登入和 MFA 使用的方法,可以變更您建立使用者的方式,以及您傳送給他們的訊息。以下是一些可在使用者集區中使用的身分驗證流程。

  • 使用者名稱和密碼

  • 通行金鑰

  • 使用第三方 IdPs登入

  • 使用電子郵件和簡訊一次性密碼 (OTPs無密碼

  • 使用電子郵件、簡訊和驗證器應用程式 OTPs多重要素驗證

  • 使用 Lambda 觸發程序進行自訂身分驗證

如需如何設定這些登入因素的詳細資訊,請參閱使用 Amazon Cognito 使用者集區進行身分驗證

建立不含密碼的使用者

如果您已為使用者集區啟用無密碼登入,您可以建立沒有密碼的使用者。若要建立沒有密碼的使用者,您必須為可用的無密碼登入因素提供屬性值。例如,如果電子郵件 OTP 無密碼登入可在您的使用者集區中使用,您可以建立沒有密碼和電子郵件地址屬性的使用者。如果只有新使用者可用的身分驗證流程需要密碼,例如密碼金鑰或使用者名稱密碼,您必須為每個新使用者建立或產生臨時密碼。

建立沒有密碼的新使用者
  • 選擇不要在 Amazon Cognito 主控台中設定密碼 Amazon Cognito

  • 省略或保留空白 AdminCreateUser API 請求的TemporaryPassword參數

沒有密碼的使用者會自動確認

一般而言,新使用者會取得臨時密碼,並在您建立時進入 FORCE_CHANGE_PASSWORD 狀態。當您建立沒有密碼的使用者時,使用者會立即進入 CONFIRMED 狀態。您無法重新傳送確認碼給 CONFIRMED 狀態的這些使用者。

沒有密碼的使用者的邀請訊息會變更。

根據預設,Amazon Cognito 會傳送邀請訊息給新使用者,該訊息會指出當您建立沒有密碼的使用者Your username is {userName} and your password is {####}.時,訊息會指出Your username is {userName}.自訂您的邀請訊息,以反映您是否將設定使用者的密碼。省略無{####}密碼身分驗證模型中的密碼變數。

當無密碼因素可用時,您無法自動產生密碼

如果您已將使用者集區設定為支援電子郵件或電話 OTP 無密碼登入,則無法自動產生密碼。對於每個將擁有密碼的使用者,您必須在建立其設定檔時設定臨時密碼。

無密碼使用者必須具有所有必要屬性的值

當您在沒有密碼的情況下建立使用者時,只有在使用者為使用者集區中標記為必要的所有屬性提供值時,您的請求才會成功。這適用於任何必要的屬性,而不只是 OTP 交付所需的電話號碼和電子郵件屬性。

建立稍後提供必要屬性值的使用者

您可能想要在使用者集區中要求屬性,但在您管理建立使用者之後,在應用程式的使用者互動期間收集這些屬性。當管理員使用臨時密碼建立使用者時,可以省略必要屬性的值。您無法省略無密碼使用者的必要屬性值。

缺少必要屬性值和臨時密碼的使用者,會在第一次登入時收到 NEW_PASSWORD_REQUIRED 挑戰。然後,他們可以在 requiredAttributes 參數中提供缺少必要屬性的值。只有在所有必要的屬性都可變時,您才能建立具有密碼且沒有必要屬性的使用者。使用者只能從其登入的應用程式用戶端寫入必要的屬性,才能完成具有NEW_PASSWORD_REQUIRED挑戰和必要屬性值的登入。

當您為管理員建立的使用者設定永久密碼時,其狀態會變更為 ,CONFIRMED而且您的使用者集區不會在第一次登入時提示他們輸入新密碼必要的屬性。

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

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

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

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

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

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

  3. 選擇身分驗證方法選單,並找到密碼政策。選擇編輯

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

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

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

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

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

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

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

  3. 選擇註冊功能表並找到自助註冊。選擇 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. 選擇訊息範本選單,然後選擇驗證訊息邀請訊息MFA 訊息,然後選擇編輯

  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. 選擇使用者選單,然後選擇建立使用者

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

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

    注意

    在傳送邀請訊息之前,請在使用者集區的身分驗證方法選單中,使用 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. 選擇使用者選單,然後選擇使用者的使用者名稱項目。新增和編輯 User attributes (使用者屬性) 和 Group memberships (群組成員資格)。檢閱 User event history (使用者事件歷史記錄)。