Amazon Cognito 功能

什麼是 Amazon Cognito?

藉助 Amazon Cognito,您可以在幾分鐘內將使用者註冊、登入、存取控制以及代理 AWS 服務存取權新增至您的 Web 和行動應用程式。它是以開發人員為中心、經濟高效的服務,提供安全、基於租用戶的身分儲存和聯合選項,可擴展到服務數百萬使用者。Amazon Cognito 可協助您建立品牌客戶體驗、提高安全性,以及依據客戶需求進行調整。例如,它支援使用社交身分供應商登入,以及使用 WebAuthn 通行密鑰或 SMS 和電子郵件一次性密碼進行無密碼登入。Amazon Cognito 支援各種合規標準,依據開放身分標準執行,並且整合大量開發資源和 SDK 程式庫。

使用者身分驗證

開發人員可以使用無程式碼的視覺編輯器來調整最終使用者螢幕 (例如註冊、登入和 MFA) 的顯示方式。組態參數包括顏色、定位、對齊、文字、語言、背景、影像、標誌、字體和版面配置等。使用這些組態選項,可以與消費者品牌風格密切相符,並且 Cognito 提供的使用者體驗可以與應用程式的其餘部分更加一致和緊密結合。

客戶可以設定 Amazon Cognito,讓最終使用者無需記住密碼即可存取應用程式,從而減少摩擦、提高安全性,並提高使用者轉化率。支援的無密碼身分驗證流程包括使用電子郵件登入、使用電話/SMS 登入以及使用通行密鑰登入。這種靈活性可增強使用者體驗並簡化登入程序。

WebAuthn 通行密鑰可避免使用者輸入密碼,並且降低網路釣魚和憑證被盜的風險,從而增強安全性。它們藉助更快速、更方便的身分驗證方法 (例如生物識別或硬體字符) 提供流暢的使用者體驗。此外,通行密鑰利用公有金鑰加密技術並確保永遠不會傳輸敏感資訊或將其儲存在伺服器上,以此提高整體帳戶的安全性。Amazon Cognito 提供 [受管登入] 和 API 支援,為每個帳戶建立和儲存最多 20 個通行密鑰。

您可以透過針對使用者帳戶啟用 MFA,為客戶提供額外的一層安全機制。使用者可使用電子郵件、SMS 或以時間為基礎的一次性密碼 (TOTP) 產生器 (例如 Google Authenticator) 驗證其身分。Amazon Cognito 還支援在不同的使用者集區上設定不同的密碼規則。

作為聯合中心,Amazon Cognito 讓使用者能夠透過社交身分供應商 (例如 Apple、Facebook、Google 和 Amazon),以及透過 SAML 和 OIDC 的企業身分供應商登入。Amazon Cognito 支援多種 SAML 設定檔,包括 SAML SP 啟動的流程、IdP 啟動的流程和 SAML 加密。您的使用者登入 Amazon Cognito (透過本機身分驗證或外部聯合身分驗證) 後,即可使用 OAuth/OIDC 存取聯合資源。

Amazon Cognito 可讓您建置自訂身分驗證流程,該流程使用 AWS Lambda 函數根據一個或多個挑戰-回應週期來驗證使用者的身分。您可以使用此流程來實作以自訂挑戰為基礎的專屬身分驗證方案,或將自訂挑戰用作其他因素。

使用 AWS Lambda 觸發程式來自訂 Cognito 行為,包括使用者生命週期階段,如驗證前後、登入前後或字符簽發之前。您也可以使用 Lambda 觸發程式來自訂在不同階段傳送給使用者的訊息,或與第三方電子郵件和 SMS 供應商整合的訊息。

身分管理

客戶對您網站的第一次體驗通常需要完成自我註冊程序。Amazon Cognito 提供可自訂、預先封裝的受管登入介面以快速進入市場,並提供一組強大的 API 以建置完全自訂的自我註冊解決方案。使用者可使用應用程式的電子郵件、電話號碼或使用者名稱進行註冊。自我註冊程序讓使用者能夠檢視和更新其個人檔案資料,包括自訂屬性。使用自助式選項減少了服務台呼叫,例如透過簡訊或電子郵件重設密碼。

Amazon Cognito 提供可擴展至數百萬使用者的以租用戶為基礎的安全身分存放區 (使用者集區)。使用者集區為直接註冊的使用者,以及使用外部身分供應商註冊的聯合身分使用者,安全地儲存使用者個人檔案資料。

Amazon Cognito 身分儲存體是以 API 為基礎的使用者儲存庫。儲存庫和 API 支援每個使用者最多儲存 50 個自訂屬性,支援不同的資料類型,並強制執行長度和可變性條件約束。選取使用者在完成註冊程序之前必須提供的必要屬性。

使用者可使用批次匯入或即時 (JIT) 遷移,以遷移至 Amazon Cognito。批次使用者遷移將善用 CSV 檔案匯入程序。使用 JIT 遷移程序,AWS Lambda 觸發器會將遷移程序整合至註冊工作流程中,並且可保留使用者的密碼。

Amazon Cognito 透過多租用戶的支援,實現了 B2B 的互動。您可以選擇重複使用應用程式整合、存取權和密碼政策,或實施完整的租用戶隔離。

存取控制

Amazon Cognito 保障與應用程式最後一英里的整合。AWS AppSync、Amazon Application Load Balancer (ALB) 和 Amazon API Gateway 具有內建的政策執行點,可提供以 Amazon Cognito 為基礎的字符和範圍的存取。

使用 Amazon Verified Permissions 快速入門,客戶可以自動產生許可政策,根據 Cognito 群組成員資格指派以角色為基礎的存取控制,以及強制執行精細的授權。Amazon Verified Permissions 具有內建的字符授權方,其支援 Amazon Cognito ID 和存取字符,包括複雜的「字符中的字符」結構。

Amazon Cognito 的憑證代理程式 (也稱為 Amazon Cognito 身分集區) 提供對 AWS 資源的單一登入存取,例如 Amazon DynamoDB、Amazon S3 儲存貯體、AWS Lambda 無伺服器元件和其他 Amazon 服務。使用者可動態映射至不同的角色,以支援對服務的最低權限存取。

Amazon Cognito 使用 OAuth 用戶端憑證流,來提供機器對機器的身分驗證,並確保應用程式元件之間的安全體驗。

以 OAuth 2.0 範圍和聲明的形式來擴充 ID 和存取字符的功能。您可以使用存取字符中的自訂屬性來做出應用程式特定的進階授權決策。此功能還能讓您對終端使用者體驗進行個人化,提升客戶參與度。

客戶體驗

使用資料驅動的方法來推動客戶獲取和保留。使用 Amazon Pinpoint 啟動客戶拓展活動並追蹤參與度。Amazon Pinpoint 為以 Amazon Cognito 為基礎的使用者活動提供分析,而 Amazon Cognito 則豐富了 Pinpoint 活動的使用者資料。

AWS Amplify 是一組專門建置的工具和功能,讓前端 Web 和行動開發人員可以快速輕鬆地在 AWS 上建置完整堆疊應用程式,並且靈活地利用廣泛的 AWS 服務以因應使用案例的發展。藉助 Amplify,您可以使用 Amazon Cognito 在幾分鐘內設定 Web 或行動應用程式後端並連線您的應用程式,以視覺方式建置 Web 前端 UI,以及在 AWS Console 外部輕鬆管理應用程式內容。更快速交付並且輕鬆擴展 – 不需要雲端專業技能。

CIAM 解決方案是定製解決方案。Amazon Cognito 提供一組強大的掛鉤和延伸,來完全自訂身分驗證、註冊和使用者遷移流程。例如,可透過自訂身分證明和帳戶驗證檢查,來增強自我註冊流程,並且可延伸至登入程序,以建立自訂身分驗證流程或在產生字符之前對其進行修改。

Amazon Cognito SDK 可使用 Java、C++、PHP、Python、Golang、Ruby、.NET 和 JavaScript。

進階安全

透過與 AWS Web Application Firewall (AWS WAF) 的內建整合,Amazon Cognito 提供進階機器人偵測功能,可協助您的組織免於為自動化帳戶付費並降低機器人攻擊帶來的影響。

Amazon Cognito 可即時偵測和防止在使用者註冊、登入或變更密碼時重複使用遭入侵的憑證。當 Amazon Cognito 偵測到使用者輸入的登入資料在其他地方遭到盜用,便會要求他們變更密碼。

透過自適應身分驗證,保護您的使用者帳戶並增強其登入體驗。當 Amazon Cognito 偵測到不尋常的活動時 (如嘗試從新的位置和裝置登入,或者基於 IP 地理位置的不可能旅行條件),將給予一個風險分數,讓您選擇要求使用者提出額外驗證,或者封鎖登入請求。

稽核與合規

Amazon Cognito 支援使用 AWS CloudTrail、Amazon CloudWatch 指標和 Amazon CloudWatch Logs Insights 進行監控。藉助 CloudTrail,您可以從 Amazon Cognito 主控台擷取 API 呼叫,以及從程式碼呼叫到 Amazon Cognito API 操作的過程。您可以使用 CloudWatch 指標,在近乎即時的情況下監控、報告和採取自動操作。使用 CloudWatch Logs Insights,您可以將 CloudTrail 設定為將事件傳送至 CloudWatch,以監控 Amazon Cognito 日誌檔案。

Amazon Cognito 針對登入、註冊和密碼變更等使用者事件提供進階日誌記錄,以此擷取風險層級、位置、來源 IP 和使用者代理程式等詳細請求資料。客戶可透過 Amazon Kinesis Data Firehose 將此事件日誌資料串流至 Amazon CloudWatch、Amazon S3 或第三方日誌彙總解決方案。這樣就可對使用者活動進行全面監控和分析。

Amazon Cognito 符合多項安全與合規要求,包含醫療保健公司和商店等高度管制組織。Amazon Cognito 符合 HIPAA 規範,且符合 PCI DSS、SOC 和 ISO/IEC 27001、ISO/IEC 27017、ISO/IEC 27018 和 ISO 9001 標準。