

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

# Essentials 計劃功能
<a name="feature-plans-features-essentials"></a>

Essentials 功能計劃具有 Amazon Cognito 使用者集區的大多數最佳和最新功能。當您從 Lite 切換到 Essentials 計劃時，您會取得受管登入頁面的新功能、使用電子郵件訊息一次性密碼的多重要素驗證、增強型密碼政策和自訂存取字符。若要掌握 up-to-date 最新的使用者集區功能，請為您的使用者集區選擇 Essentials 計劃。

以下各節提供您可以使用 Essentials 計劃新增至應用程式的功能的簡短概觀。如需詳細資訊，請參閱下列頁面。

**其他資源**
+ 存取權杖自訂： [產生權杖前 Lambda 觸發程序](user-pool-lambda-pre-token-generation.md)
+ 電子郵件 MFA： [SMS 和電子郵件訊息 MFA](user-pool-settings-mfa-sms-email-message.md)
+ 密碼歷史記錄： [密碼、帳戶復原和密碼政策](managing-users-passwords.md)
+ 增強型 UI： [將品牌套用到受管登入頁面](managed-login-branding.md)

**Topics**
+ [存取權杖自訂](#features-access-token-customization)
+ [電子郵件 MFA](#features-email-mfa)
+ [防止密碼重複使用](#features-password-reuse)
+ [受管登入託管登入和授權伺服器](#features-enhanced-ui)
+ [以選擇為基礎的身分驗證](#features-user-auth)

## 存取權杖自訂
<a name="features-access-token-customization"></a>

使用者集區[存取權杖](https://datatracker.ietf.org/doc/html/rfc6749#section-1.4)會授予應用程式許可：[存取 API](cognito-user-pools-define-resource-servers.md)、從 [userInfo 端點](userinfo-endpoint.md)擷取使用者屬性，或建立外部系統的[群組成員](cognito-user-pools-user-groups.md)資格。在進階案例中，您可能想要使用應用程式在執行時間決定的其他暫時參數，將 新增至使用者集區目錄中的預設存取金鑰資料。例如，您可能想要使用 [Amazon Verified Permissions](amazon-cognito-authorization-with-avp.md) 驗證使用者的 API 許可，並相應地調整存取權杖中的範圍。

Essentials 計劃會新增至權[杖產生前觸發](user-pool-lambda-pre-token-generation.md)程序的現有函數。透過低階計劃，您可以自訂 ID 權杖，其中包含其他宣告、角色和群組成員資格。Essentials 新增了觸發條件輸入事件的新版本，可自訂存取權杖宣告、角色、群組成員資格和範圍。存取字符自訂適用於具有事件第 3 版的machine-to-machine(M2M) [用戶端憑證授予](federation-endpoints-oauth-grants.md)。

**自訂存取權杖**

1. 選取 Essentials 或 Plus 功能計劃。

1. 為您的觸發建立 Lambda 函數。若要使用我們的範例函數，[請將其設定為 Node.js](https://docs.aws.amazon.com/lambda/latest/dg/lambda-nodejs.html)。

1. 使用[範例程式碼](user-pool-lambda-pre-token-generation.md#aws-lambda-triggers-pre-token-generation-example-version-2-overview)填入您的 Lambda 函數或編寫您自己的程式碼。函數必須處理來自 Amazon Cognito 的請求物件，並傳回您要包含的變更。

1. 將新函數指派為第 [2 版或第 3 版](user-pool-lambda-pre-token-generation.md#user-pool-lambda-pre-token-generation-event-versions)權杖產生前觸發條件。第 2 版事件會自訂使用者身分的存取權杖。第 3 版會自訂使用者和機器身分的存取權杖。

**進一步了解**
+ [自訂存取權杖](user-pool-lambda-pre-token-generation.md#user-pool-lambda-pre-token-generation-accesstoken)
+ [如何在 Amazon Cognito 使用者集區中自訂存取權杖](https://aws.amazon.com/blogs/security/how-to-customize-access-tokens-in-amazon-cognito-user-pools/)

## 電子郵件 MFA
<a name="features-email-mfa"></a>

Amazon Cognito 使用者集區可設定為使用電子郵件作為多重要素驗證 (MFA) 的第二個因素。使用電子郵件 MFA，Amazon Cognito 可以傳送電子郵件給使用者，其中包含他們必須輸入的驗證碼，以完成身分驗證程序。這會為使用者登入流程新增重要的額外安全層。若要啟用電子郵件型 MFA，使用者集區必須設定為使用 [Amazon SES 電子郵件傳送組態](user-pool-email.md#user-pool-email-developer)，而非預設的電子郵件組態。

當您的使用者透過電子郵件訊息選取 MFA 時，只要嘗試登入，Amazon Cognito 就會傳送一次性驗證碼到使用者註冊的電子郵件地址。然後，使用者必須將此程式碼提供給使用者集區，以完成身分驗證流程並取得存取權。這可確保即使使用者的使用者名稱和密碼遭到洩露，他們仍必須提供額外的因素，即透過電子郵件傳送的程式碼，才能存取您的應用程式資源。

如需詳細資訊，請參閱[SMS 和電子郵件訊息 MFA](user-pool-settings-mfa-sms-email-message.md)。以下是如何為電子郵件 MFA 設定使用者集區和使用者的概觀。

**在 Amazon Cognito 主控台中設定電子郵件 MFA**

1. 選取 Essentials 或 Plus 功能計劃。

1. 在使用者集區的**登入**選單中，編輯**多重要素驗證**。

1. 選擇您要設定的 **MFA 強制執行**層級。透過**需要 MFA**，API 中的使用者會自動收到使用 MFA 設定、確認和登入的挑戰。在需要 MFA 的使用者集區中，受管登入會提示他們選擇和設定 MFA 因素。使用**選用 MFA**，您的應用程式必須為使用者提供設定 MFA 和設定使用者電子郵件 MFA 偏好設定的選項。

1. 在 **MFA 方法**下，選取**電子郵件訊息**做為其中一個選項。

**進一步了解**
+ [SMS 和電子郵件訊息 MFA](user-pool-settings-mfa-sms-email-message.md)

## 防止密碼重複使用
<a name="features-password-reuse"></a>

根據預設，Amazon Cognito 使用者集區密碼政策會設定密碼長度和字元類型需求，以及暫時密碼過期。Essentials 計劃新增了強制執行密碼歷史記錄的功能。當使用者嘗試重設密碼時，您的使用者集區可能會阻止他們將其設定為先前的密碼。如需設定密碼政策的詳細資訊，請參閱 [新增使用者集區密碼要求](managing-users-passwords.md#user-pool-settings-policies)。以下是如何使用密碼歷史記錄政策設定使用者集區的概觀。

**在 Amazon Cognito 主控台中設定密碼歷史記錄**

1. 選取 Essentials 或 Plus 功能計劃。

1. 在使用者集區的**身分驗證方法**功能表中，找到**密碼政策**，然後選取**編輯**。

1. 設定其他可用選項，並設定**防止使用先前密碼**的值。

**進一步了解**
+ [密碼、帳戶復原和密碼政策](managing-users-passwords.md)

## 受管登入託管登入和授權伺服器
<a name="features-enhanced-ui"></a>

Amazon Cognito 使用者集區具有支援下列功能的選用網頁：OpenID Connect (OIDC) IdP、服務供應商或依賴第三方 IdPs以及用於註冊和登入的公有使用者互動頁面。這些頁面統稱為*受管登入*。當您為使用者集區選擇網域時，Amazon Cognito 會自動啟用這些頁面。當 Lite 計劃具有託管 UI 時，Essentials 計劃會開啟此進階版本的註冊和登入頁面。

受管登入頁面具有乾淨且up-to-date界面，具有更多用於自訂品牌和樣式的功能和選項。Essentials 計劃是解除鎖定受管登入存取權的最低計劃層級。

**在 Amazon Cognito 主控台中設定受管登入**

1. 從**設定**功能表中，選取基本或增強功能計劃。

1. 從**網域**功能表中，[將網域指派給](cognito-user-pools-assign-domain.md)使用者集區，然後選取**受管登入****的品牌版本**。

1. 從**受管登入**功能表的**樣式**索引標籤下，選擇**建立樣式**並將樣式指派給應用程式用戶端，或建立新的應用程式用戶端。

**進一步了解**
+ [使用者集區受管登入](cognito-user-pools-managed-login.md)

## 以選擇為基礎的身分驗證
<a name="features-user-auth"></a>

在增強型 UI 和 SDK 型 API 操作中，Essentials 層為身分驗證操作引入了新的身分*驗證流程*。此流程是*選擇型身分驗證*。以選擇為基礎的身分驗證是一種方法，其中使用者的身分驗證不是從登入方法的應用程式端宣告開始，而是查詢可能的登入方法，接著選擇。您可以將使用者集區設定為支援以選擇為基礎的身分驗證，並解鎖使用者名稱密碼、無密碼和密碼金鑰身分驗證。在 API 中，這是`USER_AUTH`流程。

**在 Amazon Cognito 主控台中設定以選擇為基礎的身分驗證**

1. 選取 Essentials 或 Plus 功能計劃。

1. 在使用者集區的**登入**功能表中，編輯以**選擇為基礎的登入選項**。選取並設定您要在以選擇為基礎的身分驗證中啟用的身分驗證方法。

1. 在使用者集區的**身分驗證方法**功能表中，編輯登入操作的組態。

**進一步了解**
+ [使用 Amazon Cognito 使用者集區進行身分驗證](authentication.md)