

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.

# Erteilen von Berechtigungen für kontoübergreifenden Amazon S3-Speicher
<a name="canvas-permissions-cross-account"></a>

Wenn Sie Ihre SageMaker AI-Domain oder Ihr Benutzerprofil einrichten, damit Benutzer auf SageMaker Canvas zugreifen können, geben Sie einen Amazon S3 S3-Speicherort für Canvas-Artefakte an. Zu diesen Artefakten gehören gespeicherte Kopien Ihrer Eingabedatensätze, Modellartefakte, Vorhersagen und andere Anwendungsdaten. Sie können entweder den standardmäßigen, von SageMaker KI erstellten Amazon S3 S3-Bucket verwenden oder Sie können den Speicherort anpassen und Ihren eigenen Bucket zum Speichern von Canvas-Anwendungsdaten angeben.

Sie können einen Amazon S3 S3-Bucket in einem anderen AWS Konto zum Speichern Ihrer Canvas-Daten angeben, aber zuerst müssen Sie kontoübergreifende Berechtigungen gewähren, damit Canvas auf den Bucket zugreifen kann.

In den folgenden Abschnitten wird beschrieben, wie Sie Canvas Berechtigungen für das Hoch- und Herunterladen von Objekten in einen Amazon-S3-Bucket in einem anderen Konto gewähren. Es gibt zusätzliche Berechtigungen für den Fall, dass Ihr Bucket mit AWS KMS verschlüsselt ist.

## Voraussetzungen
<a name="canvas-permissions-cross-account-prereqs"></a>

Bevor Sie beginnen, sollten Sie die folgenden Anforderungen prüfen:
+ Cross-account Amazon S3 S3-Buckets (und alle zugehörigen AWS KMS Schlüssel) müssen sich in derselben AWS Region befinden wie die Canvas-Benutzerdomäne oder das Benutzerprofil.
+ Die endgültige Amazon-S3-URI für den Trainingsordner in Ihrem Canvas-Speicherort muss 128 Zeichen oder weniger lang sein. Die endgültige S3-URI besteht aus Ihrem `s3://<your-bucket-name>/<folder-name>/` Bucket-Pfad und dem Pfad, den Canvas Ihrem Bucket hinzufügt: `Canvas/<user-profile-name>/Training`. Ein akzeptabler Pfad mit weniger als 128 Zeichen ist beispielsweise `s3://<amzn-s3-demo-bucket>/<machine-learning>/Canvas/<user-1>/Training`.

## Berechtigungen für kontoübergreifende Amazon-S3-Buckets
<a name="canvas-permissions-cross-account-s3"></a>

Im folgenden Abschnitt werden die grundlegenden Schritte zur Erteilung der erforderlichen Berechtigungen beschrieben, damit Canvas in einem anderen Konto auf Ihren Amazon-S3-Bucket zugreifen kann. Eine detailliertere Anleitung finden Sie unter [Beispiel 2: Bucket-Besitzer, der kontoübergreifende Bucket-Berechtigungen gewährt](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-walkthroughs-managing-access-example2.html), im *Amazon S3-Benutzerhandbuch*.

1. Erstellen Sie einen Amazon-S3-Bucket, `bucketA`, in Konto A.

1. Der Canvas-Benutzer ist in einem anderen Konto namens Konto B vorhanden. In den folgenden Schritten beziehen wir uns auf die IAM-Rolle des Canvas-Benutzers wie `roleB` in Konto B.

   Erteilen Sie der IAM-Rolle `roleB` in Konto B die Berechtigung zum Herunterladen (`GetObject`) und Hochladen (`PutObject`) von Objekten zu und von `bucketA` in Konto A, indem Sie eine IAM-Richtlinie anhängen.

   Um den Zugriff auf einen bestimmten Bucket-Ordner zu beschränken, definieren Sie den Ordnernamen im Ressourcenelement, z. B. `arn:aws:s3:::<bucketA>/FolderName/*`. Weitere Informationen finden Sie unter [Wie kann ich IAM-Richtlinien verwenden, um benutzerspezifischen Zugriff auf bestimmte Ordner zu gewähren?](https://aws.amazon.com/premiumsupport/knowledge-center/iam-s3-user-specific-folder/)
**Anmerkung**  
Bucket-level Aktionen wie `GetBucketCors` und `GetBucketLocation` sollten für Ressourcen auf Bucket-Ebene hinzugefügt werden, nicht für Ordner.

   Das folgende Beispiel für eine IAM-Richtlinie gewährt die erforderlichen Berechtigungen für `roleB` den Zugriff auf Objekte in: `bucketA`

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "s3:GetObject",
                   "s3:PutObject",
                   "s3:DeleteObject"
               ],
               "Resource": [
                   "arn:aws:s3:::{{bucketA}}/{{FolderName}}/*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "s3:ListBucket",
                   "s3:GetBucketCors",
                   "s3:GetBucketLocation"
               ],
               "Resource": [
                   "arn:aws:s3:::{{bucketA}}"
               ]
           }
       ]
   }
   ```

------

1. Konfigurieren Sie die Bucket-Richtlinie für `bucketA` in Konto A, um der IAM-Rolle `roleB` in Konto B Berechtigungen zu gewähren.
**Anmerkung**  
Administratoren müssen außerdem die Option **Gesamten öffentlichen Zugriff blockieren** im Bereich **Berechtigungen** für den Bucket deaktivieren.

   Es folgt ein Beispiel für eine Bucket-Policy für `bucketA`, um `roleB` die erforderlichen Berechtigungen zu erteilen:

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::{{111122223333}}:role/roleB"
               },
               "Action": [
                   "s3:DeleteObject",
                   "s3:GetObject",
                   "s3:PutObject"
               ],
               "Resource": "arn:aws:s3:::bucketA/FolderName/*"
           },
           {
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::{{111122223333}}:role/roleB"
               },
               "Action": [
                   "s3:ListBucket",
                   "s3:GetBucketCors",
                   "s3:GetBucketLocation"
               ],
               "Resource": "arn:aws:s3:::bucketA"
           }
       ]
   }
   ```

------

Nachdem Sie die vorherigen Berechtigungen konfiguriert haben, kann Ihr Canvas-Benutzerprofil in Konto B nun den Amazon S3-Bucket in Konto A als Speicherort für Canvas-Artefakte verwenden.

## Berechtigungen für kontoübergreifende Amazon S3 S3-Buckets, verschlüsselt mit AWS KMS
<a name="canvas-permissions-cross-account-s3-kms"></a>

Das folgende Verfahren zeigt Ihnen, wie Sie die erforderlichen Berechtigungen erteilen, damit Canvas auf Ihren Amazon S3 S3-Bucket in einem anderen Konto zugreifen kann, das mit verschlüsselt ist AWS KMS. Die Schritte ähneln dem obigen Verfahren, jedoch mit zusätzlichen Berechtigungen. Weitere Informationen über die [Gewährung von kontenübergreifendem KMS-Schlüsselzugriff](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html) finden Sie im *AWS KMS Entwicklerhandbuch* unter Zulassen der Verwendung eines KMS-Schlüssels durch Benutzer in anderen Konten.

1. Erstellen Sie einen Amazon-S3-Bucket `bucketA` und einen KMS-Schlüssel von Amazon S3, `s3KmsInAccountA`, in Konto A.

1. Der Canvas-Benutzer ist in einem anderen Konto namens Konto B vorhanden. In den folgenden Schritten beziehen wir uns auf die IAM-Rolle des Canvas-Benutzers wie `roleB` in Konto B.

   Erteilen Sie der IAM-Rolle `roleB` in Konto B die Erlaubnis, Folgendes zu tun:
   + Herunterladen (`GetObject`) und Hochladen (`PutObject`) von Objekten auf und von `bucketA` in Konto A.
   + Greifen Sie auf den AWS KMS Schlüssel `s3KmsInAccountA` in Konto A zu.

   Die folgende Beispiel-IAM-Richtlinie gewährt die erforderlichen Berechtigungen für `roleB`, um auf Objekte in `bucketA` zuzugreifen und den KMS-Schlüssel `s3KmsInAccountA` zu verwenden:

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "s3:GetObject",
                   "s3:PutObject",
                   "s3:DeleteObject"
               ],
               "Resource": [
                   "arn:aws:s3:::bucketA/FolderName/*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "s3:GetBucketCors",
                   "s3:GetBucketLocation"
               ],
               "Resource": [
                   "arn:aws:s3:::bucketA"
               ]
           },
           {
               "Action": [
                   "kms:DescribeKey",
                   "kms:CreateGrant",
                   "kms:RetireGrant",
                   "kms:GenerateDataKey",
                   "kms:GenerateDataKeyWithoutPlainText",
                   "kms:Decrypt"
               ],
               "Effect": "Allow",
               "Resource": "arn:aws:kms:us-east-1:111122223333:key/s3KmsInAccountA"
           }
       ]
   }
   ```

------

1. Konfigurieren Sie die Bucket-Richtlinie für `bucketA` und die Schlüsselrichtlinie für `s3KmsInAccountA` in Konto A, um der IAM-Rolle `roleB` in Konto B Berechtigungen zu gewähren.

   Im Folgenden finden Sie ein Beispiel für eine Bucket-Policy für `bucketA`, mit der die erforderlichen Berechtigungen für `roleB` erteilt werden:

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::{{111122223333}}:role/roleB"
               },
               "Action": [
                   "s3:DeleteObject",
                   "s3:GetObject",
                   "s3:PutObject"
               ],
               "Resource": "arn:aws:s3:::bucketA/FolderName/*"
           },
           {
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::{{111122223333}}:role/roleB"
               },
               "Action": [
                   "s3:GetBucketCors",
                   "s3:GetBucketLocation"
               ],
               "Resource": "arn:aws:s3:::bucketA"
           }
       ]
   }
   ```

------

   Das folgende Beispiel ist eine Schlüsselrichtlinie, die Sie an den KMS-Schlüssel `s3KmsInAccountA` in Konto A anhängen, um `roleB` Zugriff zu gewähren. Weitere Informationen zum Erstellen und Anhängen einer wichtigen Richtlinienerklärung finden Sie unter [Erstellen einer Schlüsselrichtlinie](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-overview.html) im *AWS KMS Entwicklerhandbuch*.

   ```
   {
     "Sid": "Allow use of the key",
     "Effect": "Allow",
     "Principal": {
       "AWS": [
         "arn:aws:iam::accountB:role/roleB"
       ]
     },
     "Action": [
           "kms:DescribeKey",
           "kms:CreateGrant",
           "kms:RetireGrant",
           "kms:GenerateDataKey",
           "kms:GenerateDataKeyWithoutPlainText",
           "kms:Decrypt"
     ],
     "Resource": "*"
   }
   ```

Nachdem Sie die vorherigen Berechtigungen konfiguriert haben, kann Ihr Canvas-Benutzerprofil in Konto B nun den verschlüsselten Amazon-S3-Bucket in Konto A als Speicherort für Canvas-Artefakte verwenden.