Ich versuche, alle Dateien in meinem S3-Bucket aufzulisten. Aber immer den Fehler bekommen Zugriff verweigert. Ich glaube, ich habe die notwendigen Berechtigungen in meinem IAM
Benutzer:Kann Dateien hochladen, aber S3-Bucket-Objekte nicht auflisten. Zugriff verweigert Fehler
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "SID",
"Effect": "Allow",
"Action": [
"s3:AbortMultipartUpload",
"s3:DeleteObject",
"s3:DeleteObjectVersion",
"s3:GetBucketAcl",
"s3:GetBucketCORS",
"s3:GetBucketLocation",
"s3:GetBucketLogging",
"s3:GetBucketNotification",
"s3:GetBucketPolicy",
"s3:GetBucketRequestPayment",
"s3:GetBucketTagging",
"s3:GetBucketVersioning",
"s3:GetBucketWebsite",
"s3:GetLifecycleConfiguration",
"s3:GetObject",
"s3:GetObjectAcl",
"s3:GetObjectTorrent",
"s3:GetObjectVersion",
"s3:GetObjectVersionAcl",
"s3:GetObjectVersionTorrent",
"s3:ListAllMyBuckets",
"s3:ListBucket",
"s3:ListBucketMultipartUploads",
"s3:ListBucketVersions",
"s3:ListMultipartUploadParts",
"s3:PutBucketAcl",
"s3:PutBucketCORS",
"s3:PutBucketLogging",
"s3:PutBucketNotification",
"s3:PutBucketPolicy",
"s3:PutBucketRequestPayment",
"s3:PutBucketTagging",
"s3:PutBucketVersioning",
"s3:PutBucketWebsite",
"s3:PutLifecycleConfiguration",
"s3:PutObject",
"s3:PutObjectAcl",
"s3:PutObjectVersionAcl",
"s3:RestoreObject"
],
"Resource": [
"arn:aws:s3:::bucket/*"
]
}
]
}
Ist ich vollen Zugriff auf S3 gewähren, (AmazonS3FullAccess Politik), kann ich die Objekte aufzulisten. Was könnte das Problem sein? Ich glaube, ich habe nur Berechtigungen zum Löschen und Erstellen von Buckets in der benutzerdefinierten Richtlinie entfernt.
Als ich hinzufügen vollen Zugriff auf die gleiche Politik:
"Action": [
"s3:*"
],
ich noch nicht Objekte auflisten kann. Aber mit den aktuellen Berechtigungen kann ich Objekte hochladen und löschen.
Ja, die Auflistung des Bucket-Inhalts erfordert eine Berechtigung für den Bucket. Dasselbe gilt für das Hochladen, daher ist es seltsam, dass du es hochladen kannst. BTW, du brauchst das '*' nach dem Bucket-Namen nicht. –
@JohnRotenstein Ah danke für die Erklärung! Ich werde versuchen, ohne das "*" :-) – THpubs
Beachten Sie, dass "arn: aws: s3 ::: bucket *" alle Buckets, die mit Bucket (done bucketABC) beginnen, übereinstimmen wird. – LukaszQr