Hướng Dẫn Hoàn Chỉnh Về IAM Roles Trên AWS
Mục Lục
- IAM Role là gì?
- Đặc Điểm Cốt Lõi của IAM Roles
- Vấn Đề Thường Gặp Với IAM Roles
- Giải Pháp và Thực Hành Tốt Nhất
- Ví Dụ Thực Tế Trong Ngành
- Câu Hỏi Phỏng Vấn Về IAM Roles
- Hướng Dẫn Thực Hành
- Câu Hỏi Thường Gặp
1. IAM Role là gì?
IAM Role là một định danh trên AWS với các quyền cụ thể, nhưng khác với IAM Users, nó không có thông tin xác thực dài hạn. Thay vào đó, nó phát hành thông tin xác thực tạm thời mà các thực thể đáng tin cậy (người dùng, dịch vụ hoặc ứng dụng) có thể sử dụng.
Các Role rất quan trọng để cấp quyền truy cập giữa các tài khoản, cho phép các dịch vụ AWS tương tác một cách an toàn, và giảm thiểu nhu cầu sử dụng khóa truy cập tĩnh.
2. Đặc Điểm Cốt Lõi của IAM Roles
- Thông tin xác thực tạm thời: Mã thông báo phiên ngắn hạn thông qua STS
- Mối quan hệ tin cậy: Được xác định trong chính sách tin cậy (ai/cái gì có thể giả lập role)
- Quyền hạn: Được đính kèm thông qua các chính sách IAM
- Hỗ trợ giữa các tài khoản: Chia sẻ quyền truy cập giữa các tài khoản AWS
- Service roles: Cho phép các dịch vụ AWS (ví dụ: EC2, Lambda) truy cập tài nguyên
- Federation: Tích hợp với các nhà cung cấp danh tính bên ngoài (AD, SAML, OIDC)
- Không có mật khẩu hoặc khóa truy cập vĩnh viễn
3. Vấn Đề Thường Gặp Với IAM Roles
- 🔴 Chính sách tin cậy quá rộng: Cho phép
*trong các thực thể đáng tin cậy - 🔴 Quyền hạn quá mức: Cấp
AdministratorAccessthay vì quyền tối thiểu - 🔴 Dùng khóa IAM User thay vì role: Các nhà phát triển vẫn sử dụng khóa IAM User
- 🔴 Sai cấu hình service roles: Role EC2/Lambda thiếu quyền: tải trọng thất bại
- 🔴 Quản lý phiên không hiệu quả: Thời gian phiên quá ngắn/dài
4. Giải Pháp và Thực Hành Tốt Nhất
Quản Lý Chính Sách
- Xác định chính sách quyền tối thiểu
- Sử dụng IAM Access Analyzer để phát hiện các role quá mức quyền
- Giới hạn chính sách tin cậy cho các thực thể cụ thể (tài khoản, dịch vụ, ARNs)
Tăng Cường Bảo Mật
- Thực thi việc giả lập role qua MFA khi có thể
- Giám sát hoạt động
sts:AssumeRolebằng CloudTrail - Đổi mới các phiên role thường xuyên
Quản Lý Vòng Đời
- Kiểm tra các role không sử dụng
- Gán thẻ cho role để tăng tính trách nhiệm (
Team=Security) - Sử dụng SCPs của AWS Organizations để tạo ra các biện pháp bảo vệ
5. Ví Dụ Thực Tế Trong Ngành
- Khởi Nghiệp: EC2 giả lập role cho S3/CloudWatch (không sử dụng khóa cứng)
- Doanh Nghiệp: Liên kết SAML/AD; nhân viên giả lập role (không IAM Users)
- Tài Chính: Role bảo vệ MFA cho quyền truy cập ưu tiên; kiểm tra hàng quý
- DevOps: CodePipeline giả lập role vào các tài khoản đích để triển khai
6. Câu Hỏi Phỏng Vấn Về IAM Roles
Cấp độ Cơ Bản
- IAM Role là gì?
- Nó khác gì so với IAM User?
- Dịch vụ nào tạo ra thông tin xác thực tạm thời cho IAM Roles?
Cấp độ Trung Bình
- Làm thế nào bạn cấu hình quyền truy cập giữa các tài khoản bằng IAM Roles?
- Sự khác biệt giữa service role và service-linked role là gì?
- Làm thế nào để bạn thực thi quyền tối thiểu với các role?
Cấp độ Nâng Cao
- Những rủi ro bảo mật nào liên quan đến chính sách tin cậy quá rộng?
- IAM Roles tích hợp với AWS Organizations như thế nào?
- Làm thế nào để bạn bảo mật các tải trọng bằng IAM Roles + nhà cung cấp danh tính bên ngoài?
7. Hướng Dẫn Thực Hành
Kiểm Tra Trước
- Bạn phải có quyền
iam:CreateRole - Quyết định: dịch vụ/người dùng/tài khoản nào sẽ giả lập role?
- Xác định chính sách tin cậy + chính sách quyền
Các Bước Trên Giao Diện Console
- IAM Console → Roles → Tạo Role
- Chọn thực thể đáng tin cậy (dịch vụ AWS, tài khoản khác hoặc IdP)
- Đính kèm chính sách quyền (ví dụ:
AmazonS3FullAccess) - Thêm thẻ để quản lý
- Xem lại & tạo → Gán cho EC2 hoặc dịch vụ
Ví Dụ CLI
Tạo một role với chính sách tin cậy
aws iam create-role \
--role-name EC2S3AccessRole \
--assume-role-policy-document file://trust-policy.json
8. Câu Hỏi Thường Gặp
-
IAM Role có thể được sử dụng trong những tình huống nào?
IAM Roles rất hữu ích trong các tình huống mà bạn cần cung cấp quyền truy cập tạm thời cho các dịch vụ hoặc người dùng bên ngoài mà không cần tiết lộ thông tin xác thực lâu dài. -
Làm thế nào để quản lý các role không sử dụng?
Thực hiện kiểm tra định kỳ và đánh giá các role không sử dụng để duy trì an toàn và bảo mật cho hệ thống AWS của bạn.
🙏 Cảm ơn bạn đã đọc! Nếu hướng dẫn này hữu ích cho bạn:
Hãy bấm thích & theo dõi để có thêm nhiều bài viết sâu sắc về AWS/DevOps
Chia sẻ trải nghiệm hoặc câu hỏi của bạn trong phần bình luận
Chia sẻ tài liệu này với đội ngũ/cộng đồng của bạn
Hãy theo dõi để xem bài viết tiếp theo trong chuỗi bài viết sâu sắc về AWS IAM!