Tìm hiểu về IAM Permissions, Policy
IAM Permissions là gì
IAM Permission là các quyền mà bạn cấp cho user, group hoặc role, định nghĩa xem họ có thể thực hiện hành động gì lên tài nguyên AWS nào.
Permission được quản lý thông qua IAM Policy, dưới dạng JSON.
Các thành phần chính:
Effect: Cho phép (Allow) hoặc từ chối (Deny)Action: Hành động cụ thể (VD:s3:PutObject)Resource: Tài nguyên áp dụng (VD: ARN của bucket)
💡
Nếu có xung đột giữa Allow và Deny, thì
Deny luôn được ưu tiên.IAM Policy Inheritance - Cơ chế kế thừa quyền
IAM hỗ trợ nhiều cách áp dụng và kế thừa policy, tạo nên một hệ thống linh hoạt:
| Loại kế thừa | Mô tả |
|---|---|
| User ← Group | Khi user thuộc group, họ kế thừa policy của group. |
| Role-assumed policies | Ứng dụng hoặc dịch vụ assume role sẽ có quyền của role đó. |
Final permissions = Kết hợp của “Attached permissions” - “Deny statements”
Cấu trúc của IAM Policy
Dưới đây là cấu trúc mẫu của một IAM Policy:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowS3ReadOnly",
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::my-bucket",
"arn:aws:s3:::my-bucket/*"
]
}
]
}