Get Hands-on with Amazon EKS - Workshop Event Series
Whether you're taking your first steps with Kubernetes or you're an experienced practitioner looking to sharpen your skills, our Amazon EKS workshop series delivers practical, real-world experience that moves you forward. Learn directly from AWS solutions architects and EKS specialists through hands-on sessions designed to build your confidence with Kubernetes. Register now and start building with Amazon EKS!
Wie behebe ich den Fehler „You don't have permissions to edit bucket policy“, wenn ich versuche, eine Bucket-Richtlinie in Amazon S3 zu ändern?
Ich erhalte die Fehlermeldung „You don't have permissions to edit bucket policy“, wenn ich die Bucket-Richtlinie meines Amazon Simple Storage Service (Amazon S3)-Buckets ändere.
Kurzbeschreibung
Hinweis: Wenn du beim Ausführen von AWS Command Line Interface (AWS CLI)-Befehlen Fehlermeldungen erhältst, findest du weitere Informationen dazu unter Problembehandlung bei der AWS CLI. Stelle außerdem sicher, dass du die neueste Version der AWS CLI verwendest.
Du erhältst diesen Fehler aus den folgenden Gründen:
- Dein AWS Identity and Access Management (IAM)-Benutzer oder deine -Rolle verfügt nicht über Berechtigungen für die s3:GetBucketPolicy- und s3:PutBucketPolicy-API-Aufrufe.
- Die Bucket-Richtlinie verweigert deiner IAM-Identität die Berechtigung für s3:GetBucketPolicy und s3:PutBucketPolicy.
- Du hast die Amazon S3 Block Public Access-Funktion für den Bucket aktiviert.
- Die Service-Kontrollrichtlinien von AWS Organizations erlauben keinen Zugriff auf Amazon S3.
Um diesen Fehler zu beheben, stelle sicher, dass der IAM-Benutzer oder die IAM-Rolle über die Berechtigung s3:GetBucketPolicy zum Anzeigen der Bucket-Richtlinie und über die Berechtigung s3:PutBucketPolicy zum Bearbeiten verfügt. Wenn es keine IAM-Benutzerrichtlinie gibt, die dir Zugriff gewährt, füge eine hinzu. Wenn du nicht über die notwendigen Berechtigungen verfügst, verwende eine andere IAM-Identität, die über Bucket-Zugriff verfügt, und bearbeite die Bucket-Richtlinie. Wenn niemand Zugriff auf die Bucket-Richtlinie hat, verwende den AWS CLI-Befehl delete-bucket-policy, um die Richtlinie zu löschen und anschließend neu zu erstellen.
Wenn du eine öffentliche Leserichtlinie hinzuzufügen musst, deaktiviere die Amazon S3 Block Public Access-Funktion des Buckets. Wenn du AWS Organizations verwendest, stelle sicher, dass keine Richtlinien zur Servicekontrolle existieren, die S3-Aktionen ausdrücklich ablehnen. Stelle zudem sicher, dass du Ausnahmen für deinen Vorgang hinzufügen kannst.
Lösung
Berechtigungen für s3:GetBucketPolicy und s3:PutBucketPolicy überprüfen
Gehe wie folgt vor, um deine Berechtigungen zu überprüfen:
- Öffne die IAM-Konsole.
- Wähle die Identität aus, die für den Zugriff auf die Bucket-Richtlinie verwendet wird, z. B. Benutzer oder Rolle.
- Wähle den IAM-Identitätsnamen aus, den du für den Zugriff auf die Bucket-Richtlinie verwendest.
- Erweitere auf der Registerkarte Berechtigungen deiner IAM-Identität jede Richtlinie, um das zugehörige JSON-Richtliniendokument anzuzeigen.
- Suche in den JSON-Richtliniendokumenten nach Richtlinien für den Zugriff auf Amazon S3. Stelle anschließend sicher, dass du über die Berechtigungen für die Aktionen s3:GetBucketPolicy und s3:PutBucketPolicy für den Bucket verfügst.
Die folgende Beispiel-IAM-Richtlinie ermöglicht es der IAM-Identität, die Aktionen s3:GetBucketPolicy und s3:PutBucketPolicy für DOC-EXAMPLE-BUCKET auszuführen:
**Hinweis:**Die Anweisung Accesss3Console in der vorherigen IAM-Richtlinie gewährt Zugriff auf die Amazon S3-Konsole. Sie bezieht sich nicht speziell auf Änderungen der Bucket-Richtlinie.{ "Version": "2012-10-17", "Statement": [ { "Sid": "ModifyBucketPolicy", "Action": [ "s3:GetBucketPolicy", "s3:PutBucketPolicy" ], "Effect": "Allow", "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET" }, { "Sid": "AccessS3Console", "Action": [ "s3:GetBucketLocation", "s3:ListAllMyBuckets" ], "Effect": "Allow", "Resource": "arn:aws:s3:::*" } ] } - Suche in den JSON-Richtliniendokumenten nach Anweisungen mit „Effect“: „Deny“. Stelle anschließend sicher, dass diese Anweisungen deiner IAM-Identität nicht den Zugriff auf s3:GetBucketPolicy oder s3:PutBucketPolicy verweigern.
- Stelle sicher, dass der Bucket-ARN (Beispiel: arn:aws:s3:::DOC-EXAMPLE-BUCKET) im Bereich Ressource der Richtlinie vorhanden ist.
Hinweis: s3:GetBucketPolicy und s3:PutBucketPolicy sind Aktionen auf Bucket-Ebene. - Prüfe, ob du globale Bedingungen wie etwa aws:SourceIP in der IAM-Richtlinie angewendet hast, um die Aktionen s3:GetBucketPolicy und s3:PutBucketPolicy einzuschränken. Wenn diese Bedingungen den Zugriff einschränken, entferne oder aktualisiere diese Bedingungen.
Bucket-Richtlinie hinzufügen, falls noch keine existiert
Wenn du keine Richtlinien findest, welche die Berechtigungen s3:GetBucketPolicy oder s3:PutBucketPolicy gewähren, füge eine Richtlinie hinzu, um deiner IAM-Identität diese Berechtigungen zu gewähren. Wenn du Richtlinien findest, die den Zugriff auf s3:GetBucketPolicy oder s3:PutBucketPolicy verweigern, entferne diese Richtlinien. Anweisungen zum Ändern deiner IAM-Berechtigungen findest du unter Berechtigungen für einen IAM-Benutzer ändern.
Andere IAM-Identität mit Bucket-Zugriff verwenden und Bucket-Richtlinie ändern
Gehe wie folgt vor, um deine Bucket-Richtlinie zu modifizieren:
- Öffne die Amazon S3-Konsole.
- Öffne in der Liste der Buckets den Bucket mit der Bucket-Richtlinie, die du ändern möchtest.
- Wähle die Registerkarte Berechtigungen aus.
- Wähle Bucket-Richtlinie aus.
- Suche nach Anweisungen mit „Effect“: „Deny“.
- Bearbeite die Bucket-Richtlinie, um alle Anweisungen mit „Effect“: „Deny“, die der IAM-Identität den Zugriff auf s3:GetBucketPolicy oder s3:PutBucketPolicy verweigern, zu aktualisieren. Anweisungen findest du im Abschnitt So erstellst oder bearbeitest du eine Bucket-Richtlinie unter Eine Bucket-Richtlinie mithilfe der Amazon S3-Konsole hinzufügen.
- Prüfe, ob die Bucket-Richtlinie Bedingungen wie aws:PrincipalArn enthält, die die Aktionen s3:GetBucketPolicy und s3:PutBucketPolicy für deine IAM-Entität einschränken. Wenn diese Bedingungen den Zugriff einschränken, entferne oder aktualisiere diese Bedingungen.
Bucket-Richtlinie löschen und erneut erstellen, wenn sie allen Personen Zugriff verweigert
Wenn die Bucket-Richtlinie allen Personen den Zugriff auf s3:GetBucketPolicy, s3:PutBucketPolicy oder alle Amazon S3-Aktionen (s3:*) verweigert, lösche die Bucket-Richtlinie. Wenn du dich versehentlich aus dem Bucket aussperrst und die Bucket-Richtlinie nicht löschen kannst, erhalte erneut Zugriff auf den Bucket. Nachdem du die Bucket-Richtlinie gelöscht hast, kannst du eine neue erstellen.
Amazon S3 Block Public Access deaktivieren
Wenn deine Bucket-Richtlinie öffentlichen Zugriff gewährt, deaktiviere Amazon S3 Block Public Access für den Bucket. Weitere Informationen findest du unter Blockieren des öffentlichen Zugriffs auf deinen Amazon S3-Speicher und Die Bedeutung von „öffentlich“.
Hinweis: Um den öffentlichen Zugriff auf private Buckets zu verhindern, aktiviere Amazon S3 Block Public Access für deinen Bucket, bevor du ihn auf AWS-Kontoebene deaktivierst.
Für AWS Organizations die Richtlinien zur Service-Kontrolle löschen, die keinen Zugriff auf Amazon S3 zulassen
Wenn du AWS Organizations verwendest, überprüfe deine Service-Kontrollrichtlinien (SCPs). Suche nach Anweisungen, die die Aktion **s3:PutBucketPolicy oder eine andere** Amazon S3-Richtlinienaktion explizit ablehnen. Lösche die SCPs, die den Effekt Ablehnen auf s3:*-Aktionen anwenden, wenn deine Organisation die Richtlinien nicht benötigt.
Die folgende Beispielrichtlinie verweigert den Zugriff auf alle Amazon S3-Aktionen:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "s3:*", "Resource": "*" } ] }
- Themen
- Storage
- Sprache
- Deutsch
Ähnliche Videos

