Amazon S3 hỗ trợ cả mã hóa phía máy chủ (với 3 tùy chọn quản lý khóa: SSE-KMS, SSE-C, SSE-S3) và mã hóa phía máy khách để tải dữ liệu lên. Amazon S3 cung cấp các tính năng bảo mật linh hoạt để ngăn không cho người dùng trái phép truy cập dữ liệu của bạn. Bạn có thể kết nối với tài nguyên S3 từ Amazon Virtual Private Cloud (Amazon VPC) bằng cách sử dụng điểm cuối VPC

Trong phần này, chúng ta tạo S3 Bucket Policy để yêu cầu mã hóa dữ liệu ở trạng thái nghỉ.
Tương tự ở lab trước, chúng ta truy cập vào AWS Management Console

Trong giao diện S3

Trong giao diện sid-security-xxxxxxx bucket
Chọn Permission
Trong Bucket policy, chọn Edit

{
"Statement": [
{
"Effect": "Deny",
"Principal": "*",
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::BUCKET_NAME/*",
"Condition": {
"StringNotEquals": {
"s3:x-amz-server-side-encryption": "AES256"
}
}
}
]
}


cd ~
echo "123456789abcdefg" > textfile

aws s3api put-object --key text01 --body textfile --profile user1 --bucket ${bucket}
Yêu cầu sẽ không thành công, vì object không được mã hóa.

aws s3api put-object --key text01 --body textfile --server-side-encryption AES256 --profile user1 --bucket ${bucket}
Lệnh thành công vì PUT đã sử dụng SSE-S3.

