Chuyển tới nội dung chính

AWS IAM Deep Dive

Identity and Access Management (IAM) là trái tim bảo mật của AWS.

1. Policy Evaluation Logic

Khi một request được gửi đến, AWS quyết định Allow hay Deny như thế nào?

Explicit Deny

Một lệnh Deny sẽ ghi đè tất cả lệnh Allow. Nếu một user có quyền Admin (Allow All) nhưng bị dính 1 policy Deny S3, user đó sẽ không vào được S3.

2. IAM Roles & Principals

Role là một identity tạm thời, không có password hay access key cố định.

  • Service Role: Cho phép EC2/Lambda truy cập S3.
  • Cross-Account Role: Cho phép User ở Account A truy cập tài nguyên ở Account B.
  • Web Identity Federation: Cho phép User đăng nhập bằng Google/Facebook/Auth0 để truy cập AWS.
Never use Access Keys on EC2

Đừng bao giờ hardcode Access Key/Secret Key vào code chạy trên EC2. Hãy gán IAM Role cho EC2 instance. SDK của AWS sẽ tự động lấy credential tạm thời từ Metadata Service.

3. IAM Best Practices

  1. Lock away Root User: Bật MFA, xóa Access Key, và cất password vào két sắt. Chỉ dùng cho việc billing hoặc khẩn cấp.
  2. Least Privilege: Chỉ cấp quyền tối thiểu cần thiết. Dùng IAM Access Analyzer để review quyền thừa.
  3. MFA: Bắt buộc MFA cho mọi user, đặc biệt là Admin.