Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Voraussetzungen für die Deaktivierung von ACLs
Wenn Ihre Bucket-ACL Zugriff außerhalb Ihrer gewährt, müssen Sie AWS-Konto, bevor Sie ACLs deaktivieren, Ihre Bucket-ACL-Berechtigungen auf Ihre Bucket-Richtlinie migrieren und Ihre Bucket-ACL auf die standardmäßige private ACL zurücksetzen. Wenn Sie diese Bucket-ACLs nicht migrieren, schlägt Ihre Anfrage zum Anwenden der Einstellung „Bucket-Eigentümer erzwungen“ zum Deaktivieren von ACLs fehl und gibt den Fehlercode InvalidBucketAclWithObjectOwnership zurück. Wir empfehlen Ihnen auch, die ACL-Berechtigungen für das Objekt zu überprüfen und sie in Ihre Bucket-Richtlinie zu migrieren. Weitere Informationen zu anderen empfohlenen Voraussetzungen finden Sie unter Voraussetzungen für die Deaktivierung von ACLs.
Jede Ihrer vorhandenen Bucket- und Objekt-ACLs hat ein Äquivalent in einer IAM-Richtlinie. Die folgenden Beispiele für Bucket-Richtlinien zeigen, wie READ
- und WRITE
-Berechtigungen für Bucket- und Objekt-ACLs IAM-Berechtigungen zugeordnet werden. Weitere Informationen dazu, wie jede ACL in IAM-Berechtigungen übersetzt wird, finden Sie unter Mapping der ACL-Berechtigungen und Zugriffsrichtlinienberechtigungen.
Informationen zum Überprüfen und Migrieren von ACL-Berechtigungen zu Bucket-Richtlinien finden Sie in den folgenden Themen.
Themen
Beispiele für Bucket-Richtlinie
Diese Beispiel-Bucket-Richtlinien zeigen Ihnen, wie Sie READ
- und WRITE
-Bucket- und Objekt-ACL-Berechtigungen für einen Drittanbieter AWS-Konto in eine Bucket-Richtlinie migrieren. READ_ACP
- und WRITE_ACP
-ACLs sind für Richtlinien weniger relevant, da sie ACL-bezogene Berechtigungen gewähren (s3:GetBucketAcl
, s3:GetObjectAcl
, s3:PutBucketAcl
und s3:PutObjectAcl
).
Beispiel — READ
-ACL für einen Bucket
Wenn Ihr Bucket über eine READ
ACL verfügte, die die AWS-Konto
Erlaubnis erteilt, den Inhalt Ihres Buckets aufzulisten, können Sie eine Bucket-Richtlinie schreiben, die111122223333
s3:ListBucket
,s3:ListBucketVersions
, s3:ListBucketMultipartUploads
Berechtigungen für Ihren Bucket gewährt.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Permission to list the objects in a bucket", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::
111122223333
:root" ] }, "Action": [ "s3:ListBucket", "s3:ListBucketVersions", "s3:ListBucketMultipartUploads" ], "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET
" } ] }
Beispiel – READ
-ACLs für jedes Objekt in einem Bucket
Wenn jedes Objekt in Ihrem Bucket über eine READ
ACL verfügt, auf die Zugriff gewährt wird AWS-Konto
, können Sie eine Bucket-Richtlinie schreiben, die diesem Konto für jedes Objekt in Ihrem Bucket 111122223333
s3:GetObjectVersion
Berechtigungen gewährts3:GetObject
.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Read permission for every object in a bucket", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::
111122223333
:root" ] }, "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET
/*" } ] }
Dieses Beispiel-Ressourcenelement gewährt Zugriff auf ein bestimmtes Objekt.
"Resource": "arn:aws:s3:::
DOC-EXAMPLE-BUCKET
/OBJECT-KEY
"
Beispiel – WRITE
-ACL, die Berechtigungen zum Schreiben von Objekten in einen Bucket erteilt
Wenn Ihr Bucket über eine WRITE
ACL verfügt, die AWS-Konto
berechtigt, Objekte in Ihren Bucket zu schreiben, können Sie eine Bucket-Richtlinie schreiben, die 111122223333
s3:PutObject
Berechtigungen für Ihren Bucket erteilt.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Permission to write objects to a bucket", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::
111122223333
:root" ] }, "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET
/*" } ] }
Überprüfen und Migrieren von ACL-Berechtigungen mit der S3-Konsole
So überprüfen Sie die ACL-Berechtigungen eines Buckets
Melden Sie sich bei der Amazon S3 S3-Konsole an AWS Management Console und öffnen Sie sie unter https://console.aws.amazon.com/s3/
. -
Wählen Sie in der Liste Buckets den Namen des Buckets aus.
-
Wählen Sie die Registerkarte Berechtigungen.
-
Überprüfen Sie unter Zugriffskontrollliste (ACL) Ihre Bucket-ACL-Berechtigungen.
So überprüfen Sie die ACL-Berechtigungen eines Objekts
Melden Sie sich bei der Amazon S3 S3-Konsole an AWS Management Console und öffnen Sie sie unter https://console.aws.amazon.com/s3/
. -
Wählen Sie in der Liste Buckets den Namen des Buckets aus, der Ihr Objekt enthält.
-
Wählen Sie in der Liste Objekts (Objekte) den Objektnamen aus.
-
Wählen Sie die Registerkarte Berechtigungen.
-
Überprüfen Sie unter Zugriffskontrollliste (ACL) Ihre Objekt-ACL-Berechtigungen.
So migrieren Sie ACL-Berechtigungen und aktualisieren Ihre Bucket-ACL
Melden Sie sich bei der Amazon S3 S3-Konsole an AWS Management Console und öffnen Sie sie unter https://console.aws.amazon.com/s3/
. -
Wählen Sie in der Liste Buckets den Namen des Buckets aus.
-
Wählen Sie auf der Registerkarte Berechtigungen unter Bucket-Richtlinie die Option Bearbeiten aus.
-
Fügen Sie im Feld Richtlinie Ihre Bucket-Richtlinie hinzu oder aktualisieren Sie sie.
Beispiele für Bucket-Richtlinien finden Sie unter Beispiele für Bucket-Richtlinie und Beispielhafte Walkthroughs.
-
Wählen Sie Änderungen speichern aus.
-
Aktualisieren Sie Ihre Bucket ACL um Zuschüsse für andere Gruppen oder AWS-Konten zu entfernen.
-
Wenden Sie die Einstellung Bucket-Eigentümer erzwungen für die Objekteigentümerschaft an.
Verwenden Sie die AWS CLI , um ACL-Berechtigungen zu überprüfen und zu migrieren
-
Verwenden Sie den get-bucket-acl
AWS CLI folgenden Befehl, um die Bucket-ACL für Ihren Bucket zurückzugeben: aws s3api get-bucket-acl --bucket
DOC-EXAMPLE-BUCKET
Zum Beispiel gewährt dieser Bucket-ACL
WRITE
- undREAD
-Zugriff auf ein Drittanbieter-Konto. In dieser ACL wird das Drittanbieterkonto durch die kanonische Benutzer-ID identifiziert. Um die Einstellung „Bucket-Eigentümer erzwungen“ anzuwenden und ACLs zu deaktivieren, müssen Sie diese Berechtigungen für das Drittanbieterkonto zu einer Bucket-Richtlinie migrieren.{ "Owner": { "DisplayName": "
DOC-EXAMPLE-ACCOUNT-OWNER
", "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID
" }, "Grants": [ { "Grantee": { "DisplayName": "DOC-EXAMPLE-ACCOUNT-OWNER
", "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID
", "Type": "CanonicalUser" }, "Permission": "FULL_CONTROL" }, { "Grantee": { "DisplayName": "THIRD-PARTY-EXAMPLE-ACCOUNT
", "ID": "72806de9d1ae8b171cca9e2494a8d1335dfced4ThirdPartyAccountCanonicalUserID
", "Type": "CanonicalUser" }, "Permission": "READ" }, { "Grantee": { "DisplayName": "THIRD-PARTY-EXAMPLE-ACCOUNT
", "ID": "72806de9d1ae8b171cca9e2494a8d1335dfced4ThirdPartyAccountCanonicalUserID
", "Type": "CanonicalUser" }, "Permission": "WRITE" } ] }Weitere Beispiel-ACLs finden Sie unter Beispielhafte Walkthroughs.
-
Migrieren Sie Ihre Bucket-ACL-Berechtigungen auf eine Bucket-Richtlinie:
In diesem Beispiel gewährt Bucket-Richtlinien
s3:PutObject
unds3:ListBucket
Berechtigungen für ein Drittanbieterkonto. In der Bucket-Richtlinie wird das Drittanbieter-Konto anhand der AWS-Konto ID (
) identifiziert.111122223333
aws s3api put-bucket-policy --bucket
DOC-EXAMPLE-BUCKET
--policyfile://policy.json
policy.json: { "Version": "2012-10-17", "Statement": [ { "Sid": "PolicyForCrossAccountAllowUpload", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333
:root" ] }, "Action": [ "s3:PutObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET
", "arn:aws:s3:::DOC-EXAMPLE-BUCKET
/*" } ] }Weitere Beispiele für Bucket-Richtlinien finden Sie unter Beispiele für Bucket-Richtlinie und Beispielhafte Walkthroughs.
-
Verwenden Sie den get-object-acl
AWS CLI Befehl, um die ACL für ein bestimmtes Objekt zurückzugeben. aws s3api get-object-acl --bucket
DOC-EXAMPLE-BUCKET
--keyEXAMPLE-OBJECT-KEY
-
Migrieren Sie bei Bedarf Objekt-ACL-Berechtigungen auf Ihre Bucket-Richtlinie.
Dieses Beispiel-Ressourcenelement gewährt Zugriff auf ein bestimmtes Objekt in einer Bucket-Richtlinie.
"Resource": "arn:aws:s3:::
DOC-EXAMPLE-BUCKET
/EXAMPLE-OBJECT-KEY
" -
Setzen Sie die ACL für Ihren Bucket auf die Standard-ACL zurück.
aws s3api put-bucket-acl --bucket
DOC-EXAMPLE-BUCKET
--acl private -
Wenden Sie die Einstellung „Bucket-Eigentümer erzwungen“ für die Objekteigentümerschaft an.
Beispielhafte Walkthroughs
Die folgenden Beispiele zeigen, wie Sie ACL-Berechtigungen für bestimmte Anwendungsfälle zu Bucket-Richtlinien migrieren.
Themen
Gewähren von Zugriff auf die S3-Protokollbereitstellungsgruppe für die Protokollierung des Serverzugriffs
Wenn Sie die Einstellung „Von Bucket-Besitzer erzwungen“ zur Deaktivierung von ACLs für einen Serverzugriffsprotokollierungs-Ziel-Bucket (Ziel-Bucket) verwenden möchten, müssen Sie die Bucket-ACL-Berechtigungen für die S3-Protokollbereitstellungsgruppe zum Prinzipal des Protokollierungsservices (logging.s3.amazonaws.com
) in einer Bucket-Richtlinie migrieren. Weitere Informationen zu Berechtigungen für die Protokollzustellung finden Sie unter Berechtigungen für Protokollbereitstellung.
Diese Bucket-ACL gewährt WRITE
- und READ_ACP
-Zugriff auf die S3-Logbereitstellungsgruppe:
{ "Owner": { "DisplayName": "
DOC-EXAMPLE-ACCOUNT-OWNER
", "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID
" }, "Grants": [ { "Grantee": { "Type": "CanonicalUser", "DisplayName": "DOC-EXAMPLE-ACCOUNT-OWNER
", "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID
" }, "Permission": "FULL_CONTROL" }, { "Grantee": { "Type": "Group", "URI": "http://acs.amazonaws.com/groups/s3/LogDelivery" }, "Permission": "WRITE" }, { "Grantee": { "Type": "Group", "URI": "http://acs.amazonaws.com/groups/s3/LogDelivery" }, "Permission": "READ_ACP" } ] }
So migrieren Sie Bucket-ACL-Berechtigungen für die S3-Protokollbereitstellungsgruppe zum Protokollierungsdienstprinzipal in einer Bucket-Richtlinie
-
Fügen Sie Ihrem Ziel-Bucket die folgende Bucket-Richtlinie hinzu. wobei Sie die Beispielwerte ersetzen.
aws s3api put-bucket-policy --bucket
DOC-EXAMPLE-BUCKET
--policyfile://policy.json
policy.json: { { "Version": "2012-10-17", "Statement": [ { "Sid": "S3ServerAccessLogsPolicy", "Effect": "Allow", "Principal": { "Service": "logging.s3.amazonaws.com" }, "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET
/EXAMPLE-LOGGING-PREFIX
*", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:s3:::SOURCE-BUCKET-NAME
" }, "StringEquals": { "aws:SourceAccount": "SOURCE-AWS-ACCOUNT-ID
" } } } ] } -
Setzen Sie die ACL für Ihren Ziel-Bucket auf die Standard-ACL zurück.
aws s3api put-bucket-acl --bucket
DOC-EXAMPLE-BUCKET
--acl private -
Wenden Sie die Einstellung „Von Bucket-Besitzer erzwungen“ für den Objektbesitz auf Ihren Ziel-Bucket an.
Öffentlichen Lesezugriff auf die Objekte in einem Bucket gewähren
Wenn Ihre Objekt-ACLs öffentlichen Lesezugriff auf alle Objekte in Ihrem Bucket gewähren, können Sie diese ACL-Berechtigungen auf eine Bucket-Richtlinie migrieren.
Diese Objekt-ACL gewährt öffentlichen Lesezugriff auf ein Objekt in einem Bucket:
{ "Owner": { "DisplayName": "
DOC-EXAMPLE-ACCOUNT-OWNER
", "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID
" }, "Grants": [ { "Grantee": { "DisplayName": "DOC-EXAMPLE-ACCOUNT-OWNER
", "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID
", "Type": "CanonicalUser" }, "Permission": "FULL_CONTROL" }, { "Grantee": { "Type": "Group", "URI": "http://acs.amazonaws.com/groups/global/AllUsers" }, "Permission": "READ" } ] }
So migrieren Sie Berechtigungen für öffentliche Lese-ACL auf eine Bucket-Richtlinie
-
Um öffentlichen Lesezugriff auf alle Objekte in Ihrem Bucket zu gewähren, fügen Sie die folgende Bucket-Richtlinie hinzu und ersetzen Sie die Beispielwerte.
aws s3api put-bucket-policy --bucket
DOC-EXAMPLE-BUCKET
--policy file://policy.json
policy.json: { "Version": "2012-10-17", "Statement": [ { "Sid": "PublicReadGetObject", "Effect": "Allow", "Principal": "*", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET
/*" ] } ] }Um öffentlichen Zugriff auf ein bestimmtes Objekt in einer Bucket-Richtlinie zu gewähren, verwenden Sie das folgende Format für das
Resource
-Element."Resource": "arn:aws:s3:::
DOC-EXAMPLE-BUCKET
/OBJECT-KEY
"Um öffentlichen Zugriff auf alle Objekte mit einem bestimmten Präfix zu gewähren, verwenden Sie das folgende Format für das
Resource
-Element."Resource": "arn:aws:s3:::
DOC-EXAMPLE-BUCKET
/PREFIX/
*" -
Wenden Sie die Einstellung „Bucket-Eigentümer erzwungen“ für die Objekteigentümerschaft an.
Gewähren Sie Amazon ElastiCache for Redis Zugriff auf Ihren S3-Bucket
Sie können Ihr ElastiCache For Redis-Backup in einen S3-Bucket exportieren, sodass Sie von außen auf das Backup zugreifen können. ElastiCache Um Ihr Backup in einen S3-Bucket zu exportieren, müssen Sie ElastiCache Berechtigungen zum Kopieren eines Snapshots in den Bucket gewähren. Wenn Sie ElastiCache in einer Bucket-ACL Berechtigungen erteilt haben, müssen Sie diese Berechtigungen in eine Bucket-Richtlinie migrieren, bevor Sie die vom Bucket-Besitzer erzwungene Einstellung zur Deaktivierung von ACLs anwenden. Weitere Informationen finden Sie unter ElastiCache Zugriff auf Ihren Amazon S3 S3-Bucket gewähren im ElastiCache Amazon-Benutzerhandbuch.
Das folgende Beispiel zeigt die Bucket-ACL-Berechtigungen, denen Berechtigungen erteilt werden ElastiCache.
{ "Owner": { "DisplayName": "
DOC-EXAMPLE-ACCOUNT-OWNER
", "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID
" }, "Grants": [ { "Grantee": { "DisplayName": "DOC-EXAMPLE-ACCOUNT-OWNER
", "ID": "852b113e7a2f25102679df27bb0ae12b3f85be6BucketOwnerCanonicalUserID
", "Type": "CanonicalUser" }, "Permission": "FULL_CONTROL" }, { "Grantee": { "DisplayName": "aws-scs-s3-readonly", "ID": "540804c33a284a299d2547575ce1010f2312ef3da9b3a053c8bc45bf233e4353", "Type": "CanonicalUser" }, "Permission": "READ" }, { "Grantee": { "DisplayName": "aws-scs-s3-readonly", "ID": "540804c33a284a299d2547575ce1010f2312ef3da9b3a053c8bc45bf233e4353", "Type": "CanonicalUser" }, "Permission": "WRITE" }, { "Grantee": { "DisplayName": "aws-scs-s3-readonly", "ID": "540804c33a284a299d2547575ce1010f2312ef3da9b3a053c8bc45bf233e4353", "Type": "CanonicalUser" }, "Permission": "READ_ACP" } ] }
Um Bucket-ACL-Berechtigungen ElastiCache für Redis zu einer Bucket-Richtlinie zu migrieren
-
Fügen Sie Ihrem Bucket die folgende Bucket-Richtlinie hinzu und ersetzen Sie die Beispielwerte.
aws s3api put-bucket-policy --bucket
DOC-EXAMPLE-BUCKET
--policy file://policy.json
policy.json: "Id": "Policy15397346", "Statement": [ { "Sid": "Stmt15399483", "Effect": "Allow", "Principal": { "Service": "Region
.elasticache-snapshot.amazonaws.com" }, "Action": [ "s3:PutObject", "s3:GetObject", "s3:ListBucket", "s3:GetBucketAcl", "s3:ListMultipartUploadParts", "s3:ListBucketMultipartUploads" ], "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET
", "arn:aws:s3:::DOC-EXAMPLE-BUCKET
/*" ] } ] } -
Setzen Sie die ACL für Ihren Bucket auf die Standard-ACL zurück:
aws s3api put-bucket-acl --bucket
DOC-EXAMPLE-BUCKET
--acl private -
Wenden Sie die Einstellung „Bucket-Eigentümer erzwungen“ für die Objekteigentümerschaft an.