Giống phần trước, truy cập Amazon S3
Trong giao diện sid-security-xxxxxxx bucket
{
"Statement": [
{
"Effect": "Allow",
"Principal": "*",
"Action": [
"s3:PutObject",
"s3:PutObjectAcl"
],
"Resource": "arn:aws:s3:::BUCKET_NAME/*",
"Condition": {
"StringEquals": {
"s3:x-amz-acl": "private"
}
}
}
]
}
aws s3api put-object --key text01 --body textfile --profile user1 --bucket ${bucket}
Yêu cầu sẽ thành công vì mặc định cho một đối tượng ACL là riêng tư.
aws s3api put-object --key text01 --body textfile --acl public-read --profile user1 --bucket ${bucket}
Lệnh này cũng thành công, nhưng nó không phải là hành vi mà người ta mong đợi
Chính sách nhóm hiện tại cho phép các ACL riêng tư nhưng không TỪ CHỐI bất cứ điều gì. Điều quan trọng là viết các chính sách ngăn chặn các hành động, không cho phép nó khi cố gắng hạn chế các hành động chống lại một nhóm. Chính sách nhóm hiện tại cũng cho phép Công khai truy cập vào nhóm không chủ ý do ký tự chính là ký tự đại diện.
Truy cập vào S3
{
"Statement": [
{
"Effect": "Deny",
"Principal": "*",
"Action": [
"s3:PutObject",
"s3:PutObjectAcl"
],
"Resource": "arn:aws:s3:::BUCKET_NAME/*",
"Condition": {
"StringEquals": {
"s3:x-amz-acl": [
"public-read",
"public-read-write",
"authenticated-read"
]
}
}
}
]
}
aws s3api put-object --key text01 --body textfile --profile user1 --bucket ${bucket}
Yêu cầu sẽ thành công vì mặc định cho một đối tượng ACL là riêng tư.
aws s3api put-object --key text01 --body textfile --acl public-read --profile user1 --bucket ${bucket}
Yêu cầu không thành công vì chính sách nhóm hiện hạn chế ACL đọc công khai.