สับสนว่าทำไมไม่มีการตรวจสอบคำตอบ?
มาแจกแจงคำแถลงนโยบายแต่ละข้อจากโซลูชันข้างต้น:
แถลงนโยบายนี้จากนำไปใช้กับเนื้อหาของถัง แต่ไม่เจ้าชู้ของตัวเอง นี่อาจไม่ใช่สิ่งที่คำถามถามเพราะคุณไม่เห็นสิ่งที่อยู่ในถัง
{
"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": {}
}
นโยบายคำสั่งสองข้อนี้ได้มาจากให้การเข้าถึงที่เก็บข้อมูลแบบอ่านอย่างเดียวที่ ( arn:aws:s3:::your_bucket_here/
) แบบอ่านอย่างเดียวแต่ยังคงอนุญาตให้ใช้ CRUD ในเนื้อหาของที่เก็บข้อมูล ( 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": {}
}
อย่างไรก็ตามนโยบายดังกล่าวมีคำสั่งด้านล่างซึ่งช่วยให้ผู้ใช้เห็นที่เก็บข้อมูลทั้งหมดที่จุดสิ้นสุด นี่อาจไม่ใช่สิ่งที่คำถามถามหา
{
"Effect": "Allow",
"Action": "s3:ListAllMyBuckets",
"Resource": "*",
"Condition": {}
}
อย่างไรก็ตามข้างต้นมีประโยชน์มากหากคุณใช้ไคลเอนต์ที่เบราว์เซอร์ร้านค้า S3 หากลูกค้าของคุณเข้าถึงร้านค้าไม่ใช่ที่เก็บข้อมูลโดยตรงดังนั้นคุณต้องเข้าถึงรายการที่เก็บข้อมูลที่ราก