Tutorial kali ini mencantumkan beberapa perintah AWS CLI dan stepnya dari Console Amazon S3 yang dapat Anda gunakan untuk mengatur permission S3 Object Anda.
Sebelum memulai pastikan sudah Anda sudah Install AWS CLI dan sudah membuat bucket S3
Edit ACL dengan AWS CLI #
Dengan s3
aws s3 sync <LocalPath> <S3Uri> --acl authenticated-read
Dengan s3api
aws s3api put-object-acl --bucket bucketname --key objectname --acl public-read
–acl values:
- private
- public-read
- public-read-write
- authenticated-read
- aws-exec-read
- bucket-owner-read
- bucket-owner-full-control
Edit ACL pada banyak object sekaligus #
aws s3 sync public_html/ s3://mytopan --acl authenticated-read
Edit ACL pada satu object #
aws s3api put-object-acl --bucket mytopan --key sitemap.xml --acl public-read
Cek ACL object #
aws s3api get-object-acl --bucket mytopan --key sitemap.xml
Output
{
"Owner": {
"DisplayName": "",
"ID": ""
},
"Grants": [
{
"Grantee": {
"DisplayName": "",
"ID": "",
"Type": "CanonicalUser"
},
"Permission": "FULL_CONTROL"
},
{
"Grantee": {
"Type": "Group",
"URI": "http://acs.amazonaws.com/groups/global/AllUsers"
},
"Permission": "READ"
}
]
}
Edit ACL melalui Console #
- Pilih Bucket dan Object
- Pilih Permissions dan klik edit ACL
- Edit ACL misal menambahkan read ke public access
- klik Save Changes
Edit permission dengan sytax grant #
Cara ini hanya bisa dengan command s3 cp, s3 mv, dan s3 sync
--grants Permission=Grantee_Type=Grantee_ID
-
Permission – Untuk menentukan permission ke read, readacl, writeacl, atau full.
-
Grantee_Type – Untuk mengidentifikasi penerima permission. bisa di set ke uri, emailaddress, atau id.
-
Grantee_ID – Value dari Grantee_Type.
- uri
http://acs.amazonaws.com/groups/global/AllUsers http://acs.amazonaws.com/groups/global/AuthenticatedUsers http://acs.amazonaws.com/groups/s3/LogDelivery ```
* emailaddress.
* id – canonical ID Akun.
Contoh
Setting permissions Everyone (public access) #
aws s3 sync s3://mytopan-backup s3://mytopan --grants full=uri=http://acs.amazonaws.com/groups/global/AllUsers
Referensi