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 使用者集區支援下列註冊模型。您可以在應用程式中任意組合使用模型。

重要

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

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

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

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

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

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

登入

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

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

  1. 使用 2.0 OAuth 社交登入來登入和匯入消費者使用者資料。Amazon Cognito 支援透過 2.0 使用 Google、Facebook、Amazon 和 Apple OAuth 登入。

  2. 使用 和 OIDC 登入來登入SAML和匯入企業使用者資料。您也可以設定 Amazon Cognito 接受來自任何 SAML或 OpenID Connect (OIDC) 身分提供者 (IdP的宣告。

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

M achine-to-machine 授權

有些工作階段不是 human-to-machine 互動。您可能需要一個服務帳戶,以API透過自動化程序向 授權請求。若要產生存取權杖以進行 2.0 OAuth 範圍 machine-to-machine 的授權,您可以新增產生用戶端憑證授予 的應用程式用戶端。

託管 UI

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

安全

您的本機使用者可以使用SMS訊息中的程式碼,或產生多因素身分驗證 (MFA) 程式碼的應用程式,來提供額外的身分驗證因素。您可以建置機制以在MFA應用程式中設定和處理,也可以讓託管 UI 管理它。當您的使用者從信任的裝置登入MFA時,Amazon Cognito 使用者集區可以略過 。

如果您不想一開始MFA向使用者要求 ,您可以有條件地要求它。透過進階安全功能,Amazon Cognito 可以偵測潛在的惡意活動,並要求您的使用者設定 MFA或封鎖登入。

如果傳送至使用者集區的網路流量可能是惡意的,您可以監控它並使用 AWS WAF Web 採取行動ACLs。

自訂使用者體驗

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

您可以上傳自訂CSS和標誌,為您的使用者提供熟悉的外觀和感覺。

監控與分析

Amazon Cognito 使用者將日誌API請求,包括對託管 UI 的請求,集區至 AWS CloudTrail。您可以在 Amazon CloudWatch Logs 中檢閱效能指標、 CloudWatch 使用 Lambda 觸發程序將自訂日誌推送至 ,以及在 Service Quotas 主控台中監控API請求磁碟區。

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

Amazon Cognito 身分池整合

Amazon Cognito 的另一半是身分池。身分集區提供憑證,可授權和監控來自 使用者的API請求 AWS 服務,例如 Amazon DynamoDB 或 Amazon S3。您可以建立以身分為基礎的存取原則,根據您在使用者集區中對使用者進行分類的方式來保護您的資料。身分集區也可以接受來自各種身分提供者的權杖和 SAML 2.0 宣告,而不需要使用者集區身分驗證。