Bingung mengapa tidak ada jawaban yang diperiksa?
Mari kita uraikan setiap pernyataan kebijakan dari solusi di atas:
Pernyataan kebijakan dari ini berlaku untuk konten bucket, tetapi bukan buck itu sendiri. Ini mungkin bukan pertanyaan yang ditanyakan, karena Anda tidak dapat melihat apa yang ada di keranjang.
{
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:PutObject",
"s3:GetObjectAcl",
"s3:PutObjectAcl",
"s3:ListBucket",
"s3:GetBucketAcl",
"s3:PutBucketAcl",
"s3:GetBucketLocation"
],
"Resource": "arn:aws:s3:::your_bucket_here/*",
"Condition": {}
}
Kebijakan dua pernyataan yang diturunkan dari ini memberikan akses hanya baca ke keranjang di ( arn:aws:s3:::your_bucket_here/
) hanya baca , tetapi masih memungkinkan operasi CRUD pada konten keranjang ( arn:aws:s3:::your_bucket_here/*
).
{
"Effect": "Allow",
"Action": [
"s3:ListBucket",
"s3:GetBucketLocation",
"s3:ListBucketMultipartUploads"
],
"Resource": "arn:aws:s3:::your_bucket_here",
"Condition": {}
},
{
"Effect": "Allow",
"Action": [
"s3:AbortMultipartUpload",
"s3:DeleteObject",
"s3:DeleteObjectVersion",
"s3:GetObject",
"s3:GetObjectAcl",
"s3:GetObjectVersion",
"s3:GetObjectVersionAcl",
"s3:PutObject",
"s3:PutObjectAcl",
"s3:PutObjectAclVersion"
],
"Resource": "arn:aws:s3:::your_bucket_here/*",
"Condition": {}
}
Namun, kebijakan tersebut menyertakan pernyataan di bawah ini, yang memungkinkan pengguna melihat semua keranjang di titik akhir. Ini mungkin bukan pertanyaan yang ditanyakan.
{
"Effect": "Allow",
"Action": "s3:ListAllMyBuckets",
"Resource": "*",
"Condition": {}
}
Namun, hal di atas sangat berguna jika Anda menggunakan klien yang menjelajah toko S3. Jika klien Anda mengakses store dan bukan bucket secara langsung, Anda memerlukan akses ke daftar bucket di root.