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.
Eine Bucket-Zugriffskontrollliste (ACL) in Amazon S3 ist ein Mechanismus, mit dem Sie detaillierte Berechtigungen für einzelne Objekte innerhalb eines S3-Buckets definieren und angeben können, welche AWS Konten oder Gruppen auf diese Objekte zugreifen und diese ändern können. Für die meisten modernen Anwendungsfälle in Amazon S3 ist die Verwendung von nicht mehr erforderlich ACLs. Wir empfehlen Ihnen, AWS Identity and Access Management (IAM) und Bucket-Richtlinien zur Verwaltung des Zugriffs zu verwenden und diese weiterhin zu ACLs deaktivieren, außer in ungewöhnlichen Fällen, in denen Sie den Zugriff für jedes Objekt einzeln kontrollieren müssen.
Wenn Sie die ACLs Option in Ihrem Bucket aktiviert haben, müssen Sie vor der Deaktivierung ACLs die folgenden Voraussetzungen erfüllen:
Themen
Überprüfen Sie den Bucket und das Objekt ACLs und migrieren Sie die ACL-Berechtigungen
Wenn Sie die Option deaktivieren ACLs, wirken sich die von Bucket und Objekt erteilten Berechtigungen nicht ACLs mehr auf den Zugriff aus. Überprüfen Sie vor der Deaktivierung ACLs Ihren Bucket und Ihr Objekt ACLs.
Für jeden Ihrer vorhandenen Buckets und Objekte ACLs gibt es ein Äquivalent in einer IAM-Richtlinie. Die folgenden Beispiele für Bucket-Richtlinien zeigen, wie READ
und wie die WRITE
Berechtigungen für Bucket und Objekt ACLs den IAM-Berechtigungen zugeordnet werden. Weitere Informationen dazu, wie jede ACL in IAM-Berechtigungen übersetzt wird, finden Sie unter Mapping der ACL-Berechtigungen und Zugriffsrichtlinienberechtigungen.
Bevor Sie deaktivieren ACLs:
Wenn Ihre Bucket-ACL Zugriff außerhalb Ihres AWS Kontos gewährt, müssen Sie zunächst Ihre Bucket-ACL-Berechtigungen auf Ihre Bucket-Richtlinie migrieren.
Als Nächstes setzen Sie Ihre Bucket-ACL auf die standardmäßige private ACL zurück.
Wir empfehlen Ihnen außerdem, Ihre ACL-Berechtigungen auf Objektebene zu überprüfen und sie in Ihre Bucket-Richtlinie zu migrieren.
Wenn Ihr Bucket anderen Benutzern außerhalb Ihres Kontos Lese- oder Schreibberechtigungen ACLs gewährt, müssen Sie diese Berechtigungen zunächst in Ihre Bucket-Richtlinie migrieren ACLs, bevor Sie sie deaktivieren können. Nachdem Sie diese Berechtigungen migriert haben, können Sie „Objekteigentum“ auf die erzwungene Einstellung „Bucket-Besitzer“ setzen. Wenn Sie Buckets ACLs , die Lese- oder Schreibzugriff außerhalb Ihres Kontos gewähren, nicht migrieren, schlägt Ihre Anfrage, die erzwungene Einstellung „Bucket-Besitzer“ anzuwenden, fehl und gibt den InvalidBucketAclWithObjectOwnershipFehlercode.
Wenn Ihre Bucket-ACL Zugriff außerhalb Ihrer gewährt AWS-Konto, müssen Sie vor der Deaktivierung ACLs Ihre Bucket-ACL-Berechtigungen auf Ihre Bucket-Richtlinie migrieren und Ihre Bucket-ACL auf die standardmäßige private ACL zurücksetzen. Wenn Sie die Migration und den Reset nicht durchführen, schlägt Ihre Anfrage ACLs fehl, die vom Bucket Owner erzwungene Deaktivierungseinstellung anzuwenden und gibt den InvalidBucketAclWithObjectOwnershipFehlercode. Wir empfehlen Ihnen auch, die ACL-Berechtigungen für das Objekt zu überprüfen und sie in Ihre Bucket-Richtlinie zu migrieren.
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 WRITE
Bucket READ
- und Objekt-ACL-Berechtigungen für Drittanbieter AWS-Konto auf eine Bucket-Richtlinie migrieren. READ_ACP
und WRITE_ACP
ACLs sind für Richtlinien weniger relevant, da sie ACL-bezogene Berechtigungen (s3:GetBucketAcl
, s3:GetObjectAcl
s3:PutBucketAcl
, unds3:PutObjectAcl
) gewähren.
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:::" } ] }
amzn-s3-demo-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:::/*" } ] }
amzn-s3-demo-bucket
Dieses Beispiel-Ressourcenelement gewährt Zugriff auf ein bestimmtes Objekt.
"Resource": "arn:aws:s3:::
/
amzn-s3-demo-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:::/*" } ] }
amzn-s3-demo-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 an AWS Management Console und öffnen Sie die Amazon S3 S3-Konsole 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 an AWS Management Console und öffnen Sie die Amazon S3 S3-Konsole 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 an AWS Management Console und öffnen Sie die Amazon S3 S3-Konsole 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 Beispielanwendungsfälle.
-
Wählen Sie Änderungen speichern.
-
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
-
Um die Bucket-ACL für Ihren Bucket zurückzugeben, verwenden Sie den get-bucket-acl
AWS CLI Befehl: aws s3api get-bucket-acl --bucket
amzn-s3-demo-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 Owner erforced“ anzuwenden und zu deaktivieren ACLs, müssen Sie diese Berechtigungen für das Drittanbieter-Konto auf eine 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" } ] }Ein anderes Beispiel finden Sie ACLs unterBeispielanwendungsfälle.
-
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
--policyamzn-s3-demo-bucket
file://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:::
", "arn:aws:s3:::amzn-s3-demo-bucket
/*" } ] }amzn-s3-demo-bucket
Weitere Beispiele für Bucket-Richtlinien finden Sie unter Beispiele für Bucket-Richtlinie und Beispielanwendungsfälle.
-
Um die ACL für ein bestimmtes Objekt zurückzugeben, verwenden Sie den get-object-acl
AWS CLI Befehl. aws s3api get-object-acl --bucket
amzn-s3-demo-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:::
amzn-s3-demo-bucket
/EXAMPLE-OBJECT-KEY
" -
Setzen Sie die ACL für Ihren Bucket auf die Standard-ACL zurück.
aws s3api put-bucket-acl --bucket
amzn-s3-demo-bucket
--acl private -
Wenden Sie die Einstellung „Bucket-Eigentümer erzwungen“ für die Objekteigentümerschaft an.
Identifizieren von Anforderungen, für die eine ACL zur Autorisierung erforderlich war
Um Amazon S3 S3-Anfragen zu identifizieren, die ACLs für eine Autorisierung erforderlich sind, können Sie den aclRequired
Wert in den Amazon S3 S3-Serverzugriffsprotokollen oder verwenden AWS CloudTrail. Wenn für die Anforderung eine ACL zur Autorisierung erforderlich war oder wenn Sie PUT
-Anfragen haben, die eine ACL angeben, lautet die Zeichenfolge Yes
. Wenn keine erforderlich ACLs waren oder wenn Sie eine bucket-owner-full-control
vordefinierte ACL einrichten oder wenn die Anfragen gemäß Ihrer Bucket-Richtlinie zulässig sind, lautet die aclRequired
Wertzeichenfolge in den Amazon S3 S3-Serverzugriffsprotokollen -
"" und fehlt in CloudTrail. Weitere Informationen zu den erwarteten Werten für aclRequired
finden Sie unter aclRequired-Werte für allgemeine Amazon-S3-Anfragen.
Wenn Sie PutObjectAcl
Anfragen mit Headern habenPutBucketAcl
, die ACL-basierte Berechtigungen gewähren, mit Ausnahme der bucket-owner-full-control
gespeicherten ACL, müssen Sie diese Header entfernen, bevor Sie sie deaktivieren können. ACLs Andernfalls schlagen Ihre Anfragen fehl.
Für alle anderen Anfragen, für die eine ACL zur Autorisierung erforderlich war, migrieren Sie diese ACL-Berechtigungen zu Bucket-Richtlinien. Entfernen Sie anschließend alle Buckets, ACLs bevor Sie die erzwungene Einstellung für den Bucket-Besitzer aktivieren.
Anmerkung
Objekt ACLs nicht entfernen. Andernfalls verlieren Anwendungen, die ACLs für Berechtigungen auf Objekte angewiesen sind, den Zugriff.
Wenn Sie feststellen, dass für keine Anfragen eine ACL für die Autorisierung erforderlich war, können Sie mit der Deaktivierung fortfahren ACLs. Weitere Informationen zur Identifizierung von Anfragen finden Sie unter Verwenden von Amazon-S3-Serverzugriffsprotokollen zur Identifizierung von Anforderungen und Identifizieren von Amazon S3 S3-Anfragen mit CloudTrail.
Überprüfen und aktualisieren Sie Bucket-Richtlinien, die ACL-bezogene Bedingungsschlüssel verwenden
Nachdem Sie die Deaktivierung mit der Einstellung Bucket Owner erforced aktiviert haben ACLs, können neue Objekte nur dann in Ihren Bucket hochgeladen werden, wenn für die Anfrage Vollzugriff auf den Bucket Owner verwendet wird ACLs oder wenn keine ACL angegeben ist. Überprüfen Sie vor der Deaktivierung ACLs Ihre Bucket-Richtlinie auf ACL-bezogene Bedingungsschlüssel.
Wenn Ihre Bucket-Richtlinie einen ACL-bezogenen Bedingungsschlüssel verwendet, um die bucket-owner-full-control
vordefinierte ACL (z. B. s3:x-amz-acl
) anzufordern, müssen Sie Ihre Bucket-Richtlinie nicht aktualisieren. Die folgende Bucket-Richtlinie verwendet das s3:x-amz-acl
, um die vordefinierte bucket-owner-full-control
-ACL für S3-PutObject
-Anforderungen anzufordern. Diese Richtlinie erfordert immer noch, dass der Objekt-Writer die vordefinierte bucket-owner-full-control
-ACL angibt. ACLs Deaktivierte Buckets akzeptieren diese ACL jedoch weiterhin, sodass Anfragen weiterhin erfolgreich sind, ohne dass clientseitige Änderungen erforderlich sind.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Only allow writes to my bucket with bucket owner full control",
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::111122223333
:user/ExampleUser
"
]
},
"Action": [
"s3:PutObject"
],
"Resource": "arn:aws:s3:::amzn-s3-demo-bucket
/*",
"Condition": {
"StringEquals": {
"s3:x-amz-acl": "bucket-owner-full-control"
}
}
}
]
}
Wenn Ihre Bucket-Richtlinie jedoch einen Zustandsschlüssel im Zusammenhang mit ACL verwendet, der eine andere Zugriffssteuerungsliste erfordert, müssen Sie diesen Bedingungsschlüssel entfernen. Diese Beispiel-Bucket-Richtlinie erfordert die public-read
ACL für PutObject
S3-Anfragen und muss daher vor der Deaktivierung aktualisiert werden. ACLs
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Only allow writes to my bucket with public read access",
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::111122223333
:user/ExampleUser
" ]
},
"Action": [
"s3:PutObject"
],
"Resource": "arn:aws:s3:::amzn-s3-demo-bucket
/*",
"Condition": {
"StringEquals": {
"s3:x-amz-acl": "public-read"
}
}
}
]
}
Beispielanwendungsfälle
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 Bucket Owner erforced auf Deaktivierung ACLs für einen Ziel-Bucket für die Serverzugriffsprotokollierung (auch Ziel-Bucket genannt) anwenden möchten, müssen Sie die Bucket-ACL-Berechtigungen für die S3-Protokollzustellungsgruppe in einer Bucket-Richtlinie auf den Logging-Serviceprinzipal (logging.s3.amazonaws.com
) 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
amzn-s3-demo-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:::
/amzn-s3-demo-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
amzn-s3-demo-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 Ihr Objekt öffentlichen Lesezugriff auf alle Objekte in Ihrem Bucket ACLs gewährt, können Sie diese ACL-Berechtigungen in 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
amzn-s3-demo-bucket
--policy file://policy.json
policy.json: { "Version": "2012-10-17", "Statement": [ { "Sid": "PublicReadGetObject", "Effect": "Allow", "Principal": "*", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-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:::
amzn-s3-demo-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:::
amzn-s3-demo-bucket
/PREFIX/
*" -
Wenden Sie die Einstellung „Bucket-Eigentümer erzwungen“ für die Objekteigentümerschaft an.
Gewähren Sie Amazon ElastiCache (Redis OSS) Zugriff auf Ihren S3-Bucket
Sie können Ihr ElastiCache (Redis OSS) -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 Einstellung Bucket owner erforced auf Deaktivierung 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 für ElastiCache (Redis OSS) 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
amzn-s3-demo-bucket
--policy file://policy.json
policy.json: { "Version": "2012-10-17", "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:::amzn-s3-demo-bucket
", "arn:aws:s3:::amzn-s3-demo-bucket
/*" ] } ] } -
Setzen Sie die ACL für Ihren Bucket auf die Standard-ACL zurück:
aws s3api put-bucket-acl --bucket
amzn-s3-demo-bucket
--acl private -
Wenden Sie die Einstellung „Bucket-Eigentümer erzwungen“ für die Objekteigentümerschaft an.