用戶身份認證授權-Amazon Cognito

用戶身份認證授權-Amazon Cognito

專用API
【更新時間: 2024.04.11】 Amazon Cognito作為AWS的安全性、身份與合規(guī)性產品之一,每月處理超過1000億次身份驗證,它為Web和移動應用程序提供了全面的客戶身份和訪問管理(CIAM)解決方案。
免費 (永久免費) 去服務商官網采購>
瀏覽次數
61
采購人數
4
試用次數
0
! SLA: N/A
! 響應: N/A
! 適用于個人&企業(yè)
收藏
×
完成
取消
×
書簽名稱
確定
<
產品介紹
>

什么是Amazon Cognito的用戶身份認證授權?

Amazon Cognito是AWS提供的一種用戶身份和訪問管理服務,它能夠幫助開發(fā)者在Web和移動應用程序中輕松實現客戶身份驗證、授權和用戶管理等功能,為應用程序提供安全、可擴展的身份和訪問控制解決方案,支持多種身份驗證方式,包括本地用戶池、社交身份提供商和企業(yè)身份提供商等,同時具備高級安全功能,如基于風險的自適應身份驗證和憑證泄露監(jiān)控等,以滿足不同應用程序的安全需求。

 

什么是Amazon Cognito的用戶身份認證授權接口?

由服務使用方的應用程序發(fā)起,以Restful風格為主、通過公網HTTP協議調用Amazon Cognito的用戶身份認證授權,從而實現程序的自動化交互,提高服務效率。

Amazon Cognito的用戶身份認證授權有哪些核心功能?

1.  用戶身份驗證和授權:Amazon Cognito提供了強大的用戶身份驗證機制,支持本地用戶注冊和登錄,同時也允許用戶通過社交賬號(如Facebook、Google等)或企業(yè)身份提供商(如Active Directory)進行登錄。它還支持多因素認證(MFA),為用戶提供額外的安全保護。此外,Cognito可以為應用程序后端資源提供細粒度的訪問控制,確保只有授權用戶才能訪問特定資源。

2.  高級安全功能:該服務具備一系列高級安全特性,例如基于風險的自適應身份驗證,能夠根據用戶的行為和上下文信息動態(tài)調整身份驗證要求,提高安全性的同時減少對用戶的干擾。憑證泄露監(jiān)控功能可以檢測用戶憑據是否在已知的數據泄露事件中被泄露,并及時通知用戶進行密碼更改。安全指標則幫助開發(fā)者監(jiān)控和評估應用程序的安全狀況,及時發(fā)現潛在的安全問題。

3.  可擴展的用戶目錄:Amazon Cognito擁有完全托管式的高性能用戶目錄,能夠支持數百萬用戶規(guī)模的應用程序。它提供了靈活的用戶管理功能,包括用戶注冊、屬性管理、分組管理等,方便開發(fā)者根據業(yè)務需求對用戶進行分類和管理。此外,Cognito還支持用戶池的自定義屬性,允許開發(fā)者存儲和檢索與用戶相關的額外信息,以滿足特定業(yè)務場景的需求。

4.  聯合身份登錄功能:通過支持OIDC Connect和SAML 2.0等標準協議,Amazon Cognito可以實現與各種身份提供商的聯合身份登錄。這意味著用戶可以使用他們現有的身份憑證無縫訪問應用程序,無需創(chuàng)建新的賬戶。同時,Cognito還可以與AWS服務(如Amazon S3、Amazon DynamoDB、AWS Lambda等)進行集成,為用戶提供對這些服務的基于角色的訪問權限,簡化了應用程序與AWS資源的交互。

5.  開發(fā)者友好性:Amazon Cognito提供了豐富的開發(fā)工具和文檔,幫助開發(fā)者快速上手和集成。它支持多種編程語言和平臺,提供了軟件開發(fā)工具包(SDK)和命令行界面(CLI),方便開發(fā)者在不同的開發(fā)環(huán)境中使用Cognito的功能。此外,Cognito還提供了詳細的API參考文檔和開發(fā)指南,為開發(fā)者提供了清晰的操作步驟和最佳實踐建議。

成本效益:Amazon Cognito采用了靈活的定價模式,根據實際使用量計費,無需預付費用或簽訂長期合同。對于許多初創(chuàng)企業(yè)和中小型企業(yè)來說,這種定價模式可以有效降低身份和訪問管理的成本。同時,Cognito還提供了免費套餐,允許開發(fā)者在一定額度內免費使用服務,這對于開發(fā)和測試階段的應用程序非常有幫助。

Amazon Cognito的用戶身份認證授權的核心優(yōu)勢是什么?

1.  簡化身份管理:Amazon Cognito極大地簡化了應用程序的身份管理流程。開發(fā)者無需從頭構建和維護復雜的用戶身份驗證和授權系統(tǒng),而是可以利用Cognito提供的現成功能,快速實現用戶注冊、登錄、密碼重置等功能。這不僅節(jié)省了開發(fā)時間和成本,還減少了因身份管理不當而帶來的安全風險。例如,對于一個需要快速上線的移動應用程序,開發(fā)者可以在短短幾分鐘內集成Cognito,為用戶提供流暢的登錄體驗,同時確保應用程序的安全性。

2.  強大的安全特性:在當今數字化時代,應用程序的安全性至關重要。Amazon Cognito提供了全面的安全功能,如自適應身份驗證、憑證泄露監(jiān)控等,幫助開發(fā)者保護用戶數據和應用程序的安全。這些安全特性可以有效防止惡意攻擊和數據泄露事件的發(fā)生,增強用戶對應用程序的信任。例如,當檢測到用戶登錄行為異常時,Cognito可以自動要求用戶進行額外的身份驗證步驟,從而阻止?jié)撛诘墓粽咴L問用戶賬戶。

3.  高性能和可擴展性:隨著應用程序用戶數量的增長,身份管理系統(tǒng)的性能和可擴展性成為關鍵因素。Amazon Cognito的高性能用戶目錄能夠輕松應對數百萬用戶規(guī)模的訪問請求,確保用戶在高峰時段也能獲得快速、穩(wěn)定的登錄體驗。此外,Cognito的可擴展架構可以根據應用程序的實際需求自動調整資源,無需開發(fā)者進行復雜的配置和優(yōu)化,使得應用程序能夠平滑地擴展到更大的用戶群體。

4.  無縫集成AWS服務:作為AWS生態(tài)系統(tǒng)的一部分,Amazon Cognito與AWS的其他服務緊密集成。開發(fā)者可以輕松地將Cognito與Amazon S3、Amazon DynamoDB、AWS Lambda等服務結合使用,實現應用程序與AWS資源的安全交互。例如,一個需要訪問用戶數據的應用程序后端可以使用Cognito提供的訪問令牌,以授權的方式訪問存儲在Amazon DynamoDB中的用戶信息,而無需擔心安全問題。

5.  靈活的定制能力:盡管Amazon Cognito提供了豐富的預設功能,但它也允許開發(fā)者根據自己的業(yè)務需求進行定制。開發(fā)者可以自定義用戶界面、身份驗證流程和用戶屬性等,使身份管理功能與應用程序的整體風格和業(yè)務邏輯保持一致。例如,開發(fā)者可以為登錄頁面添加自己的品牌元素,或者根據特定業(yè)務規(guī)則調整用戶注冊時需要填寫的信息字段。

6.  全球可用性和合規(guī)性:AWS在全球范圍內擁有廣泛的基礎設施,Amazon Cognito也受益于此,能夠為全球用戶提供一致的身份管理服務。同時,Cognito遵循嚴格的合規(guī)性標準,幫助開發(fā)者滿足不同地區(qū)的數據保護法規(guī)要求。這對于那些需要在全球范圍內運營并遵守當地法律法規(guī)的應用程序來說非常重要,例如,一個跨國電子商務平臺可以利用Cognito確保用戶數據的合規(guī)存儲和處理。

在哪些場景會用到Amazon Cognito的用戶身份認證授權?

1.  移動應用程序開發(fā)

在移動應用程序中,用戶身份驗證是一個基本需求。Amazon Cognito可以為移動應用提供簡單、安全的登錄功能,支持本地用戶注冊和社交賬號登錄。例如,一款社交類移動應用可以通過集成Cognito,讓用戶使用Facebook或Google賬號快速登錄,同時還可以利用Cognito的用戶管理功能,對用戶的好友列表、興趣愛好等信息進行存儲和管理,提升用戶體驗。

 

 

2.  Web應用程序安全

對于Web應用程序,尤其是涉及敏感數據或需要用戶授權訪問的應用,如在線銀行、醫(yī)療健康平臺等,Amazon Cognito的高級安全功能至關重要。它可以提供基于風險的自適應身份驗證,防止惡意攻擊者通過弱密碼或被盜憑據登錄用戶賬戶。同時,Cognito還可以與Web應用程序的后端服務進行集成,實現對AWS資源的安全訪問控制,確保用戶數據的安全性和隱私性。

 

 

3.  企業(yè)級應用程序

在企業(yè)環(huán)境中,通常需要與現有的身份提供商(如Active Directory)進行集成,以實現員工的單點登錄(SSO)。Amazon Cognito支持與企業(yè)身份提供商的聯合身份登錄,使得員工可以使用現有的企業(yè)憑證訪問基于云的應用程序和資源。例如,一家大型企業(yè)可以利用Cognito將內部的ERP系統(tǒng)、CRM系統(tǒng)等與AWS上的應用程序進行集成,員工只需登錄一次即可訪問所有相關系統(tǒng),提高了工作效率并降低了管理成本。

 

 

4.  物聯網(IoT)設備管理

隨著物聯網的發(fā)展,越來越多的設備需要接入網絡并進行身份認證。Amazon Cognito可以為IoT設備提供身份驗證和授權服務,確保只有經過授權的設備能夠連接到云平臺并發(fā)送數據。例如,在智能家居系統(tǒng)中,各種智能設備(如智能燈泡、智能插座等)可以通過Cognito進行身份認證,然后將數據安全地傳輸到AWS IoT平臺進行處理和分析,實現設備之間的互聯互通和智能控制。

 

 

5.  多租戶應用程序

對于一些面向多個客戶的SaaS(Software as a Service)應用程序,需要對不同客戶的數據進行隔離和管理。Amazon Cognito提供了多租戶支持,允許開發(fā)者為每個客戶創(chuàng)建獨立的用戶池和訪問控制策略。例如,一個在線教育平臺可以為每個學校或機構創(chuàng)建一個租戶,學校管理員可以管理自己的學生和教師賬戶,同時Cognito確保不同學校之間的數據完全隔離,保障了數據的安全性和隱私性。

 

 

6.  無服務器應用程序

在無服務器架構中,應用程序的后端邏輯通常以AWS Lambda函數的形式運行。Amazon Cognito可以與AWS Lambda緊密集成,為無服務器應用程序提供用戶身份驗證和授權服務。例如,一個無服務器架構的移動應用后端可以通過Cognito驗證用戶的請求,然后觸發(fā)相應的Lambda函數來處理業(yè)務邏輯,如數據查詢、更新等操作,同時Cognito還可以管理用戶的會話和令牌,簡化了無服務器應用程序的開發(fā)和部署過程。

 

<
使用指南
>

Amazon Cognito API 開發(fā)指南

簡介

Amazon Cognito 是一種用于用戶身份驗證和訪問控制的服務。它使開發(fā)者能夠輕松地添加用戶注冊、登錄和訪問控制功能到他們的應用程序中。

準備工作

注冊 AWS 賬戶

  1. 打開 AWS 注冊頁面
  2. 按照在線說明進行操作,完成注冊。
  3. 注冊過程中,您需要接聽電話并輸入驗證碼。
  4. 注冊完成后,您將收到一封確認電子郵件。

創(chuàng)建具有管理權限的用戶

  1. 登錄 AWS 管理控制臺,使用您的根用戶憑證。
  2. 為根用戶啟用多重身份驗證 (MFA)。
  3. 啟用 AWS IAM Identity Center。
  4. 在 IAM 身份中心中,創(chuàng)建一個具有管理權限的用戶。

Amazon Cognito 概述

用戶池

用戶池是一個用戶目錄,您可以使用它來管理用戶注冊和登錄。用戶池提供以下功能:

  • 用戶注冊和登錄
  • 密碼恢復
  • 用戶屬性管理

身份池

身份池允許您為用戶提供 AWS 資源的臨時訪問權限。您可以使用身份池實現以下功能:

  • 社交身份提供商(如 Facebook、Google)的身份驗證
  • 匿名身份驗證
  • AWS 資源訪問權限控制

API 參考

用戶池 API

  • CreateUserPool: 創(chuàng)建一個新的用戶池。
  • AdminCreateUser: 在用戶池中創(chuàng)建一個新用戶。
  • AdminInitiateAuth: 使用管理員權限對用戶進行身份驗證。
  • ConfirmSignUp: 確認用戶注冊。

身份池 API

  • CreateIdentityPool: 創(chuàng)建一個新的身份池。
  • GetId: 獲取身份池的身份 ID。
  • GetCredentialsForIdentity: 獲取與身份相關的臨時 AWS 憑證。
  • ListIdentities: 列出身份池中的所有身份。

安全最佳實踐

  1. 使用多重身份驗證 (MFA): 為用戶啟用 MFA,以增加安全性。
  2. 遵循最小權限原則: 為用戶分配最小的權限集,以減少潛在的安全風險。
  3. 定期審計權限: 定期檢查和更新用戶權限,確保符合安全政策。

示例代碼

以下是一個使用 AWS SDK for JavaScript 的示例代碼,演示如何創(chuàng)建用戶池:

const AWS = require('aws-sdk');
const cognito = new AWS.CognitoIdentityServiceProvider();

const params = {
  PoolName: 'MyUserPool',
  AliasAttributes: ['email'],
  AutoVerifiedAttributes: ['email']
};

cognito.createUserPool(params, (err, data) => {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});

常見問題

  1. 如何重置用戶密碼?
    • 您可以使用 ForgotPassword API 來重置用戶密碼。
  1. 如何處理用戶登錄失?。?/span>
    • 使用 AdminInitiateAuth API,您可以獲取錯誤代碼并根據錯誤類型提供適當的反饋。
  1. 如何管理用戶屬性?
    • 使用 AdminUpdateUserAttributes API 更新用戶屬性。

通過遵循本指南,您可以有效地使用 Amazon Cognito 來管理用戶身份驗證和訪問控制。

 

詳情查看鏈接:https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-getting-started-account-iam.html

<
產品問答
>
?
什么是 Amazon Cognito?
借助 Amazon Cognito,您可以在幾分鐘內將用戶注冊、登錄、訪問控制和代理的 AWS 服務訪問權限添加到您的 Web 應用程序和移動應用程序中。它是一項以開發(fā)人員為中心且經濟高效的服務,可提供安全、基于租戶并能夠擴展到數百萬用戶的身份存儲和聯合身份驗證選項。Amazon Cognito 可以幫助您創(chuàng)建品牌客戶體驗、提高安全性并適應您客戶的需求。例如,它支持通過社交身份提供商進行登錄,以及使用 WebAuthn 通行密鑰或者短信和電子郵件一次性密碼進行無密碼登錄。Amazon Cognito 支持多種合規(guī)性標準,按照開放身份標準運行,并與大量的開發(fā)資源和軟件開發(fā)工具包庫集成。 借助 Amazon Cognito,您可以專注于創(chuàng)建卓越的應用程序體驗,而不用擔心如何構建、保護和擴展解決方案以進行用戶管理和身份驗證。
?
如何開始使用 Amazon Cognito?
您可以訪問 AWS 管理控制臺,以輕松開始使用這項服務。如果您沒有 Amazon Web Services 賬戶,可以在登錄控制臺時創(chuàng)建一個。創(chuàng)建用來管理用戶的用戶池或用于聯合身份的身份池之后,即可將您的應用程序和 API 與 OAuth 和 OpenID Connect(OIDC)集成。
?
誰應該使用 Amazon Cognito?
Amazon Cognito 是專為想要將用戶管理和同步功能添加到其移動和 Web 應用程序的開發(fā)人員設計的。開發(fā)人員可以使用 Cognito Identity 將注冊和登錄功能添加到他們的應用程序,以便用戶能夠安全訪問其應用程序的資源。Cognito 還使得開發(fā)人員能夠跨設備、平臺和應用程序同步數據。
?
Amazon Cognito 是否會公開服務器端 API?
符合。Cognito 會公開服務器端 API。您可以直接調用這些 API 來創(chuàng)建您自己的連接至 Cognito 的自定義接口。服務器端 API 在《開發(fā)人員指南》中予以說明。
?
Amazon Cognito 支持哪些平臺?
選配的 AWS 移動開發(fā)工具包中包含對 Cognito 的支持,目前支持的平臺有 iOS、Android、Unity 和 Kindle Fire。還可以在適用于 .NET、C++、Go、Java、JavaScript、PHP v3、Python、Ruby v3 的 AWS SDK 以及命令行界面中使用 Cognito。
?
可不可以使用 AWS Mobile SDK?
不可以。Cognito 會以 Web 服務的形式公開其控制和數據 API。您可以使用自己的客戶端庫來直接調用服務器端 API。
?
Amazon Cognito 支持哪些形式的身份驗證?
對于第一要素身份驗證器,Amazon Cognito 支持用戶名/密碼、電子郵件 OTP 無密碼、短信 OTP 無密碼和 WebAuthn 通行密鑰。Cognito 支持以下多重身份驗證器(MFA):電子郵件 OTP、短信 OTP 和 TOTP 身份驗證器。此外,客戶和合作伙伴還可以使用 AWS Lambda 擴展,通過自定義身份驗證流程實現對第三方產品和定制身份驗證器的支持。
?
我能否使用自己的身份提供商來支持用戶注冊和登錄功能?
可以。借助 Amazon Cognito,您可以輕松且安全地將注冊和登錄功能添加到您的應用程序中。您的用戶可以使用電子郵件、手機號碼或用戶名進行注冊和登錄。您也可以實現增強型安全功能,例如電子郵件驗證、電話號碼驗證和多重驗證。借助 Cognito,您可以自定義工作流,例如為用戶注冊功能添加特定于應用程序的邏輯,以通過 AWS Lambda 進行欺詐檢測和用戶驗證。要了解更多信息,請訪問我們的文檔。
?
什么是 Amazon Cognito 用戶池?
用戶池是一個基于租戶的用戶目錄,您可以為您的 Web 應用程序和移動應用程序配置此目錄。用戶池可以安全地存儲用戶的資料屬性,并支持自定義架構。您可以使用 AWS 管理控制臺、AWS CLI 或 AWS 開發(fā)工具包創(chuàng)建和管理用戶群體。
?
我能否驗證用戶在注冊應用程序時使用的電子郵件地址和電話號碼?
能。借助 Amazon Cognito,您可以要求驗證用戶的電子郵件地址和電話號碼,然后再向其提供對您應用程序的訪問權限。在注冊過程中,系統(tǒng)將向用戶的電話號碼或電子郵件地址發(fā)送驗證碼,用戶必須輸入該驗證碼才能完成注冊并得到確認。
<
關于我們
>
亞馬遜云科技(Amazon Web Services,簡稱AWS)是全球領先的云計算服務提供商,提供包括計算、存儲、數據庫、分析、機器學習、物聯網、移動、安全、混合云、虛擬和增強現實等在內的廣泛服務。AWS在全球34個地理區(qū)域內運營108個可用區(qū),服務超過200個國家和地區(qū),幫助企業(yè)、開發(fā)者和政府機構構建靈活、可靠、可擴展的云基礎設施。作為亞馬遜公司的一部分,AWS致力于提供創(chuàng)新的云解決方案,支持客戶實現數字化轉型。
聯系信息
服務時間: 早9:00-晚8:00 (法定假期除外)
電話號碼: +86 (10) 1010 0866
網頁在線客服: 咨詢

AWS 云計算

Amazon Web Services(AWS)是全球最全面、應用最廣泛的云,從全球數據中心提供超過 200 項功能齊全的服務。數百萬客戶(包括增長最快速的初創(chuàng)公司、最大型企業(yè)和主要的政府機構)都在使用 AWS 來降低成本、提高敏捷性并加速創(chuàng)新。

 

最多的功能
從計算、存儲和數據庫等基礎設施技術,到機器學習、人工智能、數據湖和分析以及物聯網等新興技術,AWS 提供的服務以及其中的功能比其他任何云服務提供商的都要多得多。這使得將現有應用程序遷移到云中并構建您可以想象的幾乎任何東西都變得更快、更容易且更具成本效益。

AWS 的這些服務還具有最為多樣復雜的功能。例如,AWS 提供了種類繁多的數據庫,這些數據庫是為不同類型的應用程序專門構建的,因此您可以選擇適合作業(yè)的工具來獲得最佳的成本和性能。

 

最大的客戶和合作伙伴社區(qū)
AWS 擁有最大且最具活力的社區(qū),在全球擁有數百萬活躍客戶和成千上萬個合作伙伴。幾乎所有行業(yè)和規(guī)模的客戶(包括初創(chuàng)公司、企業(yè)和公共部門組織)都在 AWS 上運行所有可能的使用案例。AWS 合作伙伴網絡 (APN) 包括專注于 AWS 服務的數千個系統(tǒng)集成商和成千上萬個將其技術應用到 AWS 中的獨立軟件供應商 (ISV)。

 

最安全
AWS 旨在成為當今市場上最靈活、最安全的云計算環(huán)境。我們的核心基礎設施是為了滿足軍事、全球的銀行和其他高度敏感性組織的安全要求而構建。一組深度云安全工具對此提供支持,其中包括超過 300 項安全、合規(guī)性和監(jiān)管服務及功能,以及對 143 項安全標準和合規(guī)性認證的支持。

 

最快的創(chuàng)新速度
借助 AWS,您可以利用最新技術更快地進行實驗和創(chuàng)新。我們將不斷加快創(chuàng)新步伐,以發(fā)明您可用于轉變業(yè)務的全新技術。例如,在 2014 年,AWS 通過推出 AWS Lambda 在無服務器計算領域開創(chuàng)了先河,該平臺使開發(fā)人員無需預置或管理服務器即可運行其代碼。AWS 構建了 Amazon SageMaker,這是一種完全托管的機器學習服務,可讓日常開發(fā)人員和科學家無需任何前置經驗即可運用機器學習。

 

最成熟的運營專業(yè)能力
AWS 具有無與倫比的經驗、成熟度、可靠性、安全性和性能,您可以將其用于最重要的應用程序。在超過 17 年的時間中,AWS 一直在為運行各種使用案例的全球數百萬客戶提供云服務。在所有云服務提供商中,AWS 擁有最豐富的大規(guī)模運營經驗。

 

AWS 區(qū)域的全球網絡
AWS 擁有覆蓋范圍領先的全球云基礎設施。Gartner 已將 AWS 區(qū)域/可用區(qū)模型
視為一種值得推薦運行方式,適用于要求高可用性的企業(yè)應用程序。

<
最可能同場景使用的其他API
>
API接口列表
<
使用指南
>

Amazon Cognito API 開發(fā)指南

簡介

Amazon Cognito 是一種用于用戶身份驗證和訪問控制的服務。它使開發(fā)者能夠輕松地添加用戶注冊、登錄和訪問控制功能到他們的應用程序中。

準備工作

注冊 AWS 賬戶

  1. 打開 AWS 注冊頁面。
  2. 按照在線說明進行操作,完成注冊。
  3. 注冊過程中,您需要接聽電話并輸入驗證碼。
  4. 注冊完成后,您將收到一封確認電子郵件。

創(chuàng)建具有管理權限的用戶

  1. 登錄 AWS 管理控制臺,使用您的根用戶憑證。
  2. 為根用戶啟用多重身份驗證 (MFA)。
  3. 啟用 AWS IAM Identity Center。
  4. 在 IAM 身份中心中,創(chuàng)建一個具有管理權限的用戶。

Amazon Cognito 概述

用戶池

用戶池是一個用戶目錄,您可以使用它來管理用戶注冊和登錄。用戶池提供以下功能:

  • 用戶注冊和登錄
  • 密碼恢復
  • 用戶屬性管理

身份池

身份池允許您為用戶提供 AWS 資源的臨時訪問權限。您可以使用身份池實現以下功能:

  • 社交身份提供商(如 Facebook、Google)的身份驗證
  • 匿名身份驗證
  • AWS 資源訪問權限控制

API 參考

用戶池 API

  • CreateUserPool: 創(chuàng)建一個新的用戶池。
  • AdminCreateUser: 在用戶池中創(chuàng)建一個新用戶。
  • AdminInitiateAuth: 使用管理員權限對用戶進行身份驗證。
  • ConfirmSignUp: 確認用戶注冊。

身份池 API

  • CreateIdentityPool: 創(chuàng)建一個新的身份池。
  • GetId: 獲取身份池的身份 ID。
  • GetCredentialsForIdentity: 獲取與身份相關的臨時 AWS 憑證。
  • ListIdentities: 列出身份池中的所有身份。

安全最佳實踐

  1. 使用多重身份驗證 (MFA): 為用戶啟用 MFA,以增加安全性。
  2. 遵循最小權限原則: 為用戶分配最小的權限集,以減少潛在的安全風險。
  3. 定期審計權限: 定期檢查和更新用戶權限,確保符合安全政策。

示例代碼

以下是一個使用 AWS SDK for JavaScript 的示例代碼,演示如何創(chuàng)建用戶池:

const AWS = require('aws-sdk');
const cognito = new AWS.CognitoIdentityServiceProvider();

const params = {
  PoolName: 'MyUserPool',
  AliasAttributes: ['email'],
  AutoVerifiedAttributes: ['email']
};

cognito.createUserPool(params, (err, data) => {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});

常見問題

  1. 如何重置用戶密碼?
    • 您可以使用 ForgotPassword API 來重置用戶密碼。
  1. 如何處理用戶登錄失???
    • 使用 AdminInitiateAuth API,您可以獲取錯誤代碼并根據錯誤類型提供適當的反饋。
  1. 如何管理用戶屬性?
    • 使用 AdminUpdateUserAttributes API 更新用戶屬性。

通過遵循本指南,您可以有效地使用 Amazon Cognito 來管理用戶身份驗證和訪問控制。

 

詳情查看鏈接:https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-getting-started-account-iam.html

<
依賴服務
>
<
產品問答
>
?
什么是 Amazon Cognito?
借助 Amazon Cognito,您可以在幾分鐘內將用戶注冊、登錄、訪問控制和代理的 AWS 服務訪問權限添加到您的 Web 應用程序和移動應用程序中。它是一項以開發(fā)人員為中心且經濟高效的服務,可提供安全、基于租戶并能夠擴展到數百萬用戶的身份存儲和聯合身份驗證選項。Amazon Cognito 可以幫助您創(chuàng)建品牌客戶體驗、提高安全性并適應您客戶的需求。例如,它支持通過社交身份提供商進行登錄,以及使用 WebAuthn 通行密鑰或者短信和電子郵件一次性密碼進行無密碼登錄。Amazon Cognito 支持多種合規(guī)性標準,按照開放身份標準運行,并與大量的開發(fā)資源和軟件開發(fā)工具包庫集成。 借助 Amazon Cognito,您可以專注于創(chuàng)建卓越的應用程序體驗,而不用擔心如何構建、保護和擴展解決方案以進行用戶管理和身份驗證。
?
如何開始使用 Amazon Cognito?
您可以訪問 AWS 管理控制臺,以輕松開始使用這項服務。如果您沒有 Amazon Web Services 賬戶,可以在登錄控制臺時創(chuàng)建一個。創(chuàng)建用來管理用戶的用戶池或用于聯合身份的身份池之后,即可將您的應用程序和 API 與 OAuth 和 OpenID Connect(OIDC)集成。
?
誰應該使用 Amazon Cognito?
Amazon Cognito 是專為想要將用戶管理和同步功能添加到其移動和 Web 應用程序的開發(fā)人員設計的。開發(fā)人員可以使用 Cognito Identity 將注冊和登錄功能添加到他們的應用程序,以便用戶能夠安全訪問其應用程序的資源。Cognito 還使得開發(fā)人員能夠跨設備、平臺和應用程序同步數據。
?
Amazon Cognito 是否會公開服務器端 API?
符合。Cognito 會公開服務器端 API。您可以直接調用這些 API 來創(chuàng)建您自己的連接至 Cognito 的自定義接口。服務器端 API 在《開發(fā)人員指南》中予以說明。
?
Amazon Cognito 支持哪些平臺?
選配的 AWS 移動開發(fā)工具包中包含對 Cognito 的支持,目前支持的平臺有 iOS、Android、Unity 和 Kindle Fire。還可以在適用于 .NET、C++、Go、Java、JavaScript、PHP v3、Python、Ruby v3 的 AWS SDK 以及命令行界面中使用 Cognito。
?
可不可以使用 AWS Mobile SDK?
不可以。Cognito 會以 Web 服務的形式公開其控制和數據 API。您可以使用自己的客戶端庫來直接調用服務器端 API。
?
Amazon Cognito 支持哪些形式的身份驗證?
對于第一要素身份驗證器,Amazon Cognito 支持用戶名/密碼、電子郵件 OTP 無密碼、短信 OTP 無密碼和 WebAuthn 通行密鑰。Cognito 支持以下多重身份驗證器(MFA):電子郵件 OTP、短信 OTP 和 TOTP 身份驗證器。此外,客戶和合作伙伴還可以使用 AWS Lambda 擴展,通過自定義身份驗證流程實現對第三方產品和定制身份驗證器的支持。
?
我能否使用自己的身份提供商來支持用戶注冊和登錄功能?
可以。借助 Amazon Cognito,您可以輕松且安全地將注冊和登錄功能添加到您的應用程序中。您的用戶可以使用電子郵件、手機號碼或用戶名進行注冊和登錄。您也可以實現增強型安全功能,例如電子郵件驗證、電話號碼驗證和多重驗證。借助 Cognito,您可以自定義工作流,例如為用戶注冊功能添加特定于應用程序的邏輯,以通過 AWS Lambda 進行欺詐檢測和用戶驗證。要了解更多信息,請訪問我們的文檔。
?
什么是 Amazon Cognito 用戶池?
用戶池是一個基于租戶的用戶目錄,您可以為您的 Web 應用程序和移動應用程序配置此目錄。用戶池可以安全地存儲用戶的資料屬性,并支持自定義架構。您可以使用 AWS 管理控制臺、AWS CLI 或 AWS 開發(fā)工具包創(chuàng)建和管理用戶群體。
?
我能否驗證用戶在注冊應用程序時使用的電子郵件地址和電話號碼?
能。借助 Amazon Cognito,您可以要求驗證用戶的電子郵件地址和電話號碼,然后再向其提供對您應用程序的訪問權限。在注冊過程中,系統(tǒng)將向用戶的電話號碼或電子郵件地址發(fā)送驗證碼,用戶必須輸入該驗證碼才能完成注冊并得到確認。
<
關于我們
>
亞馬遜云科技(Amazon Web Services,簡稱AWS)是全球領先的云計算服務提供商,提供包括計算、存儲、數據庫、分析、機器學習、物聯網、移動、安全、混合云、虛擬和增強現實等在內的廣泛服務。AWS在全球34個地理區(qū)域內運營108個可用區(qū),服務超過200個國家和地區(qū),幫助企業(yè)、開發(fā)者和政府機構構建靈活、可靠、可擴展的云基礎設施。作為亞馬遜公司的一部分,AWS致力于提供創(chuàng)新的云解決方案,支持客戶實現數字化轉型。
聯系信息
服務時間: 早9:00-晚8:00 (法定假期除外)
電話號碼: +86 (10) 1010 0866
網頁在線客服: 咨詢

AWS 云計算

Amazon Web Services(AWS)是全球最全面、應用最廣泛的云,從全球數據中心提供超過 200 項功能齊全的服務。數百萬客戶(包括增長最快速的初創(chuàng)公司、最大型企業(yè)和主要的政府機構)都在使用 AWS 來降低成本、提高敏捷性并加速創(chuàng)新。

 

最多的功能
從計算、存儲和數據庫等基礎設施技術,到機器學習、人工智能、數據湖和分析以及物聯網等新興技術,AWS 提供的服務以及其中的功能比其他任何云服務提供商的都要多得多。這使得將現有應用程序遷移到云中并構建您可以想象的幾乎任何東西都變得更快、更容易且更具成本效益。

AWS 的這些服務還具有最為多樣復雜的功能。例如,AWS 提供了種類繁多的數據庫,這些數據庫是為不同類型的應用程序專門構建的,因此您可以選擇適合作業(yè)的工具來獲得最佳的成本和性能。

 

最大的客戶和合作伙伴社區(qū)
AWS 擁有最大且最具活力的社區(qū),在全球擁有數百萬活躍客戶和成千上萬個合作伙伴。幾乎所有行業(yè)和規(guī)模的客戶(包括初創(chuàng)公司、企業(yè)和公共部門組織)都在 AWS 上運行所有可能的使用案例。AWS 合作伙伴網絡 (APN) 包括專注于 AWS 服務的數千個系統(tǒng)集成商和成千上萬個將其技術應用到 AWS 中的獨立軟件供應商 (ISV)。

 

最安全
AWS 旨在成為當今市場上最靈活、最安全的云計算環(huán)境。我們的核心基礎設施是為了滿足軍事、全球的銀行和其他高度敏感性組織的安全要求而構建。一組深度云安全工具對此提供支持,其中包括超過 300 項安全、合規(guī)性和監(jiān)管服務及功能,以及對 143 項安全標準和合規(guī)性認證的支持。

 

最快的創(chuàng)新速度
借助 AWS,您可以利用最新技術更快地進行實驗和創(chuàng)新。我們將不斷加快創(chuàng)新步伐,以發(fā)明您可用于轉變業(yè)務的全新技術。例如,在 2014 年,AWS 通過推出 AWS Lambda 在無服務器計算領域開創(chuàng)了先河,該平臺使開發(fā)人員無需預置或管理服務器即可運行其代碼。AWS 構建了 Amazon SageMaker,這是一種完全托管的機器學習服務,可讓日常開發(fā)人員和科學家無需任何前置經驗即可運用機器學習。

 

最成熟的運營專業(yè)能力
AWS 具有無與倫比的經驗、成熟度、可靠性、安全性和性能,您可以將其用于最重要的應用程序。在超過 17 年的時間中,AWS 一直在為運行各種使用案例的全球數百萬客戶提供云服務。在所有云服務提供商中,AWS 擁有最豐富的大規(guī)模運營經驗。

 

AWS 區(qū)域的全球網絡
AWS 擁有覆蓋范圍領先的全球云基礎設施。Gartner 已將 AWS 區(qū)域/可用區(qū)模型
視為一種值得推薦運行方式,適用于要求高可用性的企業(yè)應用程序。

<
合作案例
>
engie ascender caratlane
<
最可能同場景使用的其他API
>