

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.

# Beispiel 3: Bucket-Eigentümer, der Berechtigungen für Objekte erteilt, die ihm nicht gehören
<a name="example-walkthroughs-managing-access-example3"></a>

**Wichtig**  
Das Erteilen von Berechtigungen für IAM-Rollen ist eine bessere Vorgehensweise als die Erteilung von Berechtigungen an einzelne Benutzer. Weitere Informationen zur Vorgehensweise finden Sie unter [Verständnis von kontoübergreifenden Berechtigungen und der Verwendung von IAM-Rollen](example-walkthroughs-managing-access-example4.md#access-policies-walkthrough-example4-overview).

**Topics**
+ [Schritt 0: Vorbereitung auf den Walkthrough](#access-policies-walkthrough-cross-account-acl-step0)
+ [Schritt 1: Erledigen der Aufgaben von Konto A](#access-policies-walkthrough-cross-account-acl-acctA-tasks)
+ [Schritt 2: Erledigen der Aufgaben von Konto B](#access-policies-walkthrough-cross-account-acl-acctB-tasks)
+ [Schritt 3: Testen der Berechtigungen](#access-policies-walkthrough-cross-account-acl-verify)
+ [Schritt 4: Bereinigen](#access-policies-walkthrough-cross-account-acl-cleanup)

Das Szenario für dieses Beispiel ist, dass ein Bucket-Eigentümer Berechtigungen zum Zugriff auf Objekte erteilen möchte, obwohl er nicht alle Objekte im Bucket besitzt. In diesem Beispiel versucht der Bucket-Eigentümer, Benutzern in seinem eigenen Konto eine Berechtigung zu erteilen.

Ein Bucket-Besitzer kann anderen das Hochladen von AWS-Konten Objekten ermöglichen. Standardmäßig besitzt der Bucket-Eigentümer keine Objekte, die von einem anderen AWS-Konto in einen Bucket geschrieben wurden. Objekte gehören den Konten, die sie in einen S3-Bucket schreiben. Wenn der Bucket-Eigentümer keine Objekte im Bucket besitzt, muss der Objekteigentümer dem Bucket-Eigentümer zunächst die Berechtigung mithilfe einer Objektzugriffssteuerungsliste (ACL) erteilen. Dann kann der Bucket-Eigentümer Berechtigungen für ein Objekt erteilen, das er nicht besitzt. Weitere Informationen finden Sie unter [Amazon-S3-Bucket- und Objekt-Eigentümerschaft](access-policy-language-overview.md#about-resource-owner).

Wenn der Bucket-Eigentümer die vom Bucket-Eigentümer erzwungene Einstellung für S3 Object Ownership für den Bucket anwendet, besitzt der Bucket-Eigentümer alle Objekte im Bucket, einschließlich der Objekte, die von einem anderen AWS-Konto geschrieben wurden. Dieser Ansatz löst das Problem, dass Objekte nicht im Besitz des Bucket-Eigentümers sind. Anschließend können Sie die Berechtigung an Benutzer in Ihrem eigenen Konto oder an andere AWS-Konten.

**Anmerkung**  
S3 Object Ownership ist eine Einstellung auf Amazon S3 S3-Bucket-Ebene, mit der Sie sowohl das Eigentum an den Objekten kontrollieren können, die in Ihren Bucket hochgeladen werden, als auch um sie zu deaktivieren oder zu aktivieren. ACLs Standardmäßig ist für Object Ownership die erzwungene Einstellung des Bucket-Besitzers festgelegt, und alle sind ACLs deaktiviert. Wenn ACLs diese Option deaktiviert ist, besitzt der Bucket-Besitzer alle Objekte im Bucket und verwaltet den Zugriff darauf ausschließlich mithilfe von Zugriffsverwaltungsrichtlinien.  
 Für die meisten modernen Anwendungsfälle in Amazon S3 ist die Verwendung von nicht mehr erforderlich ACLs. Wir empfehlen, die ACLs Option deaktiviert zu lassen, außer in Fällen, in denen Sie den Zugriff für jedes Objekt einzeln steuern müssen. Wenn diese ACLs Option deaktiviert ist, können Sie mithilfe von Richtlinien den Zugriff auf alle Objekte in Ihrem Bucket steuern, unabhängig davon, wer die Objekte in Ihren Bucket hochgeladen hat. Weitere Informationen finden Sie unter [Kontrolle des Besitzes von Objekten und Deaktivierung ACLs für Ihren Bucket](about-object-ownership.md).

In diesem Beispiel gehen wir davon aus, dass der Bucket-Eigentümer die vom Bucket-Eigentümer erzwungene Einstellung für Object Ownership nicht angewendet hat. Der Bucket-Eigentümer delegiert die Berechtigung an Benutzer in seinem eigenen Konto. Nachfolgend finden Sie eine kurze Zusammenfassung der wichtigsten Details: 

![\[Ein Bucket-Eigentümer, der Berechtigungen für Objekte erteilt, die ihm nicht gehören.\]](http://docs.aws.amazon.com/de_de/AmazonS3/latest/userguide/images/access-policy-ex3.png)


1. Der Administrator-Benutzer von Konto A ordnet eine Bucket-Richtlinie mit zwei Anweisungen zu.
   + Kontoübergreifende Berechtigung für Konto B, um Objekte hochzuladen.
   + Berechtigung für einen Benutzer in seinem eigenen Konto, auf Objekte im Bucket zuzugreifen.

1. Der Administrator-Benutzer für Konto B lädt Objekte in den Bucket hoch, der Konto A gehört.

1. Der Administrator von Konto B aktualisiert die Objekt-ACL, indem er die Berechtigung hinzufügt, die dem Bucket-Eigentümer vollständige Berechtigungen für das Objekt erteilt.

1. Der Benutzer in Konto A überprüft dies durch Zugriff auf Objekte im Bucket, unabhängig davon, wem diese gehören.

Für dieses Beispiel benötigen Sie zwei Konten. Die folgende Tabelle zeigt, wie wir auf diese Konten und die Administrator-Benutzer in diesen Konten verweisen. In dieser schrittweisen Anleitung verwenden Sie die Anmeldeinformationen des Root-Benutzers für das Konto nicht gemäß den empfohlenen IAM-Richtlinien. Weitere Informationen finden Sie unter [Informationen zur Verwendung eines Administratorbenutzers zum Erstellen von Ressourcen und Erteilen von Berechtigungen](example-walkthroughs-managing-access.md#about-using-root-credentials). Stattdessen erstellen Sie einen Administrator in jedem Konto, und verwenden dessen Anmeldeinformationen, um Ressourcen zu erstellen und ihnen Berechtigungen zu erteilen.


| AWS-Konto ID | Konto bezeichnet als | Administrator im Konto  | 
| --- | --- | --- | 
|  *1111-1111-1111*  |  Konto A  |  AccountAadmin  | 
|  *2222-2222-2222*  |  Konto B  |  AccountBadmin  | 

Alle Aufgaben in Verbindung mit dem Erstellen von Benutzern und Gewähren von Berechtigungen werden in der AWS-Managementkonsole ausgeführt. Um die Berechtigungen zu überprüfen, verwendet die exemplarische Vorgehensweise die Befehlszeilentools AWS Command Line Interface (AWS CLI) und AWS Tools for Windows PowerShell, sodass Sie keinen Code schreiben müssen. 

## Schritt 0: Vorbereitung auf den Walkthrough
<a name="access-policies-walkthrough-cross-account-acl-step0"></a>

1. Stellen Sie sicher, dass Sie über zwei Konten verfügen AWS-Konten und dass jedes Konto über einen Administrator verfügt, wie in der Tabelle im vorherigen Abschnitt dargestellt.

   1. Melden Sie sich bei Bedarf für einen an AWS-Konto. 

   1. Melden Sie sich mit den Anmeldeinformationen von Konto A bei der [IAM-Konsole](https://console.aws.amazon.com/iam/) an und führen Sie Folgendes aus, um einen Administratorbenutzer zu erstellen:
      + Erstellen Sie den Benutzer **AccountAadmin** und notieren Sie sich die Sicherheitsanmeldeinformationen des Benutzers. Weitere Informationen zum Hinzufügen von Benutzern finden Sie unter [Erstellen eines IAM-Benutzers in Ihrem AWS-Konto](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html) im *IAM-Benutzerhandbuch*. 
      + Gewähren Sie Administratorberechtigungen für, **AccountAadmin**indem Sie eine Benutzerrichtlinie anhängen, die vollen Zugriff gewährt. Weitere Informationen finden Sie unter [Verwalten von IAM-Richtlinien](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage.html) im *IAM-Benutzerhandbuch*. 
      + Schreiben Sie sich die **IAM-Benutzer-Anmelde-URL** auf dem **Dashboard** der [IAM-Konsole](https://console.aws.amazon.com/iam/) auf. Benutzer in diesem Konto müssen diese URL für die Anmeldung an der AWS-Managementkonsole verwenden. Weitere Informationen finden Sie unter [Wie sich Benutzer in Ihrem Konto anmelden](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_how-users-sign-in.html) im *IAM-Benutzerhandbuch*. 

   1. Wiederholen Sie den obigen Schritt unter Verwendung der Anmeldeinformationen von Konto B und erstellen Sie den Administrator-Benutzer **AccountBadmin**.

1. Richten Sie entweder die Tools AWS CLI oder die Tools für Windows PowerShell ein. Stellen Sie sicher, dass Sie die Administratoranmeldeinformationen wie folgt speichern:
   + Wenn Sie das verwenden AWS CLI, erstellen Sie zwei Profile `AccountAadmin` und `AccountBadmin` in der Konfigurationsdatei.
   + Wenn Sie die Tools für Windows verwenden PowerShell, stellen Sie sicher, dass Sie die Anmeldeinformationen für die Sitzung als `AccountAadmin` und speichern`AccountBadmin`.

   Detaillierte Anweisungen finden Sie unter [Einrichten der Tools für die Anleitungen](policy-eval-walkthrough-download-awscli.md). 

## Schritt 1: Erledigen der Aufgaben von Konto A
<a name="access-policies-walkthrough-cross-account-acl-acctA-tasks"></a>

Führen Sie für Konto A die folgenden Schritte aus:

### Schritt 1.1: Anmelden bei der Konsole
<a name="access-policies-walkthrough-cross-account-permissions-acctA-tasks-sign-in-example3"></a>

Melden Sie sich mit der IAM-Benutzer-Anmelde-URL für Konto A beim AWS-Managementkonsole **AccountAadmin** AS-Benutzer an. Dieser Benutzer erstellt einen Bucket und ordnet ihm eine Richtlinie zu. 

### Schritt 1.2: Erstellen eines Buckets und eines Benutzers und Hinzufügen einer Bucket-Richtlinie, um Benutzerberechtigungen zu erteilen
<a name="access-policies-walkthrough-cross-account-acl-create-bucket"></a>

1. Erstellen Sie in der Amazon-S3-Konsole einen Bucket. In dieser Übung wird davon ausgegangen, dass der Bucket im Osten der USA (Nord-Virginia) AWS-Region erstellt wurde und der Name lautet. `amzn-s3-demo-bucket1`

   Detaillierte Anweisungen finden Sie unter [Erstellen eines Allzweck-Buckets](create-bucket-overview.md). 

1. Erstellen Sie in der [IAM-Konsole](https://console.aws.amazon.com/iam/) einen Benutzer **Dave**. 

    step-by-stepAnweisungen finden Sie unter [Erstellen von IAM-Benutzern (Konsole)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html#id_users_create_console) im *IAM-Benutzerhandbuch*. 

1. Notieren Sie sich die Anmeldeinformationen des Benutzers Dave auf. 

1. Weisen Sie in der Amazon-S3-Konsole die folgende Bucket-Richtlinie dem `amzn-s3-demo-bucket1`-Bucket zu. Detaillierte Anweisungen finden Sie unter [Hinzufügen einer Bucket-Richtlinie mit der Amazon-S3-Konsole](add-bucket-policy.md). Folgen Sie den Schritten, um eine Bucket-Richtlinie hinzuzufügen. Informationen dazu, wie Sie ein Konto finden IDs, finden Sie unter [Ihre AWS-Konto ID finden](https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html#FindingYourAccountIdentifiers). 

   Die Richtlinie erteilt Konto B die Berechtigung `s3:PutObject` und `s3:ListBucket`. Die Richtlinie erteilt außerdem dem Benutzer `Dave` die `s3:GetObject`-Berechtigung. 

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "Statement1",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:root"
               },
               "Action": [
                   "s3:PutObject",
                   "s3:ListBucket"
               ],
               "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-bucket1/*",
                   "arn:aws:s3:::amzn-s3-demo-bucket1"
               ]
           },
           {
               "Sid": "Statement3",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:user/Dave"
               },
               "Action": [
                   "s3:GetObject"
               ],
               "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-bucket1/*"
               ]
           }
       ]
   }
   ```

------

## Schritt 2: Erledigen der Aufgaben von Konto B
<a name="access-policies-walkthrough-cross-account-acl-acctB-tasks"></a>

Nachdem Konto B die Berechtigung besitzt, Vorgänge für den Bucket von Konto A auszuführen, macht der Administrator von Konto B Folgendes:
+ Hochladen eines Objekts in den Bucket von Konto A 
+ Fügt eine Gewährung in der Objekt-ACL hinzu, um Konto A, dem Bucket-Eigentümer, vollständige Kontrolle zu gewähren

**Mit dem AWS CLI**

1. Laden Sie mithilfe des Befehls `put-object` AWS CLI ein Objekt hoch. Der Parameter `--body` im Befehl identifiziert die hochzuladende Quelldatei. Befindet sich die Datei beispielsweise auf dem Laufwerk `C:` eines Windows-Computers, geben Sie `c:\HappyFace.jpg` an. Der Parameter `--key` gibt den Schlüsselnamen für das Objekt an. 

   ```
   aws s3api put-object --bucket amzn-s3-demo-bucket1 --key HappyFace.jpg --body HappyFace.jpg --profile AccountBadmin
   ```

1. Erteilung einer Berechtigung in der Objekt-ACL, um dem Bucket-Eigentümer volle Kontrolle über das Objekt zu erteilen. Informationen dazu, wie Sie eine kanonische Benutzer-ID finden, finden Sie unter [Die kanonische Benutzer-ID für Ihr AWS-Konto finden](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-identifiers.html#FindCanonicalId) im *AWS -Referenzhandbuch zur Kontoverwaltung*.

   ```
   aws s3api put-object-acl --bucket amzn-s3-demo-bucket1 --key HappyFace.jpg --grant-full-control id="AccountA-CanonicalUserID" --profile AccountBadmin
   ```

**Verwenden der Tools für Windows PowerShell**

1. Laden Sie mithilfe des Befehls `Write-S3Object` ein Objekt hoch. 

   ```
   Write-S3Object -BucketName amzn-s3-demo-bucket1 -key HappyFace.jpg -file HappyFace.jpg -StoredCredentials AccountBadmin
   ```

1. Erteilung einer Berechtigung in der Objekt-ACL, um dem Bucket-Eigentümer volle Kontrolle über das Objekt zu erteilen.

   ```
   Set-S3ACL -BucketName amzn-s3-demo-bucket1 -Key HappyFace.jpg -CannedACLName "bucket-owner-full-control" -StoredCreden
   ```

## Schritt 3: Testen der Berechtigungen
<a name="access-policies-walkthrough-cross-account-acl-verify"></a>

Überprüfen Sie nun, dass der Benutzer Dave in Konto A Zugriff auf das Objekt hat, das Konto B gehört.

**Mit dem AWS CLI**

1. Fügen Sie der AWS CLI Konfigurationsdatei die Anmeldeinformationen des Benutzers Dave hinzu und erstellen Sie ein neues Profil,`UserDaveAccountA`. Weitere Informationen finden Sie unter [Einrichten der Tools für die Anleitungen](policy-eval-walkthrough-download-awscli.md).

   ```
   [profile UserDaveAccountA]
   aws_access_key_id = access-key
   aws_secret_access_key = secret-access-key
   region = us-east-1
   ```

1. Führen Sie den CLI-Befehl `get-object` aus, um `HappyFace.jpg` herunterzuladen und es lokal zu speichern. Sie stellen dem Benutzer Dave Anmeldeinformationen bereit, indem Sie den Parameter `--profile` hinzufügen.

   ```
   aws s3api get-object --bucket amzn-s3-demo-bucket1 --key HappyFace.jpg Outputfile.jpg --profile UserDaveAccountA
   ```

**Verwenden der Tools für Windows PowerShell**

1. Speichern Sie die AWS Anmeldeinformationen des Benutzers Dave als `UserDaveAccountA` im persistenten Speicher. 

   ```
   Set-AWSCredentials -AccessKey UserDave-AccessKey -SecretKey UserDave-SecretAccessKey -storeas UserDaveAccountA
   ```

1. Führen Sie den Befehl `Read-S3Object` aus, um das Objekt `HappyFace.jpg` herunterzuladen und es lokal zu speichern. Sie stellen dem Benutzer Dave Anmeldeinformationen bereit, indem Sie den Parameter `-StoredCredentials` hinzufügen. 

   ```
   Read-S3Object -BucketName amzn-s3-demo-bucket1 -Key HappyFace.jpg -file HappyFace.jpg  -StoredCredentials UserDaveAccountA
   ```

## Schritt 4: Bereinigen
<a name="access-policies-walkthrough-cross-account-acl-cleanup"></a>

1. Nachdem Sie mit den Tests fertig sind, räumen Sie wie folgt auf:

   1. Melden Sie sich mit den Anmeldeinformationen von Konto A an der [AWS-Managementkonsole](https://console.aws.amazon.com/) an und machen Sie Folgendes:
     + Entfernen Sie in der Amazon-S3-Konsole die an *amzn-s3-demo-bucket1* angefügte Bucket-Richtlinie. Löschen Sie in den Bucket **Properties** die Richtlinie im Abschnitt **Permissions**. 
     + Wenn der Bucket für diese Übung erstellt wurde, löschen Sie in der Amazon-S3-Konsole die Objekte und dann den Bucket. 
     + Entfernen Sie in der [IAM-Konsole](https://console.aws.amazon.com/iam/) den Benutzer **AccountAadmin**. step-by-step Anweisungen finden Sie unter [Löschen eines IAM-Benutzers](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_manage.html#id_users_deleting) im *IAM-Benutzerhandbuch*.

1. Melden Sie sich mit den Anmeldeinformationen von Konto B an der [AWS-Managementkonsole](https://console.aws.amazon.com/) an. Löschen Sie den [Benutzer in der IAM-Konsole](https://console.aws.amazon.com/iam/). **AccountBadmin**