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.
Ändern des Replikat-Eigentümers
Bei der Replikation besitzt der Eigentümer des Quellobjekts standardmäßig auch das Replikat. Wenn die Quell- und Ziel-Buckets jedoch unterschiedlichen Besitzern gehören AWS-Konten, sollten Sie möglicherweise den Besitz des Replikats ändern. Möglicherweise möchten Sie die Eigentümerschaft ändern, um den Zugriff auf Objektreplikate einzuschränken. In Ihrer Replikationskonfiguration können Sie optionale Konfigurationseinstellungen hinzufügen, um den Besitz des Replikats auf das Replikat zu übertragen AWS-Konto , dem die Ziel-Buckets gehören.
Gehen Sie wie folgt vor, um den Besitzer des Replikats zu ändern:
-
Fügen Sie der Replikationskonfiguration die Option Owner Override hinzu, um Amazon S3 anzuweisen, den Besitz des Replikats zu ändern.
-
Erteilen Sie Amazon S3 die
s3:ObjectOwnerOverrideToBucketOwner
Erlaubnis, den Besitz des Replikats zu ändern. -
Fügen Sie die
s3:ObjectOwnerOverrideToBucketOwner
Berechtigung zur Ziel-Bucket-Richtlinie hinzu, um die Änderung des Replikatbesitzes zu ermöglichen. Dies3:ObjectOwnerOverrideToBucketOwner
Berechtigung ermöglicht es dem Besitzer der Ziel-Buckets, die Inhaberschaft von Objektreplikaten zu akzeptieren.
Weitere Informationen erhalten Sie unter Überlegungen zur Option zum Außerkraftsetzen von Besitzrechten und Hinzufügen der Eigentümer-Überschreibungs-Option zur Replikations-Konfiguration. Ein funktionierendes Beispiel mit step-by-step Anweisungen finden Sie unter. Wie ändere ich den Besitzer des Replikats
Wichtig
Anstatt die Option zum Überschreiben des Besitzers zu verwenden, können Sie die erzwungene Einstellung des Bucket-Besitzers für Objekteigentum verwenden. Wenn Sie die Replikation verwenden und Quell- und Ziel-Bucket unterschiedlichen Besitzern gehören AWS-Konten, kann der Bucket-Besitzer des Ziel-Buckets die erzwungene Einstellung des Bucket-Besitzers für Objekteigentümer verwenden, um den Besitz des Replikats auf den AWS-Konto Besitzer des Ziel-Buckets zu ändern. Diese Einstellung deaktiviert Objektzugriffskontrolllisten (). ACLs
Die Einstellung „Bucket Owner erforced“ ahmt das bestehende Verhalten beim Überschreiben des Besitzers nach, ohne dass eine entsprechende Genehmigung erforderlich ist. s3:ObjectOwnerOverrideToBucketOwner
Alle Objekte, die mit der erzwungenen Einstellung des Bucket-Eigentümers in den Ziel-Bucket repliziert werden, gehören dem Eigentümer des Ziel-Buckets. Informationen zu Object Ownership finden Sie unter Kontrolle des Besitzes von Objekten und Deaktivierung ACLs für Ihren Bucket.
Überlegungen zur Option zum Außerkraftsetzen von Besitzrechten
Wenn Sie die Eigentümer-Überschreibungs-Option konfigurieren, berücksichtigen Sie die folgenden Überlegungen:
-
Standardmäßig besitzt der Eigentümer des Quellobjekts auch das Replikat. Amazon S3 repliziert die Objektversion und die ACL damit verbundene Version.
Wenn Sie Ihrer Replikationskonfiguration die Option Owner Override hinzufügen, repliziert Amazon S3 nur die Objektversion, nicht dieACL. Darüber hinaus repliziert Amazon S3 keine nachfolgenden Änderungen am QuellobjektACL. Amazon S3 legt das ACL auf dem Replikat fest, das dem Besitzer des Ziel-Buckets die volle Kontrolle gewährt.
-
Wenn Sie eine Replikationskonfiguration aktualisieren, um die Eigentümerüberschreibung zu aktivieren oder zu deaktivieren, tritt das folgende Verhalten auf:
-
Wenn Sie die Eigentümerüberschreibungs-Option zur Replikations-Konfiguration hinzufügen
Wenn Amazon S3 eine Objektversion repliziert, verwirft es die Version, ACL die dem Quellobjekt zugeordnet ist. Stattdessen legt Amazon S3 das ACL auf dem Replikat fest und gibt dem Besitzer des Ziel-Buckets die volle Kontrolle. Amazon S3 repliziert keine nachfolgenden Änderungen am QuellobjektACL. Diese ACL Änderung gilt jedoch nicht für Objektversionen, die repliziert wurden, bevor Sie die Option zum Überschreiben des Besitzers festgelegt haben. ACLAktualisierungen von Quellobjekten, die repliziert wurden, bevor die Besitzerüberschreibung festgelegt wurde, werden weiterhin repliziert (weil das Objekt und seine Replikate weiterhin denselben Besitzer haben).
-
Wenn Sie die Eigentümer-Überschreibungs-Option aus der Replikations-Konfiguration entfernen
Amazon S3 repliziert neue Objekte, die im Quell-Bucket und den mit den Ziel-Buckets verknüpften ACLs Buckets erscheinen. Für Objekte, die repliziert wurden, bevor Sie die Eigentümerüberschreibung entfernt haben, repliziert Amazon S3 das nicht, ACLs da die von Amazon S3 vorgenommene Änderung des Objekteigentums weiterhin in Kraft ist. Das heißt, ACLs die Objektversion, die repliziert wurde, als die Eigentümerüberschreibung festgelegt wurde, wird weiterhin nicht repliziert.
-
Hinzufügen der Eigentümer-Überschreibungs-Option zur Replikations-Konfiguration
Warnung
Fügen Sie die Option zum Überschreiben des Besitzers nur hinzu, wenn die Quell- und Ziel-Buckets unterschiedlichen Besitzern gehören. AWS-Konten Amazon S3 überprüft nicht, ob die Buckets denselben oder unterschiedlichen Konten gehören. Wenn Sie die Besitzer-Override hinzufügen, obwohl beide Buckets demselben gehören AWS-Konto, wendet Amazon S3 die Besitzer-Override an. Diese Option gewährt dem Besitzer des Ziel-Buckets volle Rechte und repliziert keine nachfolgenden Aktualisierungen der Zugriffskontrolllisten der Quellobjekte (). ACLs Der Replikatbesitzer kann die mit einem Replikat ACL verknüpften Daten mit einer PutObjectAcl
Anfrage direkt ändern, jedoch nicht durch Replikation.
Um die Option zur Eigentümer-Überschreibung festzulegen, fügen Sie Folgendes zu jedem Destination
-Element hinzu:
-
Das Element
AccessControlTranslation
, das Amazon S3 anweist, die Replikateigentümerschaft zu ändern -
Das
Account
Element, das den Besitzer AWS-Konto des Ziel-Buckets angibt
<ReplicationConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> ... <Destination> ... <AccessControlTranslation> <Owner>Destination</Owner> </AccessControlTranslation> <Account>
destination-bucket-owner-account-id
</Account> </Destination> </Rule> </ReplicationConfiguration>
Die folgende Beispiel-Replikationskonfiguration weist Amazon S3 an, Objekte zu replizieren, die
Geben Sie dem Steuer
Ziel-Bucket ein Präfix ein und ändern Sie den Besitz der Replikate. Wenn Sie dieses Beispiel verwenden möchten, ersetzen Sie amzn-s3-demo-destination-bucket
durch Ihre Informationen.user input
placeholders
<?xml version="1.0" encoding="UTF-8"?> <ReplicationConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Role>arn:aws:iam::
account-id
:role/role-name
</Role> <Rule> <ID>Rule-1
</ID> <Priority>1
</Priority> <Status>Enabled</Status> <DeleteMarkerReplication> <Status>Disabled
</Status> </DeleteMarkerReplication> <Filter> <Prefix>Tax
</Prefix> </Filter> <Destination> <Bucket>arn:aws:s3:::amzn-s3-demo-destination-bucket
</Bucket> <Account>destination-bucket-owner-account-id
</Account> <AccessControlTranslation> <Owner>Destination</Owner> </AccessControlTranslation> </Destination> </Rule> </ReplicationConfiguration>
Erteilen der Berechtigung zur Änderung der Replikat-Eigentümerschaft an Amazon S3
Gewähren Sie Amazon S3 S3-Berechtigungen zum Ändern des Replikatbesitzes, indem Sie in der Berechtigungsrichtlinie, die der Rolle AWS Identity and Access Management (IAM) zugeordnet ist, die Berechtigung für die s3:ObjectOwnerOverrideToBucketOwner
Aktion hinzufügen. Diese Rolle haben Sie in der IAM Replikationskonfiguration angegeben, sodass Amazon S3 Objekte in Ihrem Namen übernehmen und replizieren kann. Um das folgende Beispiel zu verwenden,
ersetzen Sie es durch den Namen des Ziel-Buckets.amzn-s3-demo-destination-bucket
... { "Effect":"Allow", "Action":[ "s3:ObjectOwnerOverrideToBucketOwner" ], "Resource":"arn:aws:s3:::
amzn-s3-demo-destination-bucket
/*" } ...
Hinzufügen der Berechtigung zur Ziel-Bucket-Richtlinie, um das Ändern der Replikat-Eigentümerschaft zuzulassen
Der Eigentümer des Ziel-Buckets muss dem Eigentümer des Quell-Buckets die Berechtigung zum Ändern der Replikat-Eigentümerschaft erteilen. Der Eigentümer des Ziel-Buckets erteilt dem Eigentümer des Quell-Buckets die Berechtigung für die Aktion s3:ObjectOwnerOverrideToBucketOwner
. Diese Berechtigung ermöglicht es dem Besitzer des Ziel-Buckets, das Eigentum an den Objektreplikaten zu akzeptieren. Die folgende Beispielanweisung einer Bucket-Richtlinie zeigt, wie dies funktioniert: Wenn Sie dieses Beispiel verwenden möchten, ersetzen Sie
durch Ihre Informationen.user input placeholders
... { "Sid":"1", "Effect":"Allow", "Principal":{"AWS":"
source-bucket-account-id
"}, "Action":["s3:ObjectOwnerOverrideToBucketOwner"], "Resource":"arn:aws:s3:::amzn-s3-demo-destination-bucket
/*" } ...
Wie ändere ich den Besitzer des Replikats
Wenn die Quell- und Ziel-Buckets in einer Replikationskonfiguration unterschiedlichen Besitzern gehören AWS-Konten, können Sie Amazon S3 anweisen, den Besitz des Replikats in den Besitz des AWS-Konto Ziel-Buckets zu ändern. Die folgenden Beispiele zeigen, wie Sie die Amazon S3 S3-Konsole, die AWS Command Line Interface (AWS CLI) und die verwenden, AWS SDKs um den Besitz eines Replikats zu ändern.
step-by-stepEine Anleitung finden Sie unterKonfiguration der Replikation für Buckets im selben Konto. Dieses Thema enthält Anweisungen zum Einrichten einer Replikationskonfiguration, wenn Quell- und Ziel-Buckets denselben und unterschiedlichen AWS-Konten Besitzern gehören.
Das folgende Verfahren zeigt, wie Sie den Besitz eines Replikats mithilfe von ändern können. AWS CLI In diesem Verfahren gehen Sie wie folgt vor:
-
Erstellen Sie die Quell- und Ziel-Buckets.
-
Aktivieren Sie die Versionierung für die Buckets.
-
Erstellen Sie eine AWS Identity and Access Management (IAM) -Rolle, die Amazon S3 die Berechtigung erteilt, Objekte zu replizieren.
-
Fügen Sie die Replikationskonfiguration zum Quell-Bucket hinzu.
-
In der Replikationskonfiguration weisen Sie Amazon S3 an, den Besitz des Replikats zu ändern.
-
Sie testen Ihre Replikationskonfiguration.
Um den Besitz des Replikats zu ändern, wenn der Quell- und der Ziel-Bucket different AWS-Konten () gehören AWS CLI
Um die AWS CLI Beispielbefehle in diesem Verfahren zu verwenden, ersetzen Sie die
durch Ihre eigenen Informationen. user input placeholders
-
In diesem Beispiel erstellen Sie die Quell- und Ziel-Buckets in zwei verschiedenen AWS-Konten Buckets. Um mit diesen beiden Konten zu arbeiten, konfigurieren Sie sie AWS CLI mit zwei benannten Profilen. In diesem Beispiel werden Profile mit dem Namen verwendet
andACCTA
, jeweils. Informationen zum Einrichten von Anmeldeinformationsprofilen und zur Verwendung benannter Profile finden Sie unter Konfiguration und Einstellungen für Anmeldeinformationsdateien im AWS Command Line Interface Benutzerhandbuch.ACCTB
Wichtig
Die Profile, die Sie für dieses Verfahren verwenden, müssen über die erforderlichen Berechtigungen verfügen. In der Replikationskonfiguration geben Sie beispielsweise die IAM Rolle an, die Amazon S3 übernehmen kann. Sie können dies nur tun, wenn das von Ihnen verwendete Profil über die
iam:PassRole
entsprechende Berechtigung verfügt. Wenn Sie Administratoranmeldedaten verwenden, um ein benanntes Profil zu erstellen, können Sie alle Aufgaben in diesem Verfahren ausführen. Weitere Informationen finden Sie im Benutzerhandbuch unter Erteilen von Benutzerberechtigungen zur Übergabe einer Rolle AWS-Service an einen. IAM -
Erstellen Sie den
Quell
-Bucket und aktivieren Sie das Versioning für ihn. In diesem Beispiel wird ein Quell-Bucket mit dem Namen
der Region USA Ost (Nord-Virginia) (amzn-s3-demo-source-bucket
us-east-1
) erstellt.aws s3api create-bucket \ --bucket
amzn-s3-demo-source-bucket
\ --regionus-east-1
\ --profileacctA
aws s3api put-bucket-versioning \ --bucket
amzn-s3-demo-source-bucket
\ --versioning-configuration Status=Enabled \ --profileacctA
-
Erstellen Sie einen
Ziel
-Bucket und aktivieren Sie das Versioning für ihn. In diesem Beispiel wird ein Ziel-Bucket mit dem Namen
der Region USA West (Oregon) (amzn-s3-demo-destination-bucket
us-west-2
) erstellt. Verwenden Sie ein AWS-Konto Profil, das sich von dem unterscheidet, das Sie für den Quell-Bucket verwendet haben.aws s3api create-bucket \ --bucket
amzn-s3-demo-destination-bucket
\ --regionus-west-2
\ --create-bucket-configuration LocationConstraint=us-west-2
\ --profileacctB
aws s3api put-bucket-versioning \ --bucket
amzn-s3-demo-destination-bucket
\ --versioning-configuration Status=Enabled \ --profileacctB
-
Sie müssen Ihrer
Ziel
-Bucket-Richtlinie Berechtigungen hinzufügen, um eine Änderung der Replikat-Eigentümerschaft zuzulassen.-
Speichern Sie die folgende Richtlinie in einer Datei mit dem Namen
. Stellen Sie sicher, dass Sie das ersetzendestination-bucket-policy
.json
mit Ihren eigenen Informationen.Platzhalter für Benutzereingaben
{ "Version": "2012-10-17", "Statement": [ { "Sid":
"destination_bucket_policy_sid"
, "Principal": { "AWS":"source-bucket-owner-account-id"
}, "Action": [ "s3:ReplicateObject", "s3:ReplicateDelete", "s3:ObjectOwnerOverrideToBucketOwner", "s3:ReplicateTags", "s3:GetObjectVersionTagging" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::amzn-s3-demo-destination-bucket
/*" ] } ] } -
Fügen Sie die vorherige Richtlinie mithilfe des folgenden
put-bucket-policy
Befehls zum Ziel-Bucket hinzu:aws s3api put-bucket-policy --region
$
{destination-region
} --bucket$
{amzn-s3-demo-destination-bucket
} --policy file://destination_bucket_policy
.json
-
-
Erstellen Sie eine IAM Rolle. Sie geben diese Rolle in der Replizierungskonfiguration an, die Sie später zum
Quell-Bucket
hinzufügen. Amazon S3 übernimmt diese Rolle, um Objekte in Ihrem Namen zu replizieren. Sie erstellen eine IAM Rolle in zwei Schritten:-
Erstellen Sie die -Rolle.
-
Fügen Sie eine Berechtigungsrichtlinie zur Rolle hinzu.
-
Erstellen Sie die IAM Rolle.
-
Kopieren Sie die folgende Vertrauensrichtlinie und speichern Sie sie in einer Datei mit dem Namen
im aktuellen Verzeichnis auf Ihrem lokalen Computer. Diese Richtlinie erteilt Amazon S3 Berechtigungen für die Übernahme der Rolle.s3-role-trust-policy
.json{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"s3.amazonaws.com" }, "Action":"sts:AssumeRole" } ] }
-
Führen Sie den folgenden AWS CLI
create-role
Befehl aus, um die IAM Rolle zu erstellen:$
aws iam create-role \ --role-namereplicationRole
\ --assume-role-policy-document file://s3-role-trust-policy
.json \ --profileacctA
Notieren Sie sich den Amazon-Ressourcennamen (ARN) der IAM Rolle, die Sie erstellt haben. Sie werden ihn ARN in einem späteren Schritt benötigen.
-
-
Fügen Sie eine Berechtigungsrichtlinie zur Rolle hinzu.
-
Kopieren Sie die folgende Berechtigungsrichtlinie und speichern Sie sie in einer Datei mit dem Namen
im aktuellen Verzeichnis auf Ihrem lokalen Computer. Diese Zugriffsrichtlinie erteilt Berechtigungen für verschiedene Amazon-S3-Bucket- und -Objektaktionen. In den folgenden Schritten fügen Sie diese Richtlinie der IAM Rolle hinzu, die Sie zuvor erstellt haben.s3-role-perm-pol-changeowner
.json{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:GetObjectVersionForReplication", "s3:GetObjectVersionAcl" ], "Resource":[ "arn:aws:s3:::
amzn-s3-demo-source-bucket
/*" ] }, { "Effect":"Allow", "Action":[ "s3:ListBucket", "s3:GetReplicationConfiguration" ], "Resource":[ "arn:aws:s3:::amzn-s3-demo-source-bucket
" ] }, { "Effect":"Allow", "Action":[ "s3:ReplicateObject", "s3:ReplicateDelete", "s3:ObjectOwnerOverrideToBucketOwner", "s3:ReplicateTags", "s3:GetObjectVersionTagging" ], "Resource":"arn:aws:s3:::amzn-s3-demo-destination-bucket
/*" } ] } -
Führen Sie den folgenden
put-role-policy
Befehl aus, um die vorherige Berechtigungsrichtlinie an die Rolle anzuhängen:$
aws iam put-role-policy \ --role-namereplicationRole
\ --policy-document file://s3-role-perm-pol-changeowner
.json \ --policy-namereplicationRolechangeownerPolicy
\ --profileacctA
-
-
-
Fügen Sie Ihrem Quell-Bucket eine Replikations-Konfiguration hinzu.
-
Das AWS CLI erfordert die Angabe der Replikationskonfiguration alsJSON. Speichern Sie Folgendes JSON in einer Datei mit dem Namen
im aktuellen Verzeichnis auf Ihrem lokalen Computer. In der Konfigurationreplication
.jsonAccessControlTranslation
gibt der die Änderung des Besitzers des Replikats vom Besitzer des Quell-Buckets zum Besitzer des Ziel-Buckets an.{ "Role":"
IAM-role-ARN
", "Rules":[ { "Status":"Enabled", "Priority":1, "DeleteMarkerReplication":{ "Status":"Disabled" }, "Filter":{ }, "Status":"Enabled", "Destination":{ "Bucket":"arn:aws:s3:::amzn-s3-demo-destination-bucket
", "Account":"destination-bucket-owner-account-id
", "AccessControlTranslation":{ "Owner":"Destination" } } } ] } -
Bearbeiten Sie das, JSON indem Sie Werte für den Namen des Ziel-Buckets, die Konto-ID des Besitzers des Ziel-Buckets und den
angeben. ErsetzenIAM-role-ARN
mit ARN der IAM Rolle, die Sie zuvor erstellt haben. Speichern Sie die Änderungen.IAM-Rolle- ARN
-
Führen Sie den folgenden Befehl aus, um die Replikationskonfiguration zum Quell-Bucket hinzuzufügen:
$
aws s3api put-bucket-replication \ --replication-configuration file://replication
.json \ --bucketamzn-s3-demo-source-bucket
\ --profileacctA
-
-
Testen Sie Ihre Replikationskonfiguration, indem Sie in der Amazon S3 S3-Konsole den Besitz des Replikats überprüfen.
Melden Sie sich bei der an AWS Management Console und öffnen Sie die Amazon S3 S3-Konsole unter https://console.aws.amazon.com/s3/
. -
Fügen Sie Objekte zum
Quell
-Bucket hinzu. Stellen Sie sicher, dass der Ziel-Bucket die Objektreplikate enthält und dass der Eigentümer der Replikate auf den Eigentümer des Ziel-Buckets übergegangen ist. AWS-Konto
Ein Codebeispiel zum Hinzufügen einer Replikationskonfiguration finden Sie unterMit dem AWS SDKs. Sie müssen die Replikationskonfiguration entsprechend ändern. Weitere konzeptuelle Informationen finden Sie unter Ändern des Replikat-Eigentümers.