Skip to content
Go back

[AWS] IAM Role, Identity Providers and Federation

Updated:  at  02:30 AM

Bài viết được tham khảo và tổng hợp lại từ Jayendra’s Blog, xem bài viết gốc ở đây: https://jayendrapatil.com/aws-iam-role-identity-providers-and-federation.

Table of contents

Open Table of contents

Giới thiệu

Web Identity Federation without Cognito

1.png

  1. Mobile hoặc Web Application cần được cấu hình với IdP, nơi mỗi ứng dụng sẽ có một ID hoặc client ID duy nhất (còn gọi là audience)
  2. Tạo một thực thể Nhà cung cấp nhận dạng (IdP) cho IdP tương thích với OIDC trong IAM.
  3. Tạo một IAM role và xác định:
    • Trust policy – chỉ định IdP (như Amazon) là Principal (thực thể tin cậy), và bao gồm điều kiện khớp với ID ứng dụng được gán cho IdP.
    • Permission policy– chỉ định quyền mà ứng dụng có thể giả định.
  4. Ứng dụng gọi giao diện đăng nhập của IdP để đăng nhập.
  5. IdP xác thực người dùng và trả về một mã thông báo xác thực (OAuth access token hoặc OIDC ID token) chứa thông tin về người dùng cho ứng dụng.
  6. Ứng dụng sau đó thực hiện một cuộc gọi chưa ký đến dịch vụ STS với hành động AssumeRoleWithWebIdentity để yêu cầu các thông tin xác thực tạm thời.
  7. Ứng dụng truyền mã thông báo xác thực của IdP cùng với Amazon Resource Name (ARN) cho IAM role đã tạo cho IdP.
  8. AWS xác minh mã thông báo có tin cậy và hợp lệ không, nếu đúng, sẽ trả về các thông tin xác thực tạm thời (access key, secret access key, session token, thời gian hết hạn) cho ứng dụng có quyền với role mà bạn chỉ định trong yêu cầu.
  9. Phản hồi của STS cũng bao gồm dữ liệu về người dùng từ IdP, chẳng hạn như ID người dùng duy nhất mà IdP liên kết với người dùng đó.
  10. Ứng dụng thực hiện các yêu cầu đã ký với AWS sử dụng thông tin xác thực tạm thời.
  11. Thông tin ID người dùng từ IdP có thể giúp phân biệt người dùng trong ứng dụng, ví dụ: các đối tượng có thể được lưu vào các thư mục S3 với ID người dùng là tiền tố hoặc hậu tố. Điều này cho phép bạn tạo các chính sách kiểm soát quyền truy cập để khóa thư mục sao cho chỉ người dùng có ID đó mới có thể truy cập.
  12. Ứng dụng có thể lưu trữ các thông tin xác thực tạm thời và làm mới chúng trước khi hết hạn. Mặc định, các thông tin xác thực tạm thời có hiệu lực trong một giờ.

Mobile or Web Identity Federation with Cognito

2.png

SAML 2.0-based Federation

3.png

Mô tả luồng

AWS SSO with SAML

4.png

Mô tả luồng

Custom Identity Broker Federation

5.png


Suggest Changes

Previous Post
[AWS] AWS Secrets Manager
Next Post
[AWS] Amazon Simple Storage Service (S3)