Cập nhật lần cuối: 2024/06/20 18:10:23
Bucket policies là một cơ chế để quản lý quyền truy cập và cấp phép truy cập cho Object Strorage CMC S3. Khi so sánh với ACLs, bucket policies áp dụng cho chỉ bucket (không áp dụng cho các object bên trong).
1. Các thành phần của 1 Policy
Bucket policies được định nghĩa thông qua cấu trúc json như sau:
Mảng Statement định nghĩa các policies mà bạn muốn sử dụng. Bên trong mảng Statement gồm Effect, Principal, Action, Resource, và tùy chọn Condition. Mỗi thành phần trên được mô tả như bên dưới.
"Effect":"Allow"
"Principal" : "*"
- Với trường hợp tất cả objects: áp dụng policy cho bucket, ví dụ: example-bucket
"Resource": [ "arn:aws:s3:::example-bucket/*" ]
- Với trường hợp tất cả các objects bên trong bucket, hoặc bên trong thư mục: áp dụng cho tất cả các objects bên trong bucket, ví dụ: example-bucket
"Resource": [ "arn:aws:s3:::example-bucket/folder/*" ]
- Với trường hợp 01 object bất kỳ, áp dụng policy cho object example-file.ext bên trong bucket có tên example-bucket.
"Resource": [ "arn:aws:s3:::example-bucket/example-file.ext" ]
Lưu ý: Khi định nghĩa bucket không cần bỏ /*, nếu bỏ /* có thể gây ra lỗi bucket trở nên không thể truy cập được qua API, CLI…
2. Hướng dẫn áp dụng Bucket policy
3. Một số ví dụ về Bucket policy
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": "*",
"Action": [
"s3:GetObject","s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::bucket-example/*"
]
}]
}
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": "*",
"Action": [ "s3:ListBucket"
],
"Resource": [ "arn:aws:s3:::example-bucket"
]
},
{
"Effect": "Allow",
"Principal": "*",
"Action": [ "s3:GetObject"
],
"Resource": [
"arn:aws:s3:::example-bucket/test/*"
]
}
]
}
Điều khoản & Chính sách