Trong phần lab này sẽ hướng dẫn bạn tạo IAM user với quyền thao tác với S3 bucket object và invalidateCDN của CloudFront
Policy tùy chỉnh sẽ chỉ cung cấp quyền để push các thay đổi vào S3 bucket và vô hiệu hóa (invalidate) bộ nhớ đệm trên Cloudfront. Việc cấp quyền đủ dùng sẽ đáp ứng được nguyên tắc đặc quyền tối thiêu (Principle of Least Privilege). Nếu access key của user (user chỉ liên kết với policy này) bị leak, thì việc mà các hacker có thể làm nhiều nhất với access key đó là thực hiện các thay đổi đối với S3 bucket và vô hiệu hóa cache của Cloudfront.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "GithubActionsWebsite",
"Effect": "Allow",
"Action": [
"s3:ListBucket",
"s3:GetObject",
"s3:PutObject",
"s3:DeleteObject",
"cloudfront:CreateInvalidation"
],
"Resource": [
"arn:aws:s3:::nhungnt3299.cloudjourneys.net",
"arn:aws:s3:::nhungnt3299.cloudjourneys.net/*",
"<CF-Distribution-ARN>"
]
}
]
}
DeployWebsite
.project
, value - fcj-mission-1
.GitHub-Actions
.project
, value - fcj-mission-1
.User được tạo sẽ chỉ được sử dụng để cập nhật website và invalidateCDN. Nếu mất access key, bạn phải tạo key mới và vô hiệu hóa access key cũ.