Amazon Cognito là một nền tảng xác thực danh tính cho các ứng dụng web và di động. Nó bao gồm một danh bạ người dùng, một máy chủ xác thực, và một dịch vụ ủy quyền cho token truy cập OAuth 2.0 và thông tin xác thực AWS. Với Amazon Cognito, bạn có thể xác thực và ủy quyền người dùng từ danh bạ người dùng tích hợp sẵn, từ danh bạ doanh nghiệp của bạn, và từ các nhà cung cấp danh tính người tiêu dùng.
Hai thành phần sau đây tạo nên Amazon Cognito. Chúng hoạt động độc lập hoặc kết hợp với nhau, tùy thuộc vào nhu cầu truy cập của người dùng của bạn.
Tạo một user pool khi bạn muốn xác thực và ủy quyền người dùng cho ứng dụng hoặc API của mình. User pools là một thư mục người dùng với cả hai tính năng tự phục vụ và quản lý, tạo người dùng do quản trị viên thực hiện. User pool của bạn có thể là một thư mục độc lập và nhà cung cấp danh tính OIDC (IdP), cũng như là một nhà cung cấp dịch vụ trung gian (SP) cho các nhà cung cấp bên thứ ba về danh tính người lao động và khách hàng. Các IdP SAML 2.0 và OIDC của tổ chức bạn đưa danh tính người lao động vào Cognito và ứng dụng của bạn. Các kho lưu trữ danh tính OAuth 2.0 công cộng như Amazon, Google, Apple và Facebook đưa danh tính khách hàng vào.
User pools không yêu cầu tích hợp với một identity pool. Từ một user pool, bạn có thể phát hành trực tiếp token web JSON đã xác thực (JWTs) đến một ứng dụng, máy chủ web, hoặc API.
Thiết lập một identity pool Amazon Cognito khi bạn muốn cấp quyền truy cập vào tài nguyên AWS cho người dùng đã xác thực hoặc ẩn danh. Identity pool cấp phép chứng chỉ AWS cho ứng dụng của bạn để phục vụ tài nguyên cho người dùng. Bạn có thể xác thực người dùng bằng một nhà cung cấp danh tính đáng tin cậy, như một user pool hoặc dịch vụ SAML 2.0. Nó cũng có thể tùy chọn cấp phép chứng chỉ cho khách vãng lai. Identity pool sử dụng cả kiểm soát truy cập dựa trên vai trò và dựa trên thuộc tính để quản lý quyền truy cập của người dùng vào tài nguyên AWS của bạn.