Amazon Cognito 使用者集區 - Amazon Cognito

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

Amazon Cognito 使用者集區

Amazon Cognito 使用者集區是用於網路和行動應用程式身份驗證和授權的使用者目錄。從應用程式的角度來看,Amazon Cognito 使用者集區是 OpenID Connect (OIDC) 身分識別提供者 (IdP)。使用者集區為安全性、聯合身分、應用程式整合和自訂使用者體驗新增額外的功能層。

例如,您可以驗證使用者的工作階段來自信任的來源。您可以將 Amazon Cognito 目錄與外部身分提供者結合使用。根據您的首選 AWS SDK,您可以選擇最適合您的應用程序的API授權模式。此外,您還可以新增 AWS Lambda 函數,修改或徹底改造 Amazon Cognito 的預設行為。

身分驗證概觀

功能

Amazon Cognito 使用者集區具有下列功能。

註冊

Amazon Cognito 使用者集區具有使用者驅動、管理員驅動和程式設計方法,將使用者設定檔新增至您的使用者集區。Amazon Cognito 使用者集區支援下列註冊模型。您可以在應用程式中任意組合使用模型。

重要

如果您在使用者集區中啟用使用者註冊,則網際網路上的任何人都可以註冊帳戶並登入您的應用程式。除非您想要開放您的應用程式供公開註冊,否則請勿在使用者集區中啟用自助註冊。若要變更此設定,請在使用者集區主控台的 [註冊] 體驗索引標籤中更新助註冊,或更新或要求 AllowAdminCreateUserOnly中的 CreateUserPool值。 UpdateUserPoolAPI

如需可在使用者集區中設定之安全功能的詳細資訊,請參閱 使用 Amazon Cognito 使用者集區安全性功能

  1. 您的使用者可以在您的應用程式中輸入他們的資訊,並建立您使用者集區原生的使用者設定檔。您可以呼叫註API冊作業,在使用者集區中註冊使用者。您可以向任何人打開這些註冊操作,也可以使用客戶端密鑰或 AWS 憑據對其進行授權。

  2. 您可以將使用者重新導向至第三方 IdP,他們可以授權將其資訊傳遞給 Amazon Cognito。Amazon Cognito 會將OIDC識別碼權杖、OAuth 2.0 userInfo 資料和 SAML 2.0 宣告處理到使用者集區中的使用者設定檔中。您可以根據屬性映射規則控制想要 Amazon Cognito 接收的屬性。

  3. 您可以跳過公開或聯合註冊,並根據自己的資料來源和結構描述建立使用者。直接在 Amazon Cognito 主控台或API新增使用者。從CSV檔案匯入使用者。運行一個在現有目錄中查找新用戶的 just-in-time AWS Lambda 函數,並從現有數據填充他們的用戶配置文件。

使用者註冊後,您可以將他們新增至 Amazon Cognito 列於存取和 ID 權杖清單中的群組。當您將 ID Token 傳遞給身分集區時,您也可以將使用者集區群組連結至IAM角色。

登入

Amazon Cognito 可以是您應用程式的獨立使用者目錄和身分提供者 (IdP)。您的使用者可以使用 Amazon Cognito 託管的使用者介面登入,或透過 Amazon Cognito 使用者集區使用您自己的使用者介面登入。API前端終端自訂使用者介面背後的應用程式層,可以使用多種方法中的任一種來請求後端,以確認合法請求。

若要使用外部目錄登入使用者 (選擇性地與 Amazon Cognito 內建的使用者目錄結合),您可以新增下列整合功能。

  1. 使用 OAuth 2.0 社交登錄登錄登錄並導入消費者用戶數據。Amazon Cognito 支持通過 OAuth 2.0 與谷歌,臉譜,Amazon 和蘋果登錄。

  2. 使用登錄並導入企業用戶數據SAML並OIDC登錄。您也可以將 Amazon Cognito 設定為接受來自任何SAML或 OpenID Connect (OIDC) 身分識別提供者 (IdP) 的宣告。

  3. 將外部使用者設定檔連結至原生使用者設定檔。連結的使用者可以使用第三方使用者身分登入,並接收您指派給內建目錄中使用者的存取權。

M achine-to-machine 授權

有些工作階段不是 human-to-machine 互動。您可能需要一個可以API通過自動流程授權請求的服務帳戶。要使用 OAuth 2.0 範圍生成 machine-to-machine 授權的訪問令牌,您可以添加生成客戶端憑據授權的應用程序客戶端。

託管 UI

當您不想建立使用者介面時,可以向使用者顯示自訂的 Amazon Cognito 託管 UI。託管 UI 是一組用於註冊,登錄,多因素身份驗證(MFA)和密碼重置的網頁。您可以將託管 UI 新增至您現有的網域,或在 AWS 子網域中使用前置碼識別碼。

安全

您的本機使用者可以透過SMS訊息或產生多重要素驗證 (MFA) 代碼的應用程式,提供額外的驗證因素。您可以構建機制以在應用程序MFA中設置和處理,也可以讓託管 UI 對其進行管理。當您的使用者從受信任的裝置登入MFA時,Amazon Cognito 使用者集區可以略過。

如果您不想最初MFA從用戶那裡需要,則可以有條件地要求它。透過進階安全功能,Amazon Cognito 可偵測潛在的惡意活動MFA,並要求使用者設定或封鎖登入。

如果進入您的使用者集區的網路流量可能是惡意的,您可以對其進行監控並採取行 AWS WAF 動ACLs。

自訂使用者體驗

在使用者註冊、登入或設定檔更新的大部分階段,您都可以自訂 Amazon Cognito 處理請求的方式。使用 Lambda 觸發程序,您可以根據自訂條件修改 ID 權杖或拒絕註冊請求。您可以建立自己的自訂身分驗證流程。

您可以上傳自定義CSS和徽標,以使託管 UI 具有熟悉的外觀和感覺給用戶。

監控與分析

Amazon Cognito 使用者集區會將請API求 (包括對託管使用者介面的請求) 記錄到 AWS CloudTrail. 您可以在 Service Quotas 主控台中檢閱 Amazon CloudWatch 日誌中的效能指標、使 CloudWatch 用 Lambda 觸發器將自訂日誌推送至,以及監控API請求量。

您也可以將API請求中的裝置和工作階段資料記錄到 Amazon Pinpoint 行銷活動。使用 Amazon Pinpoint,您可以根據對使用者活動的分析,從應用程式傳送推播通知。

Amazon Cognito 身分池整合

Amazon Cognito 的另一半是身分池。身分集區提供的登入資料可授權和監控來自使用者的API請求 (例如 Amazon DynamoDB 或 Amazon S3)。 AWS 服務您可以建立以身分為基礎的存取原則,根據您在使用者集區中對使用者進行分類的方式來保護您的資料。身份池還可以接受來自各種身份提供程序的令牌和 SAML 2.0 斷言,而不受用戶池身份驗證影響。