Tính năng của Amazon Cognito

Amazon Cognito là gì?

Amazon Cognito cho phép bạn bổ sung tính năng đăng ký, đăng nhập, kiểm soát truy cập người dùng và quyền truy cập dịch vụ AWS qua trung gian vào các ứng dụng web và di động của bạn chỉ trong vài phút. Đây là một dịch vụ lấy nhà phát triển làm trung tâm, tiết kiệm chi phí, cung cấp các kho lưu trữ danh tính an toàn, dựa trên đối tượng thuê và các tùy chọn liên kết có thể điều chỉnh quy mô đến hàng triệu người dùng. Amazon Cognito giúp bạn tạo trải nghiệm khách hàng mang bản sắc thương hiệu, cải thiện bảo mật và thích ứng với nhu cầu của khách hàng. Ví dụ: Dịch vụ này hỗ trợ đăng nhập với các nhà cung cấp danh tính qua mạng xã hội và đăng nhập không mật khẩu bằng mã khóa WebAuthn hoặc mật khẩu dùng một lần qua SMS và email. Amazon Cognito hỗ trợ nhiều tiêu chuẩn tuân thủ, hoạt động trên các tiêu chuẩn danh tính mở và tích hợp với một danh mục phong phú gồm tài nguyên phát triển và thư viện SDK.

Xác thực người dùng

Các nhà phát triển có thể sử dụng trình soạn thảo trực quan không cần viết mã để điều chỉnh cách màn hình người dùng cuối (chẳng hạn như màn hình đăng ký, đăng nhập và MFA) xuất hiện. Các thông số cấu hình bao gồm màu sắc, định vị, căn chỉnh, văn bản, ngôn ngữ, hình nền, hình ảnh, logo, phông chữ và bố cục, cùng nhiều thông số khác. Với các tùy chọn cấu hình này, phong cách thương hiệu tiêu dùng có thể được kết hợp chặt chẽ và trải nghiệm người dùng do Cognito cung cấp có thể nhất quán và gắn kết hơn với phần còn lại của ứng dụng.

Khách hàng có thể cấu hình Amazon Cognito để cho phép người dùng cuối truy cập các ứng dụng mà không cần ghi nhớ mật khẩu, giảm cản trở, cải thiện độ bảo mật và tăng tỷ lệ chuyển đổi người dùng. Các quy trình xác thực không mật khẩu được hỗ trợ bao gồm đăng nhập bằng email, đăng nhập bằng điện thoại/SMS và đăng nhập bằng mã khóa. Khả năng linh hoạt này giúp nâng cao trải nghiệm người dùng và đơn giản hóa quá trình đăng nhập.

Mã khóa WebAuthn nâng cao độ bảo mật bằng cách loại bỏ nhu cầu sử dụng mật khẩu, giảm nguy cơ tấn công giả mạo và đánh cắp thông tin chứng thực. Mã khóa WebAuthn cung cấp trải nghiệm người dùng liền mạch với các phương pháp xác thực nhanh hơn và thuận tiện hơn, chẳng hạn như sinh trắc học hoặc token phần cứng. Ngoài ra, mã khóa còn cải thiện độ bảo mật tổng thể cho tài khoản bằng cách tận dụng mật mã khóa công khai, đảm bảo rằng thông tin nhạy cảm không bao giờ được truyền hoặc lưu trữ trên máy chủ. Amazon Cognito hỗ trợ cả [Đăng nhập được quản lý] và API để tạo và lưu trữ tối đa 20 mã khóa cho mỗi tài khoản.

Bạn có thể thêm một lớp bảo mật bổ sung cho khách hàng của mình bằng cách bật MFA cho tài khoản người dùng. Người dùng có thể xác minh danh tính của họ bằng email, SMS hoặc trình tạo Mật khẩu một lần dựa trên thời gian (TOTP), chẳng hạn như Google Authenticator. Amazon Cognito cũng hỗ trợ cấu hình của các quy tắc mật khẩu khác nhau trên các thư mục người dùng riêng khác nhau.

Là một trung tâm liên kết, Amazon Cognito cho phép người dùng đăng nhập thông qua các nhà cung cấp danh tính qua mạng xã hội, chẳng hạn như Apple, Facebook, Google và Amazon, cũng như các nhà cung cấp danh tính cho doanh nghiệp thông qua SAML và OIDC. Amazon Cognito hỗ trợ nhiều cấu hình SAML, bao gồm các luồng do SAML SP khởi tạo, luồng do IdP khởi tạo và mã hóa SAML. Khi người dùng của bạn đã đăng nhập vào Amazon Cognito (thông qua xác thực cục bộ hoặc liên kết bên ngoài), họ có thể sử dụng OAuth/OIDC để truy cập các tài nguyên được liên kết.

Amazon Cognito cho phép bạn xây dựng quy trình xác thực tùy chỉnh, trong đó sử dụng các hàm AWS Lambda để xác thực người dùng dựa trên một hoặc nhiều chu kỳ thách thức-phản hồi. Bạn có thể sử dụng quy trình này để triển khai lược đồ xác thực riêng dựa trên các thử thách tùy chỉnh hoặc sử dụng các thách thức tùy chỉnh làm yếu tố bổ sung.

Sử dụng trình kích hoạt AWS Lambda để tùy chỉnh hành vi của Cognito, bao gồm các giai đoạn trong vòng đời của người dùng như trước và sau khi xác thực và đăng ký hoặc trước khi phát hành token. Bạn cũng có thể sử dụng trình kích hoạt Lambda để tùy chỉnh các tin nhắn được gửi đến người dùng trong các giai đoạn khác nhau hoặc để tích hợp với các nhà cung cấp email và SMS của bên thứ ba.

Quản lý danh tính

Trải nghiệm đầu tiên của khách hàng với trang web của bạn thường thông qua quá trình tự đăng ký. Amazon Cognito cung cấp cả giao diện đăng nhập có thể tùy chỉnh, được trang bị sẵn và được quản lý để nhanh chóng đưa ra thị trường, cũng như một bộ API mạnh mẽ để xây dựng giải pháp tự đăng ký tùy chỉnh hoàn toàn. Người dùng có thể đăng ký bằng email, số điện thoại hoặc tên người dùng cho ứng dụng của bạn. Quá trình tự đăng ký cho phép người dùng xem và cập nhật dữ liệu hồ sơ của họ, gồm cả các thuộc tính tùy chỉnh. Giảm số lượng cuộc gọi đến bộ phận trợ giúp bằng các lựa chọn tự phục vụ, chẳng hạn như đặt lại mật khẩu bằng tin nhắn SMS hoặc email.

Amazon Cognito cung cấp các kho lưu trữ danh tính an toàn, dựa trên đối tượng thuê (thư mục người dùng riêng) có thể điều chỉnh quy mô lên đến hàng triệu người dùng. Thư mục người dùng riêng lưu trữ dữ liệu hồ sơ người dùng một cách an toàn cho người dùng đăng ký trực tiếp và cho người dùng liên kết đăng nhập với nhà cung cấp danh tính bên ngoài.

Kho lưu trữ danh tính của Amazon Cognito là kho lưu trữ người dùng dựa trên API. Kho lưu trữ và API hỗ trợ lưu trữ tối đa 50 thuộc tính tùy chỉnh cho mỗi người dùng, hỗ trợ cho các loại dữ liệu khác nhau và thực thi các ràng buộc về độ dài và khả năng biến đổi. Hãy chọn các thuộc tính bắt buộc phải được người dùng cung cấp trước khi hoàn thành quy trình đăng ký.

Người dùng có thể di chuyển vào Amazon Cognito bằng cách nhập hàng loạt hoặc di chuyển đúng lúc (just-in-time – JIT). Việc di chuyển người dùng hàng loạt tận dụng quy trình nhập tệp CSV. Sử dụng quy trình di chuyển JIT, trình kích hoạt AWS Lambda tích hợp quy trình di chuyển vào quy trình đăng nhập và có thể giữ lại mật khẩu của người dùng.

Amazon Cognito cho phép tương tác B2B với khả năng hỗ trợ nhiều đối tượng thuê. Bạn có thể chọn sử dụng lại tích hợp ứng dụng, chính sách quyền truy cập và mật khẩu hoặc thực thi cách ly hoàn toàn đối tượng thuê.

Kiểm soát truy cập

Amazon Cognito đảm bảo tích hợp chặng cuối với ứng dụng. AWS AppSync, Trình cân bằng tải ứng dụng (ALB) của Amazon và cổng API Amazon có các điểm thực thi chính sách tích hợp cung cấp quyền truy cập dựa trên token và phạm vi của Amazon Cognito.

Bằng cách sử dụng tính năng bắt đầu nhanh của Quyền được xác minh Amazon, khách hàng có thể tự động tạo chính sách quyền, chỉ định biện pháp kiểm soát truy cập dựa trên vai trò theo tư cách thành viên Cognito và thực thi ủy quyền chi tiết. Quyền được xác minh Amazon có trình ủy quyền token tích hợp sẵn, hỗ trợ ID Amazon Cognito và token truy cập, bao gồm các cấu trúc token trong token phức tạp.

Trình quản lý thông tin chứng thực cho Amazon Cognito, còn được gọi là nhóm danh tính Amazon Cognito, cung cấp quyền truy cập đăng nhập một lần vào các tài nguyên AWS như Amazon DynamoDB, các vùng lưu trữ Amazon S3, các thành phần phi máy chủ AWS Lambda và các dịch vụ khác của Amazon. Người dùng có thể được ánh xạ một cách linh hoạt đến các vai trò khác nhau để hỗ trợ quyền truy cập có đặc quyền tối thiểu vào một dịch vụ.

Bằng cách sử dụng Quy trình chứng thực máy khách OAuth, Amazon Cognito cung cấp khả năng xác thực giữa các máy, đảm bảo trải nghiệm bảo mật giữa các thành phần ứng dụng.

Làm phong phú ID và token truy cập bằng các thuộc tính tùy chỉnh dưới hình thức phạm vi và xác thực OAuth 2.0. Bạn có thể đưa ra quyết định cấp phép nâng cao cụ thể theo ứng dụng bằng cách sử dụng các thuộc tính tùy chỉnh trong token truy cập. Tính năng này cũng cho phép bạn cá nhân hóa trải nghiệm người dùng cuối và cải thiện mức độ tương tác của khách hàng.

Trải nghiệm của khách hàng

Hãy sử dụng phương pháp tiếp cận dựa trên dữ liệu để thúc đẩy thu hút và giữ chân khách hàng. Khởi động các chiến dịch tiếp cận khách hàng và theo dõi mức độ tương tác bằng Amazon Pinpoint. Amazon Pinpoint cung cấp số liệu phân tích cho các hoạt động người dùng dựa trên Amazon Cognito còn Amazon Cognito làm phong phú dữ liệu người dùng cho các chiến dịch của Pinpoint.

AWS Amplify là một tập hợp các công cụ và tính năng được tạo ra có chủ đích, giúp nhà phát triển web và di động frontend xây dựng các ứng dụng fullstack một cách nhanh chóng và dễ dàng trên AWS với khả năng tận dụng linh hoạt các dịch vụ AWS phong phú khi các trường hợp sử dụng của bạn tiến triển. Với Amplify, bạn có thể định cấu hình backend của ứng dụng web hoặc di động với Amazon Cognito, kết nối ứng dụng của bạn chỉ trong vài phút, xây dựng giao diện người dùng web frontend một cách trực quan và dễ dàng quản lý nội dung ứng dụng bên ngoài bảng điều khiển AWS. Cung cấp nhanh hơn và dễ dàng thay đổi quy mô—mà không cần phải có chuyên môn về đám mây.

Giải pháp CIAM là giải pháp tùy chỉnh. Amazon Cognito cung cấp một bộ hook và tiện ích mở rộng mạnh mẽ để tùy chỉnh hoàn toàn quy trình xác thực, đăng ký và di chuyển người dùng. Ví dụ: quy trình tự đăng ký có thể được tăng cường với kiểm tra xác minh tài khoản và kiểm tra danh tính tùy chỉnh. Ngoài ra, quy trình đăng nhập có thể được mở rộng để tạo luồng xác thực tùy chỉnh hoặc sửa đổi mã thông báo trước khi tạo mã.

SDK của Amazon Cognito có sẵn dưới bằng cách dùng Java, C ++, PHP, Python, Golang, Ruby, .NET và JavaScript.

Bảo mật nâng cao

Với khả năng tích hợp sẵn cùng Tường lửa ứng dụng web của AWS (AWS WAF), Amazon Cognito cung cấp các tính năng phát hiện bot nâng cao có thể giúp tổ chức của bạn không phải trả tiền cho các tài khoản tự động và giảm tác động của các cuộc tấn công từ bot.

Amazon Cognito có thể phát hiện và ngăn chặn, trong thời gian thực, việc sử dụng lại thông tin chứng thực bị xâm phạm khi người dùng đăng ký, đăng nhập hoặc thay đổi mật khẩu của họ. Khi phát hiện người dùng đã nhập thông tin chứng thực đã bị xâm phạm ở nơi khác, Amazon Cognito sẽ nhắc họ thay đổi mật khẩu.

Bảo vệ tài khoản người dùng của bạn và nâng cao trải nghiệm đăng nhập của họ với tính năng xác thực thích ứng. Khi Amazon Cognito phát hiện hoạt động đăng nhập bất thường, chẳng hạn như thử đăng nhập từ các vị trí và thiết bị mới hoặc các điều kiện di chuyển bất khả thi dựa trên vị trí địa lý IP, Amazon Cognito sẽ gán điểm rủi ro cho hoạt động này và cho phép bạn chọn nhắc người dùng xác minh thêm hoặc chặn yêu cầu đăng nhập.

Kiểm tra và tuân thủ

Amazon Cognito hỗ trợ giám sát với AWS CloudTrail, Thông tin chuyên sâu về chỉ số của Amazon CloudWatch và Thông tin chuyên sâu về bản ghi Amazon CloudWatch. Với CloudTrail, bạn có thể ghi lại các cuộc gọi API từ bảng điều khiển Amazon Cognito và từ các cuộc gọi mã đến các hoạt động API của Amazon Cognito. Với chỉ số CloudWatch, bạn có thể theo dõi, báo cáo và thực hiện các hành động tự động trong trường hợp xảy ra sự kiện gần với thời gian thực. Với Thông tin chuyên sâu về bản ghi CloudWatch, bạn có thể định cấu hình CloudTrail để gửi các sự kiện đến CloudWatch nhằm giám sát các tệp nhật ký Amazon Cognito CloudTrail.

Amazon Cognito cung cấp tính năng tạo bản ghi nâng cao cho các sự kiện người dùng như đăng nhập, đăng ký và thay đổi mật khẩu, thu thập dữ liệu yêu cầu chi tiết như mức độ rủi ro, vị trí, IP nguồn và tác tử người dùng. Khách hàng có thể truyền liên tục dữ liệu bản ghi sự kiện này đến Amazon CloudWatch, Amazon S3 hoặc các giải pháp tổng hợp bản ghi của bên thứ ba thông qua Firehose dữ liệu Amazon Kinesis. Điều này cho phép giám sát và phân tích toàn diện hoạt động của người dùng.

Amazon Cognito tuân thủ nhiều yêu cầu về bảo mật và tuân thủ, bao gồm cả những yêu cầu đối với các tổ chức chịu sự quản lý nghiêm ngặt như công ty chăm sóc sức khỏe và tổ chức kinh doanh. Amazon Cognito đủ điều kiện theo HIPAA và tuân thủ PCI DSS, SOC, ISO/IEC 27001, ISO/IEC 27017, ISO/IEC 27018 và ISO 9001.