

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.

# Kopieren Sie Daten von einem Amazon S3 S3-Bucket in ein anderes Konto und eine andere Region mithilfe der AWS CLI
<a name="copy-data-from-an-s3-bucket-to-another-account-and-region-by-using-the-aws-cli"></a>

*Appasaheb Bagali und Purushotham GK, Amazon Web Services*

## Zusammenfassung
<a name="copy-data-from-an-s3-bucket-to-another-account-and-region-by-using-the-aws-cli-summary"></a>

Dieses Muster beschreibt, wie Daten von einem Amazon Simple Storage Service (Amazon S3) -Quell-Bucket in einem AWS Konto zu einem Amazon S3-Ziel-Bucket in einem anderen AWS Konto migriert werden, entweder in derselben AWS-Region oder in einer anderen Region.

Der Amazon S3 S3-Quell-Bucket ermöglicht den AWS Identity and Access Management (IAM-) Zugriff mithilfe einer angehängten Ressourcenrichtlinie. Ein Benutzer im Zielkonto muss eine Rolle übernehmen, die über `GetObject` Berechtigungen für den `PutObject` Quell-Bucket verfügt. Schließlich führen `copy` Sie `sync` Befehle aus, um Daten vom Amazon S3-Quell-Bucket zum Amazon S3-Ziel-Bucket zu übertragen.

Konten sind Eigentümer der Objekte, die sie in Amazon S3 S3-Buckets hochladen. Wenn Sie Objekte zwischen Konten und Regionen kopieren, gewähren Sie dem Zielkonto das Eigentum an den kopierten Objekten. Sie können die Eigentümerschaft eines Objekts ändern, indem Sie dessen [Zugriffskontrollliste (ACL)](https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html) auf ändern`bucket-owner-full-control`. Es wird jedoch empfohlen, dem Zielkonto programmgesteuerte kontoübergreifende Berechtigungen zu gewähren, da es schwierig sein ACLs kann, mehrere Objekte zu verwalten.

**Warnung**  
Für dieses Szenario sind IAM-Benutzer mit programmatischem Zugriff und langfristigen Anmeldeinformationen erforderlich, was ein Sicherheitsrisiko darstellt. Um dieses Risiko zu minimieren, empfehlen wir, diesen Benutzern nur die Berechtigungen zu gewähren, die sie für die Ausführung der Aufgabe benötigen, und diese Benutzer zu entfernen, wenn sie nicht mehr benötigt werden. Die Zugriffsschlüssel können bei Bedarf aktualisiert werden. Weitere Informationen finden Sie in der IAM-Dokumentation unter [Aktualisieren von Zugriffsschlüsseln](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html#Using_RotateAccessKey).

## Voraussetzungen und Einschränkungen
<a name="copy-data-from-an-s3-bucket-to-another-account-and-region-by-using-the-aws-cli-prereqs"></a>

*Voraussetzungen*
+ Zwei sind AWS-Konten im selben oder unterschiedlichen AWS-Regionen Modus aktiv.
+ Ein vorhandener Amazon S3 S3-Bucket im Quellkonto. 
+ Wenn in Ihrem Amazon S3 S3-Quell- oder Ziel-Bucket die [Standardverschlüsselung](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) aktiviert ist, müssen Sie die Schlüsselberechtigungen AWS Key Management Service (AWS KMS) ändern. Weitere Informationen finden Sie im [AWS re:POST-Artikel](https://repost.aws/knowledge-center/s3-bucket-access-default-encryption) zu diesem Thema. 
+ Vertrautheit mit kontoübergreifenden Berechtigungen.

*Einschränkungen*
+ Dieses Muster deckt eine einmalige Migration ab. Für Szenarien, die eine kontinuierliche und automatische Migration neuer Objekte von einem Quell-Bucket zu einem Ziel-Bucket erfordern, können Sie [Amazon S3 Batch Replication](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-batch-replication-batch.html) verwenden.
+ Dieses Muster verwendet temporäre und nicht persistente Sitzungsanmeldedaten (`AccessKeyId`, und`SessionToken`). `SecretAccessKey` Der Ablaufzeitstempel in der Ausgabe gibt an, wann diese Anmeldeinformationen ablaufen. Die Rolle ist mit der maximalen Sitzungsdauer konfiguriert. Der Kopierauftrag wird abgebrochen, wenn die Sitzung abläuft.

## Architektur
<a name="copy-data-from-an-s3-bucket-to-another-account-and-region-by-using-the-aws-cli-architecture"></a>

 

![Amazon S3 S3-Daten in ein anderes Konto oder eine andere Region kopieren](http://docs.aws.amazon.com/de_de/prescriptive-guidance/latest/patterns/images/pattern-img/a574c26b-fdd9-4472-842b-b34c3eb2bfe9/images/5e4dec53-dfc8-478b-a7c4-503d63c8ac4e.png)


## Tools
<a name="copy-data-from-an-s3-bucket-to-another-account-and-region-by-using-the-aws-cli-tools"></a>
+ [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) ist ein Open-Source-Tool, mit dem Sie AWS-Services über Befehle in Ihrer Befehlszeilen-Shell interagieren können.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) hilft Ihnen dabei, den Zugriff auf Ihre AWS Ressourcen sicher zu verwalten, indem es kontrolliert, wer authentifiziert und autorisiert ist, diese zu verwenden.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) ist ein cloudbasierter Objektspeicherservice, der Sie beim Speichern, Schützen und Abrufen beliebiger Datenmengen unterstützt.

## Best Practices
<a name="copy-data-from-an-s3-bucket-to-another-account-and-region-by-using-the-aws-cli-best-practices"></a>
+ [Bewährte Sicherheitsmethoden in IAM (IAM-Dokumentation](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html))
+ [Anwenden von Berechtigungen mit den geringsten Rechten (IAM-Dokumentation](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege))

## Epen
<a name="copy-data-from-an-s3-bucket-to-another-account-and-region-by-using-the-aws-cli-epics"></a>

### Erstellen Sie einen IAM-Benutzer und eine IAM-Rolle im Ziel AWS-Konto
<a name="create-an-iam-user-and-role-in-the-destination-aws-account"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie einen IAM-Benutzer und rufen Sie den Zugriffsschlüssel ab. | 1. Melden Sie sich bei dem an AWS-Managementkonsole und erstellen Sie einen IAM-Benutzer mit programmatischem Zugriff. Eine ausführliche Anleitung finden Sie in der IAM-Dokumentation unter [IAM-Benutzer erstellen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html#id_users_create_console). Es ist nicht erforderlich, Richtlinien für diesen Benutzer anzuhängen. <br />2. Generieren Sie einen Zugriffsschlüssel und einen geheimen Schlüssel für diesen Benutzer. Anweisungen dazu finden Sie in der AWS Dokumentation unter [AWS-Konto und unter Zugriffstasten](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-appendix-sign-up.html). | AWS DevOps | 
| Erstellen Sie eine identitätsbasierte IAM-Richtlinie. | Erstellen Sie eine identitätsbasierte IAM-Richtlinie, die mit den folgenden Berechtigungen benannt `S3MigrationPolicy` ist. Ändern Sie die Quell- und Ziel-Bucket-Namen entsprechend Ihrem Anwendungsfall. Diese identitätsbasierte Richtlinie ermöglicht es dem Benutzer, der diese Rolle übernimmt, auf den Quell-Bucket und den Ziel-Bucket zuzugreifen. Ausführliche Anweisungen finden Sie in der [IAM-Dokumentation unter Erstellen von IAM-Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html). <pre>{<br />    "Version": "2012-10-17",		 	 	 <br />    "Statement": [<br />        {<br />            "Effect": "Allow",<br />            "Action": [<br />                "s3:ListBucket",<br />                "s3:ListObjectsV2",<br />                "s3:GetObject",<br />                "s3:GetObjectTagging",<br />                "s3:GetObjectVersion",<br />                "s3:GetObjectVersionTagging"<br />            ],<br />            "Resource": [<br />                "arn:aws:s3:::amazon-s3-demo-source-bucket",<br />                "arn:aws:s3:::amazon-s3-demo-source-bucket/*"<br />            ]<br />        },<br />        {<br />            "Effect": "Allow",<br />            "Action": [<br />                "s3:ListBucket",<br />                "s3:PutObject",<br />                "s3:PutObjectAcl",<br />                "s3:PutObjectTagging",<br />                "s3:GetObjectTagging",<br />                "s3:ListObjectsV2",<br />                "s3:GetObjectVersion",<br />                "s3:GetObjectVersionTagging"<br />            ],<br />            "Resource": [<br />                "arn:aws:s3:::amazon-s3-demo-destination-bucket",<br />                "arn:aws:s3:::amazon-s3-demo-destination-bucket/*"<br />            ]<br />        }<br />    ]<br />}</pre> | AWS DevOps | 
| Erstellen Sie eine IAM-Rolle. | Erstellen Sie eine IAM-Rolle, die `S3MigrationRole` mithilfe der folgenden Vertrauensrichtlinie benannt ist. Ändern Sie den Amazon-Ressourcennamen (ARN) der Ziel-IAM-Rolle oder den Benutzernamen in der Vertrauensrichtlinie entsprechend Ihrem Anwendungsfall. Diese Vertrauensrichtlinie ermöglicht es dem neu erstellten IAM-Benutzer, zu übernehmen. `S3MigrationRole` Hängen Sie das zuvor erstellte `S3MigrationPolicy` an. Ausführliche Schritte finden Sie in der IAM-Dokumentation unter [Eine Rolle erstellen, um Berechtigungen an einen IAM-Benutzer zu delegieren](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html).<pre>{<br />    "Version": "2012-10-17",		 	 	 <br />    "Statement": [<br />        {<br />            "Effect": "Allow",<br />            "Principal": {<br />                "AWS": "arn:aws:iam::<destination_account>:user/<user_name>"<br />            },<br />            "Action": "sts:AssumeRole",<br />            "Condition": {}<br />        }<br />    ]<br />}</pre> | AWS DevOps | 

### Erstellen Sie die Amazon S3 S3-Bucket-Richtlinie und fügen Sie sie dem Quellkonto hinzu
<a name="create-and-attach-the-s3-bucket-policy-in-the-source-account"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie eine Amazon S3 S3-Bucket-Richtlinie und fügen Sie sie an. | 1. Melden Sie sich AWS-Managementkonsole bei Ihrem Quellkonto an und öffnen Sie die Amazon S3 S3-Konsole. <br />2. Wählen Sie Ihren Amazon S3 S3-Quell-Bucket und dann **Permissions** aus. <br />3. Wählen Sie unter **Bucket-Richtlinie** **Bearbeiten** aus. <br />4. Fügen Sie die folgende Bucket-Richtlinie ein. Stellen Sie sicher, dass Sie die AWS-Konto ID für das Zielkonto angeben und konfigurieren Sie die Bucket-Richtlinienvorlage gemäß Ihren Anforderungen. Diese ressourcenbasierte Richtlinie ermöglicht der Zielrolle den `S3MigrationRole` Zugriff auf Amazon S3 S3-Objekte im Quellkonto.<pre>{<br />    "Version": "2012-10-17",		 	 	 <br />    "Statement": [<br />        {<br />            "Sid": "DelegateS3Access",<br />            "Effect": "Allow",<br />            "Principal": {"AWS": "arn:aws:iam::<destination_account>:role/<RoleName>"},<br />            "Action": ["s3:ListBucket",<br />                       "s3:GetObject",<br />                       "s3:ListObjectsV2",<br />                       "s3:GetObjectTagging",<br />                       "s3:GetObjectVersion",<br />                       "s3:GetObjectVersionTagging"<br />                       ],<br />            "Resource": [<br />                "arn:aws:s3:::amazon-s3-demo-source-bucket/*",<br />                "arn:aws:s3:::amazon-s3-demo-source-bucket"<br />            ]<br />        }<br />    ]<br />}</pre><br />5. Wählen Sie **Speichern**. | Cloud-Administrator | 

### Den Amazon S3-Ziel-Bucket konfigurieren
<a name="configure-the-destination-s3-bucket"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Erstellen Sie einen Amazon S3-Ziel-Bucket. | 1. Melden Sie sich AWS-Managementkonsole bei Ihrem Zielkonto an und öffnen Sie die Amazon S3 S3-Konsole.<br />2. Wählen Sie **Create Bucket** (Bucket erstellen) aus. <br />3. Erstellen Sie einen Amazon S3 S3-Bucket gemäß Ihren Anforderungen. Weitere Informationen finden Sie unter [Bucket erstellen](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) in der Amazon S3 S3-Dokumentation.  | Cloud-Administrator | 

### Daten in den Amazon S3-Ziel-Bucket kopieren
<a name="copy-data-to-the-destination-s3-bucket"></a>


| Aufgabe | Description | Erforderliche Fähigkeiten | 
| --- | --- | --- | 
| Konfigurieren Sie das AWS CLI mit den neu erstellten Benutzeranmeldeinformationen. | 1. Installieren Sie die neueste Version von AWS CLI. Anweisungen finden Sie in [der AWS CLI Dokumentation unter Installation oder Aktualisierung AWS CLI der neuesten Version von](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).<br />2. Führen Sie den Vorgang aus `$ aws configure` und aktualisieren Sie ihn AWS CLI mit dem AWS Zugriffsschlüssel des IAM-Benutzers, den Sie erstellt haben. Weitere Informationen finden Sie in der Dokumentation unter [Einstellungen für Konfiguration und Anmeldeinformationsdatei](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html). AWS CLI  | AWS DevOps | 
| Nehmen Sie die Amazon S3 S3-Migrationsrolle an. | 1. Verwenden Sie die AWS CLI , um Folgendes anzunehmen`S3MigrationRole`:<pre> aws sts assume-role \<br />    --role-arn "arn:aws:iam::<destination_account>:role/S3MigrationRole" \<br />    --role-session-name AWSCLI-Session</pre>Dieser Befehl gibt mehrere Informationen aus. Innerhalb des Anmeldeinformationsblocks benötigen Sie das `AccessKeyId``SecretAccessKey`, und`SessionToken`. In diesem Beispiel werden die Umgebungsvariablen `RoleAccessKeyID``RoleSecretKey`, und verwendet`RoleSessionToken`. : Die Sitzungsanmeldedaten (`AccessKeyId``SecretAccessKey`, und`SessionToken`) sind temporär und nicht persistent. Der Ablaufzeitstempel in der Ausgabe gibt an, wann diese Anmeldeinformationen ablaufen. Die Rolle ist mit der maximalen Sitzungsdauer konfiguriert. Wenn die Anmeldeinformationen ablaufen, müssen Sie `sts:AssumeRole` erneut anrufen, um neue temporäre Anmeldeinformationen zu erhalten.<br />2. Erstellen Sie drei Umgebungsvariablen, um die IAM-Rolle zu übernehmen. Diese Umgebungsvariablen werden mit der folgenden Ausgabe vervollständigt:<pre># Linux<br />export AWS_ACCESS_KEY_ID=<RoleAccessKeyID from command output><br />export AWS_SECRET_ACCESS_KEY=<RoleSecretKey from command output><br />export AWS_SESSION_TOKEN=<RoleSessionToken from command output><br /># Windows<br />set AWS_ACCESS_KEY_ID=<RoleAccessKeyID from command output><br />set AWS_SECRET_ACCESS_KEY=<RoleSecretKey from command output><br />set AWS_SESSION_TOKEN=<RoleSessionToken from command output></pre><br />3. Stellen Sie sicher, dass Sie die IAM-Rolle übernommen haben, indem Sie den folgenden Befehl ausführen:<pre>aws sts get-caller-identity</pre>Weitere Informationen finden Sie unter [Wie verwende ich die, AWS CLI um eine IAM-Rolle anzunehmen](https://repost.aws/knowledge-center/iam-assume-role-cli)? | AWS-Administrator | 
| Kopieren und synchronisieren Sie Daten aus dem Quell-Bucket in den Ziel-Bucket. | Wenn Sie die Rolle übernommen haben, können `S3MigrationRole` Sie die Daten mit dem Befehl [copy](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3/cp.html) (`cp`) oder [synchronize](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3/sync.html) (`sync`) kopieren.<br />Kopieren:<pre>aws s3 cp s3://amazon-s3-demo-source-bucket/ \<br />    s3://amazon-s3-demo-destination-bucket/ \<br />    --recursive --source-region SOURCE-REGION-NAME --region DESTINATION-REGION-NAME</pre><br />Synchronisieren:<pre>aws s3 sync s3://amazon-s3-demo-source-bucket/ \<br />    s3://amazon-s3-demo-destination-bucket/ \<br />    --source-region SOURCE-REGION-NAME --region DESTINATION-REGION-NAME</pre> | Cloud-Administrator | 

## Fehlerbehebung
<a name="copy-data-from-an-s3-bucket-to-another-account-and-region-by-using-the-aws-cli-troubleshooting"></a>


| Problem | Lösung | 
| --- | --- | 
| Beim Aufrufen der `ListObjects` Operation ist ein Fehler aufgetreten (`AccessDenied`) | 1. Stellen Sie sicher, dass Sie die Rolle übernommen haben`S3MigrationRole`.<br />2. Führen Sie `aws sts get-caller-identity` den Befehl aus, um die verwendete Rolle zu überprüfen. Wenn in der Ausgabe der ARN für nicht angezeigt wird`S3MigrationRole`, nehmen Sie erneut die IAM-Rolle an und versuchen Sie es erneut. | 

## Zugehörige Ressourcen
<a name="copy-data-from-an-s3-bucket-to-another-account-and-region-by-using-the-aws-cli-resources"></a>
+ [Einen Amazon S3 S3-Bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) erstellen (Amazon S3 S3-Dokumentation)
+ [Amazon S3 S3-Bucket-Richtlinien und Benutzerrichtlinien](https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html) (Amazon S3 S3-Dokumentation)
+ [IAM-Identitäten (Benutzer, Gruppen und Rollen) (IAM-Dokumentation)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html?icmpid=docs_iam_console)
+ [Befehl cp](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3/cp.html) (Dokumentation)AWS CLI 
+ [Befehl sync](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3/sync.html) (AWS CLI Dokumentation)