Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
Wie kann ich die Amazon-S3-Block-Public-Access-Funktion verwenden, um den öffentlichen Zugriff auf Amazon S3-Ressourcen zu verwalten?
Ich möchte den Zugriff auf meine Amazon Simple Storage Service (Amazon S3)-Ressourcen verwalten. Dazu möchte ich S3 Block Public Access verwenden.
Lösung
Du kannst Amazon S3 Block Public Access-Einstellungen für verschiedene Zugriffsebenen konfigurieren.
Erteile die erforderlichen Berechtigungen
Um die S3-Block-Public-Access-Einstellungen zu ändern, muss dein AWS-Identity-and-Access-Management(IAM)-Benutzer oder deine AWS-Identity-and-Access-Management(IAM)-Rolle über die folgenden Berechtigungen verfügen:
- s3:PutAccountPublicAccessBlock
- s3:PutBucketPublicAccessBlock
Um deine aktuellen S3-Block-Public-Access-Einstellungen anzuzeigen, muss dein IAM-Benutzer oder deine IAM-Rolle über die folgenden Berechtigungen verfügen:
- s3:GetAccountPublicAccessBlock
- s3:GetBucketPublicAccessBlock
Weitere Informationen findest du unter Berechtigungen.
S3 Block Public Access aktivieren oder deaktivieren
Hinweis: Seit April 2023 aktiviert Amazon S3 automatisch S3 Block Public Access für alle Buckets, die du erstellst.
Du kannst die Einstellungen für S3 Block Public Access auf Konto- oder Bucket-Ebene oder auf beiden Ebenen konfigurieren.
S3 Block Public Access aktivieren
Nachdem du S3 Block Public Access aktiviert hast, führt Amazon S3 die folgenden Aktionen durch:
- Verweigert ausnahmslos alle anonymen und nicht authentifizierten Anfragen. Amazon S3-URIs und URLs, die einen Webbrowser oder Curl für den Zugriff verwenden, erhalten eine "HTTP 403 Access Denied"-Fehlermeldung.
- Ignoriert neue öffentliche ACLs, die du auf Amazon-S3-Objekte anwendest, und widerruft den Benutzerzugriff auf den S3-Bucket und die S3-Objekte.
S3 Block Public Access deaktivieren
Wenn du S3 Block Public Access deaktiviert hast, ermöglicht Amazon S3 den Zugriff auf ein Objekt mit einer öffentlichen Bucket-Richtlinie oder einer öffentlichen ACL. Für Amazon S3-Anforderungen wie LIST oder GET können Kosten anfallen. AWS berechnet dir Gebühren für anonyme Anfragen, die in Bezug auf den öffentlichen Bucket oder das öffentliche Objekt übermittelt werden. AWS-Config-Regeln und IAM Access Analyzer für S3 generieren Warnungen betreffend den öffentlichen Status deines Buckets.
Wenn du S3 Block Public Access deaktivierst, zeigt deine Amazon S3-Konsole die Zugriffseinstellungen im Übersichtsbereich Externer Zugriff an.
Behebung von Fehlern des Typs „"Access Denied"“ und S3-Bucket-Fehlern
Möglicherweise erhältst du die Fehlermeldung "Access Denied", wenn du versuchst, S3 Block Public Access in deinem S3-Bucket zu aktivieren oder zu deaktivieren.
Gehe wie folgt vor, um diesen Fehler zu beheben:
- Stelle sicher, dass die Service-Kontrollrichtlinien (SCPs) von AWS Organizations Änderungen an S3 Block Public Access auf Konto- oder Bucket-Ebene nicht verhindern. Überprüfe die Verweigerungs-Anweisungen für die Aktionen s3:PutBucketPublicAccessBlock und s3:PutAccountPublicAccessBlock.
- Wenn dein Bucket in der Spalte Zugriff einen Fehler anzeigt, füge deiner IAM-Richtlinie die folgenden Berechtigungen hinzu, um Buckets und öffentliche Zugriffseinstellungen aufzulisten:
s3:GetAccountPublicAccessBlock
s3:GetBucketPublicAccessBlock
s3:GetBucketPolicyStatus
s3:GetBucketLocation
s3:GetBucketAcl
s3:ListAccessPoints
s3:ListAllMyBuckets
Identifiziere den IAM-Benutzer oder die IAM-Rolle, der/die S3 Block Public Access geändert hat
Überprüfe deinen AWS CloudTrail-Ereignisverlauf, um Ereignisse für die folgenden EventNames zu identifizieren:
- Suche auf Kontoebene nach PutAccountPublicAccessBlock.
- Suche auf Bucket-Ebene nach PutBucketPublicAccessBlock.
Um den Amazon-Ressourcennamen (ARN) des Aufrufers zu identifizieren, vergleiche ihn mit dem Feld UserIdentity im Protokoll. Beispielprotokoll:
"userIdentity": { "type": "AssumedRole", "principalId": "[AccountID]:[RoleName]", "arn": "arn:aws:sts::[AccountID]:assumed-role/[RoleName]/[RoleSession]",
Überprüfe dann bucketName, um den geänderten S3-Bucket zu identifizieren. Beispielprotokoll:
"requestParameters": { "publicAccessBlock": "", "bucketName": "[BucketName]"
- Themen
- Storage
- Sprache
- Deutsch

Relevanter Inhalt
AWS OFFICIALAktualisiert vor 4 Monaten