

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

# 常見 Amazon Cognito 術語和概念
<a name="cognito-terms"></a>

Amazon Cognito 提供 Web 和行動應用程式的登入資料。它從*身分和存取管理*中常見的術語中提取和建置。提供許多通用身分和存取術語的指南。部分範例如下：
+ IDPro 知識內文中的[術語](https://bok.idpro.org/article/id/41/) 
+ [AWS Identity Services](https://aws.amazon.com/identity/)
+ NIST CSRC 的[詞彙表](https://csrc.nist.gov/glossary) 

下列清單說明 Amazon Cognito 獨有或在 Amazon Cognito 中具有特定內容的術語。

**Topics**
+ [一般](#cognito-terms-general)
+ [使用者集區](#cognito-terms-user-pools)
+ [身分集區](#cognito-terms-identity-pools)

## 一般
<a name="cognito-terms-general"></a>

此清單中的術語不是 Amazon Cognito 特有的，且受到身分和存取管理從業人員的廣泛認可。下列不是詳細的術語清單，而是本指南中特定 Amazon Cognito 內容的指南。

**存取權杖**  <a name="terms-accesstoken"></a>
JSON Web 權杖 (JWT)，其中包含實體存取資訊系統[之授權](#terms-authorization)的相關資訊。

**應用程式、應用程式**  
一般而言，行動應用程式。在本指南中，*應用程式*通常是連接到 Amazon Cognito 的 Web 應用程式或行動應用程式的速記。

**屬性型存取控制 (ABAC)**  <a name="terms-abac"></a>
一種模型，其中應用程式會根據使用者的屬性來決定對資源的存取，例如其職稱或部門。用於強制執行 ABAC 的 Amazon Cognito 工具會在使用者集區中包含 ID 字符，並在身分集區中包含[主體標籤](#term-afac)。

**身分驗證**  <a name="terms-authentication"></a>
為存取資訊系統而建立真實身分的程序。Amazon Cognito 接受第三方身分提供者的身分驗證證明，同時也是軟體應用程式的身分驗證提供者。

**授權**  <a name="terms-authorization"></a>
將許可授予資源的程序。使用者集區[存取字符](#terms-accesstoken)包含應用程式可用來允許使用者和系統存取資源的資訊。

**授權伺服器**  <a name="term-authzserver"></a>
產生 [JSON Web 字符](#terms-jwt)的 OAuth 或 OpenID Connect (OIDC) 系統。Amazon Cognito 使用者集區[受管授權伺服器](#terms-managedauthorizationserver)是使用者集區中兩種身分驗證和授權方法的授權伺服器元件。使用者集區也支援 [SDK 身分驗證](#terms-upapi)中的 API 挑戰回應流程。

**機密應用程式、伺服器端應用程式**  
使用者從遠端連線的應用程式，具有應用程式伺服器上的程式碼和對秘密的存取。這通常是 Web 應用程式。

**Identity provider (IdP) (身分提供者 (IdP))**  <a name="terms-idp"></a>
存放和驗證使用者身分的服務。Amazon Cognito 可以向[外部供應商](#terms-externalprovider)請求身分驗證，並成為應用程式的 IdP。

**JSON Web 字符 (JWT)**  <a name="terms-jwt"></a>
JSON 格式的文件，其中包含有關已驗證使用者的宣告。ID 權杖驗證使用者、存取權杖授權使用者，以及重新整理權杖更新憑證。Amazon Cognito 會從[外部供應商](#terms-externalprovider)接收字符，並向應用程式或 發出字符 AWS STS。

**Machine-to-machine(M2M) 授權**  <a name="terms-m2m"></a>
向non-user-interactive機器實體的 API 端點授權請求的程序，例如 Web 伺服器應用程式層。使用者集區在[存取權杖](#terms-accesstoken)中使用 OAuth 2.0 範圍的用戶端憑證授予中提供 M2M 授權。

**多重要素驗證 (MFA)**  <a name="terms-mfa"></a>
使用者在提供使用者名稱和密碼後提供額外身分驗證的要求。Amazon Cognito 使用者集區具有[本機使用者的](#terms-localuser) MFA 功能。

**OAuth 2.0 （社交） 供應商**  <a name="terms-oauth"></a>
提供 [JWT](#terms-jwt) 存取和重新整理字符的使用者集區或身分集區的 IdP。Amazon Cognito 使用者集區會在使用者驗證後自動與社交供應商互動。

**OpenID Connect (OIDC) 供應商**  
將 IdP 擴展 [OAuth](#terms-oauth) 規格以提供 ID 字符的使用者集區或身分集區。Amazon Cognito 使用者集區會在使用者驗證後自動與 OIDC 供應商互動。

**Passkey、WebAuthn**  
一種身分驗證形式，其中使用者裝置上的密碼編譯金鑰或通行金鑰可提供身分驗證證明。使用者驗證硬體或軟體驗證器中是否存在生物識別或 PIN 碼機制。通行密鑰是網路釣魚持久性，繫結至特定網站/應用程式，提供安全的無密碼體驗。Amazon Cognito 使用者集區支援使用通行金鑰登入。

**無密碼**  
一種身分驗證形式，使用者不需要輸入密碼。無密碼登入的方法包括傳送到電子郵件地址和電話號碼的一次性密碼 (OTPs)，以及通行金鑰。Amazon Cognito 使用者集區支援使用 OTPs 和通行金鑰登入。

**公有應用程式**  
在裝置上獨立存在的應用程式，其程式碼存放在本機，無法存取秘密。這通常是行動應用程式。

**資源伺服器**  
具有存取控制的 API。Amazon Cognito 使用者集區也會使用*資源伺服器*來描述定義與 API 互動組態的元件。

**角色型存取控制 (RBAC)**  
根據使用者的功能指定授予存取權的模型。Amazon Cognito 身分集區實作 RBAC，並區分 IAM 角色。

**服務供應商 (SP)、依賴方 (RP)**  <a name="terms-relyingparty"></a>
依賴 IdP 來宣告使用者可信任的應用程式。Amazon Cognito 做為外部 IdPs SP，以及做為應用程式型 SPs IdP。

**SAML 供應商**  
使用者集區或身分集區的 IdP，可產生您的使用者傳遞給 Amazon Cognito 的數位簽署聲明文件。

**通用唯一識別符 (UUID)**  <a name="terms-uuid"></a>
套用至物件的 128 位元標籤。Amazon Cognito UUIDs每個使用者集區或身分集區都是唯一的，但不符合特定的 UUID 格式。

**使用者目錄**  <a name="terms-userdirectory"></a>
使用者及其屬性的集合，可將該資訊提供給其他系統。Amazon Cognito 使用者集區是使用者目錄，也是從外部使用者目錄整合使用者的工具。

## 使用者集區
<a name="cognito-terms-user-pools"></a>

當您在本指南中看到下列清單中的術語時，它們會參考使用者集區的特定功能或組態。

**自適應身分驗證**  <a name="terms-adaptiveauthentication"></a>
[進階安全性](#term-advancedsecurity)的功能，可偵測潛在的惡意活動，並將額外的安全性套用至[使用者設定檔](#terms-userprofile)。

**應用程式用戶端**  <a name="term-appclient"></a>
將使用者集區的設定定義為一個應用程式的 IdP 的元件。

**回呼 URL、重新導向 URI、傳回 URL**  <a name="term-callbackurl"></a>
[應用程式用戶端](#term-appclient)中的設定，以及使用者集區[授權伺服器](#terms-managedauthorizationserver)請求中的參數。回呼 URL 是您[應用程式中](#term-app)已驗證使用者的初始目的地。

**以選擇為基礎的身分驗證**  <a name="terms-choicebasedauthentication"></a>
使用者集區的 API 身分驗證形式，其中每個使用者都有一組可用的登入選項。他們的選擇可能包括含或不含 MFA 的使用者名稱和密碼、通行金鑰登入，或含電子郵件或簡訊一次性密碼的無密碼登入。您的應用程式可以透過請求身分驗證選項清單或宣告偏好的選項，來塑造使用者的選擇程序。  
與[用戶端型身分驗證](#terms-declarativeauthentication)進行比較。

**用戶端型身分驗證**  <a name="terms-declarativeauthentication"></a>
使用者集區 API 和應用程式後端以 AWS SDKs建置的一種身分驗證形式。在宣告式身分驗證中，您的應用程式會獨立判斷使用者應執行的登入類型，並請求預先輸入。  
與以[選擇為基礎的身分驗證](#terms-choicebasedauthentication)進行比較。

**憑證洩漏**  
[進階安全性](#term-advancedsecurity)的一項功能，可偵測攻擊者可能知道的使用者密碼，並將額外的安全性套用至[使用者設定檔](#terms-userprofile)。

**確認**  <a name="terms-confirmation"></a>
判斷已符合先決條件以允許新使用者登入的程序。確認通常透過電子郵件地址或電話號碼[驗證](#terms-verification)完成。

**自訂身分驗證**  
使用 [Lambda 觸發條件](#terms-triggers)來定義其他使用者挑戰和回應的身分驗證程序延伸。

**裝置身分驗證**  
以使用受信任裝置 ID 的登入來取代 [MFA](#terms-mfa) 的身分驗證程序。

**網域、使用者集區網域**  <a name="terms-domain"></a>
託管受[管登入頁面](#terms-managedlogin)的 Web 網域 AWS。您可以在您擁有的網域中設定 DNS，或在 AWS 擁有的網域中使用識別子網域字首。

**基本計劃**  <a name="terms-essentialsplan"></a>
具有使用者集區中最新開發[的功能計劃](#terms-featureplan)。Essentials 計劃不包含 [Plus 計劃](#terms-plusplan)中的自動學習安全功能。

**外部供應商、第三方供應商**  <a name="terms-externalprovider"></a>
與使用者集區具有信任關係的 IdP。使用者集區做為外部提供者與您的應用程式之間的中繼實體，使用 SAML 2.0、OIDC 和社交提供者管理身分驗證程序。使用者集區會將外部供應商身分驗證結果合併為單一 IdP，讓您的應用程式可以使用單一 OIDC 依賴方程式庫來處理許多使用者。

**特徵計劃**  <a name="terms-featureplan"></a>
您可以為使用者集區選取的功能群組。特徵計劃在 AWS 帳單中具有不同的成本。新使用者集區預設為 [Essentials 計劃](#terms-essentialsplan)。  

**目前的計劃**
+ [Lite 計劃](#terms-liteplan)
+ [基本計劃](#terms-essentialsplan)
+ [Plus 計劃](#terms-plusplan)

**聯合身分使用者、外部使用者**  <a name="terms-federateduser"></a>
使用者集區中由[外部供應商](#terms-externalprovider)驗證的使用者。

**託管 UI （傳統）、託管 UI 頁面**  <a name="terms-hostedui"></a>
使用者集區網域上身分驗證前端、依賴方和身分提供者服務的早期版本。託管 UI 具有一組基本功能和簡化的外觀和風格。您可以使用上傳標誌影像檔案和具有預定一組 CSS 樣式的檔案來套用託管 UI 品牌。與[受管登入](#terms-managedlogin)比較。

**Lambda 觸發程序**  <a name="terms-triggers"></a>
中的函數 AWS Lambda ，使用者集區可以在使用者身分驗證程序的重點自動叫用該函數。您可以使用 Lambda 觸發來自訂身分驗證結果。

**本機使用者**  <a name="terms-localuser"></a>
使用者集區[使用者目錄中](#terms-userdirectory)的使用者[描述](#terms-userprofile)檔，不是透過向[外部供應商](#terms-externalprovider)進行身分驗證所建立。

**連結的使用者**  <a name="terms-linkeduser"></a>
來自[外部供應商](#terms-externalprovider)的使用者，其身分會與[本機使用者](#terms-localuser)合併。

**Lite 計劃**  <a name="terms-liteplan"></a>
具有最初使用使用者集區啟動之功能的特徵[計劃](#terms-featureplan)。Lite 計劃不包含 [Essentials 計劃](#terms-essentialsplan)中的新功能或 [Plus 計劃](#terms-plusplan)中的自動學習安全功能。

**受管授權伺服器、託管 UI 授權伺服器、授權伺服器**  <a name="terms-managedauthorizationserver"></a>
[受管登入](#terms-managedlogin)的元件，託管與[使用者集區網域](#terms-domain)上 IdPs和應用程式互動的服務。[託管 UI](#terms-hostedui) 與其提供的使用者互動功能中的受管登入不同，但具有相同的授權伺服器功能。

**受管登入、受管登入頁面**  <a name="terms-managedlogin"></a>
[使用者集區網域](#terms-domain)上的一組網頁，用於託管服務以進行使用者身分驗證。這些服務包括以 [IdP](#terms-idp) 身分運作的函數、第三方 IdPs的[依賴方](#terms-relyingparty)，以及使用者互動式身分驗證 UI 的伺服器。當您為使用者集區設定網域時，Amazon Cognito 會將所有受管登入頁面上線。  
您的應用程式匯入 OIDC 程式庫，可叫用使用者的瀏覽器，並將其導向受管登入 UI，以進行註冊、登入、密碼管理和其他身分驗證操作。身分驗證之後，OIDC 程式庫可以處理身分驗證請求的結果。

**受管登入身分驗證**  <a name="terms-managedloginauthentication"></a>
使用[使用者集區網域](#terms-domain)上的服務登入，使用使用者互動式瀏覽器頁面或 HTTPS API 請求完成。應用程式使用 OpenID Connect (OIDC) 程式庫處理受管登入身分驗證。此程序包括使用[外部供應商](#terms-externalprovider)登入、使用互動式受管登入頁面的本機使用者登入，以及 [M2M 授權](#terms-m2m)。使用傳統[託管 UI](#terms-hostedui) 進行身分驗證也屬於此術語。  
與 [AWS SDK 身分驗證](#terms-upapi)比較。

**Plus 計劃**  <a name="terms-plusplan"></a>
具有使用者集區中最新開發和進階安全功能的功能[計劃](#terms-featureplan)。

**SDK 身分驗證、 AWS SDK 身分驗證**  
您可以使用 AWS SDK 將一組身分驗證和授權 API 操作新增至應用程式後端。此身分驗證模型需要您自己的自訂登入機制。API 可以登入[本機使用者](#terms-localuser)和[連結的使用者](#terms-linkeduser)。  
與[受管登入身分驗證](#terms-managedloginauthentication)比較。

**威脅防護、進階安全功能**  <a name="term-advancedsecurity"></a>
在使用者集區中，威脅防護是指旨在緩解對您的身分驗證和授權機制的威脅的技術。自適應身分驗證、遭盜用憑證偵測和 IP 地址封鎖清單都屬於威脅防護類別。

**字符自訂**  
權杖產生前 [Lambda 觸發](#terms-triggers)的結果，可在執行時間修改使用者的 ID 或存取權杖。

**使用者集區、Amazon Cognito 身分提供者、`cognito-idp`、Amazon Cognito 使用者集區**  
針對使用 OIDC IdPs的應用程式，具有身分驗證和授權服務 AWS 的資源。

**驗證**  <a name="terms-verification"></a>
確認使用者擁有電子郵件地址或電話號碼的程序。使用者集區會將代碼傳送給已輸入新電子郵件地址或電話號碼的使用者。當他們將程式碼提交至 Amazon Cognito 時，他們會驗證訊息目的地的擁有權，並可以從使用者集區接收其他訊息。此外，請參閱[確認](#terms-confirmation)。

**使用者設定檔、使用者帳戶**  <a name="terms-userprofile"></a>
使用者[目錄中的使用者](#terms-userdirectory)項目。所有使用者，包括來自第三方 IdPs的使用者，在其使用者集區中都有設定檔。

## 身分集區
<a name="cognito-terms-identity-pools"></a>

當您在本指南中看到下列清單中的術語時，它們會參考身分集區的特定功能或組態。

**存取控制的屬性**  <a name="term-afac"></a>
在身分集區中實作[屬性型存取控制](#terms-abac)。身分集區會將使用者屬性做為標籤套用至使用者憑證。

**基本 （傳統） 身分驗證**  
您可以在此身分驗證程序自訂[使用者登入](#terms-usercredentials)資料的請求。

**開發人員驗證的身分**  
使用開發人員[登入資料授權身分集區使用者](#terms-usercredentials)登入資料的身分驗證程序。 [開發人員登入資料](#terms-developercredentials)

**開發人員登入資料**  <a name="terms-developercredentials"></a>
身分集區管理員的 IAM API 金鑰。

**增強型身分驗證**  
一種身分驗證流程，可根據您在身分集區中定義的邏輯，選取 IAM 角色並套用主體標籤。

**Identity**  
[UUID](#terms-uuid)，可將應用程式使用者及其[使用者登入](#terms-usercredentials)資料連結至與身分集區具有信任關係的外部[使用者目錄中](#terms-userdirectory)的設定檔。

**身分集區、Amazon Cognito 聯合身分、Amazon Cognito 身分、 `cognito-identity`**  
針對使用[臨時 AWS 登入資料](#terms-usercredentials)的應用程式，具有身分驗證和授權服務 AWS 的資源。

**未驗證的 身分**  
未使用身分集區 IdP 登入的使用者。您可以允許使用者在身分驗證之前，為單一 IAM 角色產生有限的使用者登入資料。

**使用者登入資料**  <a name="terms-usercredentials"></a>
使用者在身分集區身分驗證後收到的臨時 AWS API 金鑰。