

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.

# Richten Sie Servicerollen ein für AWS Clean Rooms
<a name="setting-up-roles"></a>

In den folgenden Abschnitten werden die Rollen beschrieben, die für die Ausführung der einzelnen Aufgaben erforderlich sind.

**Topics**
+ [Erstellen Sie eine IAM-Rolle für ein Kollaborationsmitglied](#create-role-DP)
+ [Erstellen Sie eine Servicerolle, um Daten aus Amazon S3 zu lesen](#create-service-role-procedure)
+ [Erstellen Sie eine Servicerolle, um Daten aus Amazon Athena zu lesen](#create-service-role-athena)
+ [Erstellen Sie eine Servicerolle zum Lesen von Daten aus Snowflake](#create-service-role-third-party)
+ [Erstellen Sie eine Servicerolle, um Code aus einem S3-Bucket zu lesen (PySpark Analysevorlagenrolle)](#create-role-pyspark-analysis-template)
+ [Erstellen Sie eine Servicerolle, um die Ergebnisse eines PySpark Jobs zu schreiben](#create-role-pyspark-job)
+ [Erstellen Sie eine Servicerolle, um Ergebnisse zu erhalten](#create-role-write-results)

## Erstellen Sie eine IAM-Rolle für ein Kollaborationsmitglied
<a name="create-role-DP"></a>

Ein Mitglied ist ein AWS Kunde, der an einer Zusammenarbeit teilnimmt. 

**Um eine IAM-Rolle für ein Kollaborationsmitglied zu erstellen**

1. Folgen Sie dem [ Verfahren ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html) Erstellen einer Rolle zum Delegieren von Berechtigungen an einen IAM-Benutzer im *AWS Identity and Access Management Benutzerhandbuch. *

1. Wählen Sie für den ** Schritt Richtlinie ** erstellen die ** Registerkarte ** JSON im ** Richtlinien-Editor aus und fügen Sie dann Richtlinien hinzu**, je nachdem, welche Fähigkeiten dem Kollaborationsmitglied gewährt wurden. 

   AWS Clean Rooms bietet die folgenden verwalteten Richtlinien, die auf gängigen Anwendungsfällen basieren.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/de_de/clean-rooms/latest/userguide/setting-up-roles.html)

   Informationen zu den verschiedenen verwalteten Richtlinien von AWS Clean Rooms finden Sie [AWS verwaltete Richtlinien für AWS Clean Rooms](security-iam-awsmanpol.md) unter

## Erstellen Sie eine Servicerolle, um Daten aus Amazon S3 zu lesen
<a name="create-service-role-procedure"></a>

AWS Clean Rooms verwendet eine Servicerolle, um die Daten aus Amazon S3 zu lesen. 

Es gibt zwei Möglichkeiten, diese Servicerolle zu erstellen.
+ Wenn Sie über die erforderlichen IAM-Berechtigungen zum Erstellen einer Servicerolle verfügen, verwenden Sie die AWS Clean Rooms Konsole, um eine Servicerolle zu erstellen.
+ Wenn Sie keine `iam:AttachRolePolicy` Berechtigungen haben `iam:CreateRole` oder die IAM-Rollen manuell erstellen möchten, führen Sie einen der folgenden Schritte aus: `iam:CreatePolicy`
  + Gehen Sie wie folgt vor, um eine Servicerolle mithilfe benutzerdefinierter Vertrauensrichtlinien zu erstellen.
  + Bitten Sie Ihren Administrator, die Servicerolle mithilfe des folgenden Verfahrens zu erstellen.

**Anmerkung**  
Sie oder Ihr IAM-Administrator sollten dieses Verfahren nur befolgen, wenn Sie nicht über die erforderlichen Berechtigungen verfügen, um mithilfe der AWS Clean Rooms Konsole eine Servicerolle zu erstellen.

**Um mithilfe benutzerdefinierter Vertrauensrichtlinien eine Servicerolle zum Lesen von Daten aus Amazon S3 zu erstellen**

1. Erstellen Sie eine Rolle mithilfe benutzerdefinierter Vertrauensrichtlinien. Weitere Informationen finden Sie unter dem [ Verfahren ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) Erstellen einer Rolle mithilfe benutzerdefinierter Vertrauensrichtlinien (Konsole) im *AWS Identity and Access Management Benutzerhandbuch*.

1. Verwenden Sie die folgende benutzerdefinierte Vertrauensrichtlinie gemäß dem [ Verfahren ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) Erstellen einer Rolle mithilfe benutzerdefinierter Vertrauensrichtlinien (Konsole).
**Anmerkung**  
Wenn Sie sicherstellen möchten, dass die Rolle nur im Kontext einer bestimmten Kollaborationsmitgliedschaft verwendet wird, können Sie die Vertrauensrichtlinie weiter einschränken. Weitere Informationen finden Sie unter [Cross-service verwirrt, stellvertretender Vertreter der Prävention](cross-service-confused-deputy-prevention.md).

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

****  

   ```
   { 
   
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "RoleTrustPolicyForCleanRoomsService",
               "Effect": "Allow",
               "Principal": {
                   "Service": "cleanrooms.amazonaws.com"
               },
               "Action": "sts:AssumeRole"
           }
        ]
   }
   ```

------

1. Verwenden Sie die folgende Berechtigungsrichtlinie gemäß dem [ Verfahren ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) Erstellen einer Rolle mithilfe benutzerdefinierter Vertrauensrichtlinien (Konsole).
**Anmerkung**  
Die folgende Beispielrichtlinie unterstützt die Berechtigungen, die zum Lesen von AWS Glue Metadaten und den entsprechenden Amazon S3-Daten erforderlich sind. Je nachdem, wie Sie Ihre Amazon S3-Daten eingerichtet haben, müssen Sie diese Richtlinie jedoch möglicherweise ändern. Wenn Sie beispielsweise einen benutzerdefinierten KMS-Schlüssel für Ihre Amazon S3-Daten eingerichtet haben, müssen Sie diese Richtlinie möglicherweise mit zusätzlichen AWS Key Management Service (AWS KMS) Berechtigungen ändern.  
Ihre AWS Glue Ressourcen und die zugrunde liegenden Amazon S3-Ressourcen müssen mit der AWS Clean Rooms Zusammenarbeit AWS-Region identisch sein.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "NecessaryGluePermissions",
               "Effect": "Allow",
               "Action": [
                   "glue:GetDatabase",
                   "glue:GetDatabases",
                   "glue:GetTable",
                   "glue:GetTables",
                   "glue:GetPartition",
                   "glue:GetPartitions",
                   "glue:BatchGetPartition"
               ],
               "Resource": [
                   "arn:aws:glue:{{us-east-1}}:{{111122223333}}:database/{{databaseName}}",
                   "arn:aws:glue:{{us-east-1}}:{{111122223333}}:table/{{databaseName}}/{{tableName}}",
                   "arn:aws:glue:{{us-east-1}}:{{111122223333}}:catalog"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "glue:GetSchema",
                   "glue:GetSchemaVersion"
               ],
               "Resource": [
                   "*"
               ]
           },
           {
               "Sid": "NecessaryS3BucketPermissions",
               "Effect": "Allow",
               "Action": [
                   "s3:GetBucketLocation",
                   "s3:ListBucket"
               ],
               "Resource": [
                   "arn:aws:s3:::{{bucket}}"
               ],
               "Condition": {
                   "StringEquals": {
                       "s3:ResourceAccount": [
                           "{{444455556666}}"
                       ]
                   }
               }
           },
           {
               "Sid": "NecessaryS3ObjectPermissions",
               "Effect": "Allow",
               "Action": [
                   "s3:GetObject"
               ],
               "Resource": [
                   "arn:aws:s3:::{{bucket}}/{{prefix}}/*"
               ],
               "Condition": {
                   "StringEquals": {
                       "s3:ResourceAccount": [
                           "{{444455556666}}"
                       ]
                   }
               }
           }
       ]
   }
   ```

------
**Anmerkung**  
Diese Richtlinie verweist auf zwei verschiedene AWS-Konto IDs, um eine AWS Clean Rooms Zusammenarbeit zu unterstützen, bei der die Metadaten des Datenkatalogs und die eigentliche Datenspeicherung von verschiedenen Parteien verwaltet werden:  
**111122223333 ** — Dies ist das Konto, dem die AWS Glue Datenkatalogressourcen (Datenbanken, Tabellen und Katalog) gehören. Die erste Anweisung gewährt Berechtigungen für den Zugriff auf Tabellenschemas, Partitionsinformationen und Metadaten aus dem Katalog dieses Kontos. AWS Glue 
**444455556666 ** — Dies ist das Konto, dem der Amazon S3-Bucket gehört, der die eigentlichen Datendateien enthält. Die Amazon S3-Berechtigungen (Anweisungen 3 und 4) sind aufgrund der Bedingung auf Buckets beschränkt, die diesem Konto gehören. `s3:ResourceAccount`
Diese Konfiguration unterstützt gängige Unternehmensdatenarchitekturen, bei denen ein Team den Datenkatalog und die Schemadefinitionen verwaltet, während ein anderes Team die zugrunde liegende Datenspeicherinfrastruktur besitzt. Diese `s3:ResourceAccount` Bedingung bietet eine zusätzliche Sicherheitsebene, indem sichergestellt wird, dass Amazon S3-Operationen nur mit Buckets funktionieren, die dem angegebenen Konto gehören.

1. Ersetzen Sie jeden {{placeholder}} durch Ihre Informationen.

1. Folgen Sie weiterhin dem [ Verfahren zum ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) Erstellen einer Rolle mithilfe benutzerdefinierter Vertrauensrichtlinien (Konsole), um die Rolle zu erstellen.

## Erstellen Sie eine Servicerolle, um Daten aus Amazon Athena zu lesen
<a name="create-service-role-athena"></a>

AWS Clean Rooms verwendet eine Servicerolle, um die Daten aus Amazon Athena zu lesen. 

**Um mithilfe benutzerdefinierter Vertrauensrichtlinien eine Servicerolle zum Lesen von Daten aus Athena zu erstellen**

1. Erstellen Sie eine Rolle mithilfe benutzerdefinierter Vertrauensrichtlinien. Weitere Informationen finden Sie unter dem [ Verfahren ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) Erstellen einer Rolle mithilfe benutzerdefinierter Vertrauensrichtlinien (Konsole) im *AWS Identity and Access Management Benutzerhandbuch*.

1. Verwenden Sie die folgende benutzerdefinierte Vertrauensrichtlinie gemäß dem [ Verfahren ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) Erstellen einer Rolle mithilfe benutzerdefinierter Vertrauensrichtlinien (Konsole).
**Anmerkung**  
Wenn Sie sicherstellen möchten, dass die Rolle nur im Kontext einer bestimmten Kollaborationsmitgliedschaft verwendet wird, können Sie die Vertrauensrichtlinie weiter einschränken. Weitere Informationen finden Sie unter [Cross-service verwirrt, stellvertretender Vertreter der Prävention](cross-service-confused-deputy-prevention.md).

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

****  

   ```
   { 
   
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "RoleTrustPolicyForCleanRoomsService",
               "Effect": "Allow",
               "Principal": {
                   "Service": "cleanrooms.amazonaws.com"
               },
               "Action": "sts:AssumeRole"
           }
        ]
   }
   ```

------

1. Verwenden Sie die folgende Berechtigungsrichtlinie gemäß dem [ Verfahren ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) Erstellen einer Rolle mithilfe benutzerdefinierter Vertrauensrichtlinien (Konsole).
**Anmerkung**  
Die folgende Beispielrichtlinie unterstützt die Berechtigungen, die zum Lesen von AWS Glue Metadaten und den entsprechenden Athena-Daten erforderlich sind. Je nachdem, wie Sie Ihre Amazon S3-Daten eingerichtet haben, müssen Sie diese Richtlinie jedoch möglicherweise ändern. Wenn Sie beispielsweise bereits einen benutzerdefinierten KMS-Schlüssel für Ihre Amazon S3-Daten eingerichtet haben, müssen Sie diese Richtlinie möglicherweise mit zusätzlichen AWS KMS Berechtigungen ändern.

   ```
   {
       "Version": "2012-10-17",
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "athena:GetWorkGroup",
                   "athena:GetTableMetadata",
                   "athena:GetDataCatalog",
                   "athena:StartQueryExecution",
                   "athena:GetQueryExecution",
                   "athena:GetQueryResults"
               ],
               "Resource": [
                   "arn:aws:athena:{{region}}:{{accountId}}:workgroup/{{workgroup}}",
                   "arn:aws:athena:{{region}}:{{accountId}}:datacatalog/{{federatedCatalogName}}"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "glue:GetDatabase",
                   "glue:GetTable",
                   "glue:GetCatalog"
               ],
               "Resource": [
                   "arn:aws:glue:{{region}}:{{accountId}}:catalog",
                   "arn:aws:glue:{{region}}:{{accountId}}:catalog/{{federatedCatalogName}}",
                   "arn:aws:glue:{{region}}:{{accountId}}:database/{{federatedCatalogName}}/{{databaseName}}",
                   "arn:aws:glue:{{region}}:{{accountId}}:table/{{federatedCatalogName}}/{{databaseName}}/{{tableName}}"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "s3:GetObject",
                   "s3:GetBucketLocation",
                   "s3:AbortMultipartUpload",
                   "s3:ListBucket",
                   "s3:PutObject",
                   "s3:ListMultipartUploadParts"
               ],
               "Resource": [
                   "arn:aws:s3:::{{athenaResultsBucket}}",
                   "arn:aws:s3:::{{athenaResultsBucket}}/*"
               ],
               "Condition": {
                   "StringEquals": {
                       "aws:ResourceAccount": "{{accountId}}"
                   }
               }
           },
           {
               "Effect": "Allow",
               "Action": "lakeformation:GetDataAccess",
               "Resource": "*"
           }
       ]
   }
   ```

1. Ersetzen Sie jeden {{placeholder}} durch Ihre Informationen.

1. Folgen Sie weiterhin dem [ Verfahren zum ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) Erstellen einer Rolle mithilfe benutzerdefinierter Vertrauensrichtlinien (Konsole), um die Rolle zu erstellen.

### Richten Sie die Lake Formation-Berechtigungen ein
<a name="setup-lakeformation-permissions"></a>

Wenn Sie Ressourcen abfragen, die mit Lake Formation-Berechtigungen geschützt sind, muss die Servicerolle über die ** Zugriffsberechtigungen ** Select ** und ** Describe für die table/view /catalog- und ** ** Describe-Berechtigungen für die AWS Glue Datenbank verfügen. 

 Weitere Informationen finden Sie unter: 
+ [Verwenden Sie Athena, um Daten abzufragen, die AWS Lake Formation](https://docs.aws.amazon.com/athena/latest/ug/security-athena-lake-formation.html) im * Amazon Athena-Benutzerhandbuch registriert sind *
+ [Berechtigungen für die Einführung in Lake Formation finden Sie ](https://docs.aws.amazon.com/lake-formation/latest/dg/onboarding-lf-permissions.html) im Entwicklerhandbuch *AWS Lake Formation *



## Erstellen Sie eine Servicerolle zum Lesen von Daten aus Snowflake
<a name="create-service-role-third-party"></a>

AWS Clean Rooms verwendet eine Servicerolle, um Ihre Anmeldeinformationen abzurufen, damit Snowflake Ihre Daten aus dieser Quelle lesen kann.

Es gibt zwei Möglichkeiten, diese Servicerolle zu erstellen:
+ Wenn Sie über die erforderlichen IAM-Berechtigungen zum Erstellen einer Servicerolle verfügen, verwenden Sie die AWS Clean Rooms Konsole, um eine Servicerolle zu erstellen.
+ Wenn Sie keine `iam:AttachRolePolicy` Berechtigungen haben `iam:CreateRole` oder die IAM-Rollen manuell erstellen möchten, führen Sie einen der folgenden Schritte aus: `iam:CreatePolicy`
  + Gehen Sie wie folgt vor, um eine Servicerolle mithilfe benutzerdefinierter Vertrauensrichtlinien zu erstellen.
  + Bitten Sie Ihren Administrator, die Servicerolle mithilfe des folgenden Verfahrens zu erstellen.

**Anmerkung**  
Sie oder Ihr IAM-Administrator sollten dieses Verfahren nur befolgen, wenn Sie nicht über die erforderlichen Berechtigungen verfügen, um mithilfe der AWS Clean Rooms Konsole eine Servicerolle zu erstellen.

**Um mithilfe benutzerdefinierter Vertrauensrichtlinien eine Servicerolle zum Lesen von Daten aus Snowflake zu erstellen**

1. Erstellen Sie eine Rolle mithilfe benutzerdefinierter Vertrauensrichtlinien. Weitere Informationen finden Sie unter dem [ Verfahren ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) Erstellen einer Rolle mithilfe benutzerdefinierter Vertrauensrichtlinien (Konsole) im *AWS Identity and Access Management Benutzerhandbuch*.

1. Verwenden Sie die folgende benutzerdefinierte Vertrauensrichtlinie gemäß dem [ Verfahren ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) Erstellen einer Rolle mithilfe benutzerdefinierter Vertrauensrichtlinien (Konsole).
**Anmerkung**  
Wenn Sie sicherstellen möchten, dass die Rolle nur im Kontext einer bestimmten Kollaborationsmitgliedschaft verwendet wird, können Sie die Vertrauensrichtlinie weiter einschränken. Weitere Informationen finden Sie unter [Cross-service verwirrt, stellvertretender Vertreter der Prävention](cross-service-confused-deputy-prevention.md).

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "AllowIfSourceArnMatches",
               "Effect": "Allow",
               "Principal": {
                   "Service": "cleanrooms.amazonaws.com"
               },
               "Action": "sts:AssumeRole",
               "Condition": {
                   "ForAnyValue:ArnEquals": {
                       "aws:SourceArn": [
                           "arn:aws:cleanrooms:{{us-east-1}}:{{111122223333}}:membership/{{membershipId}}",
                           "arn:aws:cleanrooms:{{us-east-1}}:{{444455556666}}:membership/{{queryRunnerMembershipId}}"
                       ]
                   }
               }
           }
       ]
   }
   ```

------
**Anmerkung**  
Diese Vertrauensrichtlinie verweist auf zwei verschiedene AWS-Konto IDs, um eine AWS Clean Rooms Zusammenarbeit zu unterstützen, bei der die Zuständigkeiten für die Ausführung von Abfragen auf mehrere Parteien verteilt sind:  
**111122223333 ** — Dies ist das Konto, das eine an der Zusammenarbeit teilnehmende Mitgliedschaft enthält. Diese Mitgliedschaft kann Datentabellen, Analyseregeln oder andere Ressourcen für die Zusammenarbeit besitzen, für die Rollenzugriff erforderlich ist.
**444455556666 ** — Dies ist das Konto, das die Mitgliedschaft enthält, die für die Ausführung von Abfragen verantwortlich ist (der „Query Runner“). Diese Mitgliedschaft führt geschützte Abfragen aus und muss diese Rolle übernehmen, um auf die erforderlichen Rechen- und Datenressourcen zugreifen zu können.
Diese Konfiguration ermöglicht Szenarien, in denen eine Partei Daten oder Analysevorlagen bereitstellt, während eine andere Partei die eigentlichen Abfragen ausführt. Für beide Rollen sind unterschiedliche, sich jedoch ergänzende Berechtigungen über dieselbe Ausführungsrolle erforderlich. Die `aws:SourceArn` Bedingung stellt sicher, dass nur AWS Clean Rooms Operationen, die aus diesen beiden spezifischen Mitgliedschaften stammen, die Rolle übernehmen können. Dadurch wird die Sicherheit gewährleistet und gleichzeitig der Arbeitsablauf für die verteilte Auftragsausführung und das Ergebnismanagement unterstützt.

1. Verwenden Sie eine der folgenden Berechtigungsrichtlinien gemäß dem [ Verfahren ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) Erstellen einer Rolle mithilfe benutzerdefinierter Vertrauensrichtlinien (Konsole).

   **Berechtigungsrichtlinie für Geheimnisse, die mit einem kundeneigenen KMS-Schlüssel verschlüsselt wurden **

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Action": "secretsmanager:GetSecretValue",
               "Resource": "arn:aws:secretsmanager:{{us-east-1}}:{{111122223333}}:secret:{{secretIdentifier}}",
               "Effect": "Allow"
           },
           {
               "Sid": "AllowDecryptViaSecretsManagerForKey",
               "Action": "kms:Decrypt",
               "Resource": "arn:aws:kms:{{us-east-1}}:{{444455556666}}:key/{{keyIdentifier}}",
               "Effect": "Allow",
               "Condition": {
                   "StringEquals": {
                       "kms:ViaService": "secretsmanager.{{us-east-1}}.amazonaws.com",
                       "kms:EncryptionContext:SecretARN": "arn:aws:secretsmanager:{{us-east-1}}:{{111122223333}}:secret:{{secretIdentifier}}"
                   }
               }
           }
       ]
   }
   ```

------
**Anmerkung**  
Diese Richtlinie verweist auf zwei verschiedene AWS-Konto IDs, um ein kontoübergreifendes Szenario zur Verwaltung von Geheimnissen zu unterstützen:  
**111122223333 ** — Dies ist das Konto, dem das Geheimnis gehört und in dem es gespeichert ist. Die erste Anweisung erteilt die Erlaubnis, den geheimen Wert von diesem Konto abzurufen.
**444455556666 ** — Dies ist das Konto, dem der AWS KMS Schlüssel gehört, der zum Verschlüsseln des Geheimnisses verwendet wurde. Die zweite Anweisung erteilt die Erlaubnis, das Geheimnis mithilfe des Schlüssels aus diesem Konto zu entschlüsseln. AWS KMS 
Diese Konfiguration ist in Unternehmensumgebungen üblich, in denen:  
Geheimnisse werden zentral in einem Konto verwaltet (Konto 1)
Verschlüsselungsschlüssel werden über ein separates Sicherheits- oder Shared-Services-Konto verwaltet (Konto 2)
Die AWS KMS Schlüsselrichtlinie in Konto 2 muss es auch dem Dienst in Konto 1 ermöglichen, den Schlüssel für encryption/decryption Operationen zu verwenden
Diese `kms:EncryptionContext:SecretARN` Bedingung stellt sicher, dass der AWS KMS Schlüssel nur zur Entschlüsselung dieses speziellen Geheimnisses verwendet werden kann, was eine zusätzliche Sicherheitsebene für den kontoübergreifenden Zugriff bietet.

   **Berechtigungsrichtlinie für Geheimnisse, die mit einem verschlüsselt sind Von AWS verwalteter Schlüssel**

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Action": "secretsmanager:GetSecretValue",
               "Resource": "arn:aws:secretsmanager:{{us-east-1}}:{{111122223333}}:secret:{{secretIdentifier}}",
               "Effect": "Allow"
           }
       ]
   }
   ```

------

1. Ersetzen Sie jeden {{placeholder}} durch Ihre Informationen.

1. Folgen Sie weiterhin dem [ Verfahren zum ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) Erstellen einer Rolle mithilfe benutzerdefinierter Vertrauensrichtlinien (Konsole), um die Rolle zu erstellen.

## Erstellen Sie eine Servicerolle, um Code aus einem S3-Bucket zu lesen (PySpark Analysevorlagenrolle)
<a name="create-role-pyspark-analysis-template"></a>

AWS Clean Rooms verwendet eine Servicerolle, um Code aus dem angegebenen S3-Bucket eines Kollaborationsmitglieds zu lesen, wenn eine PySpark Analysevorlage verwendet wird. 

**Um eine Servicerolle zum Lesen von Code aus einem S3-Bucket zu erstellen**

1. Erstellen Sie eine Rolle mithilfe benutzerdefinierter Vertrauensrichtlinien. Weitere Informationen finden Sie unter dem [ Verfahren ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) Erstellen einer Rolle mithilfe benutzerdefinierter Vertrauensrichtlinien (Konsole) im *AWS Identity and Access Management Benutzerhandbuch*.

1. Verwenden Sie die folgende benutzerdefinierte Vertrauensrichtlinie gemäß dem [ Verfahren ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) Erstellen einer Rolle mithilfe benutzerdefinierter Vertrauensrichtlinien (Konsole).

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": "cleanrooms.amazonaws.com"
               },
               "Action": "sts:AssumeRole",
               "Condition": {
                   "ForAnyValue:ArnEquals": {
                       "aws:SourceArn": [
                           "arn:aws:cleanrooms:{{us-east-1}}:{{111122223333}}:membership/{{jobRunnerMembershipId}}",
                           "arn:aws:cleanrooms:{{us-east-1}}:{{444455556666}}:membership/{{analysisTemplateOwnerMembershipId}}"
                       ]
                   }
               }
           }
       ]
   }
   ```

------
**Anmerkung**  
Diese Vertrauensrichtlinie verweist auf zwei verschiedene AWS-Konto IDs, um ein Szenario der AWS Clean Rooms Zusammenarbeit mehrerer Parteien zu unterstützen:  
**111122223333 ** — Dies ist das Konto, das die Mitglieder enthält, die für die Ausführung von Abfragen verantwortlich sind (der „Job Runner“). Diese Mitgliedschaft führt die Analysejobs aus und muss diese Rolle übernehmen, um auf die erforderlichen Ressourcen zugreifen zu können.
**444455556666 ** — Dies ist das Konto, dem die Analysevorlage und die zugehörige Mitgliedschaft gehören (der „Besitzer der Analysevorlage“). Diese Mitgliedschaft definiert, welche Abfragen ausgeführt werden können. Außerdem muss sie diese Rolle übernehmen, um die Analyse zu verwalten und auszuführen.
Diese Konfiguration ist typisch für AWS Clean Rooms Kollaborationen, bei denen mehrere Parteien an derselben Kollaboration teilnehmen, jede mit ihrer eigenen AWS-Konto UND-Mitgliedschaft. Sowohl der Abfrage-Executor als auch der Besitzer der Analysevorlage benötigen Zugriff auf gemeinsam genutzte Ressourcen. Die `aws:SourceArn` Bedingung stellt sicher, dass nur AWS Clean Rooms Operationen, die aus diesen beiden spezifischen Mitgliedschaften stammen, die Rolle übernehmen können, sodass eine präzise Zugriffskontrolle für die Zusammenarbeit zwischen mehreren Parteien gewährleistet ist.

1. Verwenden Sie die folgende Berechtigungsrichtlinie gemäß dem Verfahren [ Erstellen einer Rolle mithilfe benutzerdefinierter Vertrauensrichtlinien (Konsole)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html).
**Anmerkung**  
Die folgende Beispielrichtlinie unterstützt die Berechtigungen, die zum Lesen Ihres Codes aus Amazon S3 erforderlich sind. Je nachdem, wie Sie Ihre S3-Daten eingerichtet haben, müssen Sie diese Richtlinie jedoch möglicherweise ändern.  
Ihre Amazon S3-Ressourcen müssen mit denen der AWS Clean Rooms Zusammenarbeit AWS-Region identisch sein.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "s3:GetObject",
                   "s3:GetObjectVersion"
               ],
               "Resource": ["arn:aws:s3:::{{s3Path}}"],
               "Condition":{
                   "StringEquals":{
                       "s3:ResourceAccount":[
                           "{{s3BucketOwnerAccountId}}"
                       ]
                   }
               }
           }
       ]
   }
   ```

------

1. Ersetzen Sie jede {{placeholder}} durch Ihre eigenen Informationen:
   + {{s3Path}}— Der S3-Bucket-Speicherort Ihres Codes.
   + {{s3BucketOwnerAccountId}}— Die AWS-Konto ID des S3-Bucket-Besitzers.
   + {{region}} – Der Name des AWS-Region. Beispiel, **us-east-1**.
   + {{jobRunnerAccountId}}— Die AWS-Konto ID des Mitglieds, das Abfragen und Jobs ausführen kann.
   + {{jobRunnerMembershipId}}— Die ** Mitglieds-ID ** des Mitglieds, das Jobs abfragen und ausführen kann. Die ** Mitglieds-ID ** finden Sie auf der ** Registerkarte „**Details“ der Zusammenarbeit. Dadurch AWS Clean Rooms wird sichergestellt, dass die Rolle nur übernommen wird, wenn dieses Mitglied die Analyse in dieser Kollaboration durchführt.
   + {{analysisTemplateAccountId}}— Die AWS-Konto ID der Analysevorlage.
   + {{analysisTemplateOwnerMembershipId}}— Die ** Mitglieds-ID ** des Mitglieds, dem die Analysevorlage gehört. Die ** Mitglieds-ID ** finden Sie auf der ** Registerkarte „**Details“ der Zusammenarbeit.

1. Folgen Sie weiterhin dem [ Verfahren zum ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) Erstellen einer Rolle mithilfe benutzerdefinierter Vertrauensrichtlinien (Konsole), um die Rolle zu erstellen.

## Erstellen Sie eine Servicerolle, um die Ergebnisse eines PySpark Jobs zu schreiben
<a name="create-role-pyspark-job"></a>

AWS Clean Rooms verwendet eine Servicerolle, um die Ergebnisse eines PySpark Jobs in einen angegebenen S3-Bucket zu schreiben. 

**Um eine Servicerolle zu erstellen, um die Ergebnisse eines PySpark Jobs zu schreiben**

1. Erstellen Sie eine Rolle mithilfe benutzerdefinierter Vertrauensrichtlinien. Weitere Informationen finden Sie unter dem [ Verfahren ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) Erstellen einer Rolle mithilfe benutzerdefinierter Vertrauensrichtlinien (Konsole) im *AWS Identity and Access Management Benutzerhandbuch*.

1. Verwenden Sie die folgende benutzerdefinierte Vertrauensrichtlinie gemäß dem [ Verfahren ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) Erstellen einer Rolle mithilfe benutzerdefinierter Vertrauensrichtlinien (Konsole).

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": "cleanrooms.amazonaws.com"
               },
               "Action": "sts:AssumeRole",
               "Condition": {
                   "ForAnyValue:ArnEquals": {
                       "aws:SourceArn": [
                           "arn:aws:cleanrooms:{{us-east-1}}:{{111122223333}}:membership/{{jobRunnerMembershipId}}",
                           "arn:aws:cleanrooms:{{us-east-1}}:{{444455556666}}:membership/{{rrMembershipId}}"
                       ]
                   }
               }
           }
       ]
   }
   ```

------
**Anmerkung**  
Diese Vertrauensrichtlinie verweist auf zwei verschiedene AWS-Konto IDs, um eine AWS Clean Rooms Zusammenarbeit mit unterschiedlichen betrieblichen Rollen zu unterstützen:  
**111122223333 ** — Dies ist das Konto, das die Mitglieder enthält, die für die Ausführung von Analysejobs verantwortlich sind (der „Job-Runner“). Diese Mitgliedschaft führt die Rechenlasten aus und muss diese Rolle übernehmen, um auf Verarbeitungsressourcen zugreifen zu können.
**444455556666 ** — Dies ist das Konto, das die Mitglieder enthält, die für den Ergebnisempfänger (RR) zuständig sind. Dieses Mitglied ist berechtigt, die Ergebnisse von Analyseaufträgen zu empfangen und darauf zuzugreifen. Sie benötigt Rollenzugriff, um Ergebnisse an bestimmte Stellen zu schreiben.
Diese Konfiguration ermöglicht AWS Clean Rooms Szenarien, in denen eine Partei die rechnerische Analyse durchführt, während eine andere Partei die Ergebnisse empfängt und verwaltet. Für beide Rollen sind unterschiedliche, sich jedoch ergänzende Berechtigungen über dieselbe Ausführungsrolle erforderlich. Die `aws:SourceArn` Bedingung stellt sicher, dass nur AWS Clean Rooms Operationen, die aus diesen beiden spezifischen Mitgliedschaften stammen, die Rolle übernehmen können. Dadurch wird die Sicherheit gewährleistet und gleichzeitig der Arbeitsablauf für die verteilte Auftragsausführung und das Ergebnismanagement unterstützt.

1. Verwenden Sie die folgende Berechtigungsrichtlinie gemäß dem [ Verfahren ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) Erstellen einer Rolle mithilfe benutzerdefinierter Vertrauensrichtlinien (Konsole).
**Anmerkung**  
Die folgende Beispielrichtlinie unterstützt die Berechtigungen, die zum Schreiben in Amazon S3 erforderlich sind. Je nachdem, wie Sie S3 eingerichtet haben, müssen Sie diese Richtlinie jedoch möglicherweise ändern.  
Ihre Amazon S3-Ressourcen müssen mit denen der AWS Clean Rooms Zusammenarbeit AWS-Region identisch sein.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "s3:PutObject"
               ],
               "Resource": "arn:aws:s3:::{{bucket/optionalPrefix/*}}",
               "Condition":{
                   "StringEquals":{
                       "s3:ResourceAccount":[
                           "{{s3BucketOwnerAccountId}}"
                       ]
                   }
               }
           },
           {
               "Effect": "Allow",
               "Action": [
                   "s3:GetBucketLocation",
                   "s3:ListBucket"
               ],
               "Resource": "arn:aws:s3:::{{bucket}}",
               "Condition":{
                   "StringEquals":{
                       "s3:ResourceAccount":[
                           "{{s3BucketOwnerAccountId}}"
                       ]
                   }
               }
           }
       ]
   }
   ```

------

1. Ersetzen Sie jede {{placeholder}} durch Ihre eigenen Informationen:
   + {{region}} – Der Name des AWS-Region. Beispiel, **us-east-1**.
   + {{jobRunnerAccountId}}— Die AWS-Konto ID, in der sich der S3-Bucket befindet.
   + {{jobRunnerMembershipId}}— Die ** Mitglieds-ID ** des Mitglieds, das Jobs abfragen und ausführen kann. Die ** Mitglieds-ID ** finden Sie auf der ** Registerkarte „**Details“ der Zusammenarbeit. Dadurch AWS Clean Rooms wird sichergestellt, dass die Rolle nur übernommen wird, wenn dieses Mitglied die Analyse in dieser Kollaboration durchführt.
   + {{rrAccountId}}— Die AWS-Konto ID, in der sich der S3-Bucket befindet.
   + {{rrMembershipId}}— Die ** Mitglieds-ID ** des Mitglieds, das Ergebnisse erhalten kann. Die ** Mitglieds-ID ** finden Sie auf der ** Registerkarte „**Details“ der Zusammenarbeit. Dadurch AWS Clean Rooms wird sichergestellt, dass die Rolle nur übernommen wird, wenn dieses Mitglied die Analyse in dieser Kollaboration durchführt.
   + {{bucket}}— Der Name und der Speicherort des S3-Buckets.
   + {{optionalPrefix}}— Ein optionales Präfix, wenn Sie Ihre Ergebnisse unter einem bestimmten S3-Präfix speichern möchten.
   + {{s3BucketOwnerAccountId}}— Die AWS-Konto ID des S3-Bucket-Besitzers.

1. Folgen Sie weiterhin dem [ Verfahren ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) Erstellen einer Rolle mithilfe benutzerdefinierter Vertrauensrichtlinien (Konsole), um die Rolle zu erstellen.

## Erstellen Sie eine Servicerolle, um Ergebnisse zu erhalten
<a name="create-role-write-results"></a>

**Anmerkung**  
Gehen Sie wie folgt vor, wenn Sie das Mitglied sind, das nur Ergebnisse erhalten kann (in der Konsole ** ist ** Ihre Mitgliederfähigkeit die Option Nur Ergebnisse ** empfangen**).  
Wenn Sie ein Mitglied sind, das Ergebnisse sowohl abfragen als auch empfangen kann (in der Konsole sind ** Ihre Mitgliedsfunktionen ** sowohl Ergebnisse ** abfragen ** als auch Ergebnisse ** empfangen**), können Sie dieses Verfahren überspringen.

 AWS Clean Rooms Verwendet für Kollaborationsmitglieder, die nur Ergebnisse empfangen können, eine Servicerolle, um Ergebnisse der in der Kollaboration abgefragten Daten in den angegebenen S3-Bucket zu schreiben. 

Es gibt zwei Möglichkeiten, diese Servicerolle zu erstellen:
+ Wenn Sie über die erforderlichen IAM-Berechtigungen zum Erstellen einer Servicerolle verfügen, verwenden Sie die AWS Clean Rooms Konsole, um eine Servicerolle zu erstellen.
+ Wenn Sie keine `iam:AttachRolePolicy` Berechtigungen haben `iam:CreateRole` oder die IAM-Rollen manuell erstellen möchten, führen Sie einen der folgenden Schritte aus: `iam:CreatePolicy`
  + Gehen Sie wie folgt vor, um eine Servicerolle mithilfe benutzerdefinierter Vertrauensrichtlinien zu erstellen.
  + Bitten Sie Ihren Administrator, die Servicerolle mithilfe des folgenden Verfahrens zu erstellen.

**Anmerkung**  
Sie oder Ihr IAM-Administrator sollten dieses Verfahren nur befolgen, wenn Sie nicht über die erforderlichen Berechtigungen verfügen, um mithilfe der AWS Clean Rooms Konsole eine Servicerolle zu erstellen.

**So erstellen Sie eine Servicerolle, um mithilfe benutzerdefinierter Vertrauensrichtlinien Ergebnisse zu erhalten**

1. Erstellen Sie eine Rolle mithilfe benutzerdefinierter Vertrauensrichtlinien. Weitere Informationen finden Sie unter dem [ Verfahren ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) Erstellen einer Rolle mithilfe benutzerdefinierter Vertrauensrichtlinien (Konsole) im *AWS Identity and Access Management Benutzerhandbuch*.

1. Verwenden Sie die folgende benutzerdefinierte Vertrauensrichtlinie gemäß dem [ Verfahren ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) Erstellen einer Rolle mithilfe benutzerdefinierter Vertrauensrichtlinien (Konsole).

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "AllowIfExternalIdMatches",
               "Effect": "Allow",
               "Principal": {
                   "Service": "cleanrooms.amazonaws.com"
               },
               "Action": "sts:AssumeRole",
               "Condition": {
                   "ArnLike": {
                       "sts:ExternalId": "arn:aws:*:{{region}}:*:dbuser:*/{{a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa}}*"
                   }
               }
           },
           {
               "Sid": "AllowIfSourceArnMatches",
               "Effect": "Allow",
               "Principal": {
                   "Service": "cleanrooms.amazonaws.com"
               },
               "Action": "sts:AssumeRole",
               "Condition": {
                   "ForAnyValue:ArnEquals": {
                       "aws:SourceArn": [
                           "{{arn:aws:cleanrooms:us-east-1:555555555555:membership/a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa}}"
                       ]
                   
                   }
               }
           }
       ]
   }
   ```

------

1. Verwenden Sie die folgende Berechtigungsrichtlinie gemäß dem [ Verfahren ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) Erstellen einer Rolle mithilfe benutzerdefinierter Vertrauensrichtlinien (Konsole).
**Anmerkung**  
Die folgende Beispielrichtlinie unterstützt die Berechtigungen, die zum Lesen von AWS Glue Metadaten und den entsprechenden Amazon S3-Daten erforderlich sind. Je nachdem, wie Sie Ihre S3-Daten eingerichtet haben, müssen Sie diese Richtlinie jedoch möglicherweise ändern.  
Ihre AWS Glue Ressourcen und die zugrunde liegenden Amazon S3-Ressourcen müssen mit der AWS Clean Rooms Zusammenarbeit AWS-Region identisch sein.

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

****  

   ```
   {
   
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "s3:GetBucketLocation", 
                   "s3:ListBucket"
               ],
               "Resource": [
                   "arn:aws:s3:::{{bucket_name}}"
               ],
               "Condition": {
                   "StringEquals": {
                       "aws:ResourceAccount":"{{accountId}}"
                   }
               }
           },
           {
               "Effect": "Allow",
               "Action": [
                   "s3:PutObject"
               ],
               "Resource": [
                   "arn:aws:s3:::{{bucket_name/optional_key_prefix/*}}"
               ],
               "Condition": {
                   "StringEquals": {
                       "aws:ResourceAccount":"{{accountId}}"
                   }
               }
           }
       ]
   }
   ```

------

1. Ersetzen Sie jede {{placeholder}} durch Ihre eigenen Informationen:
   + {{region}} – Der Name des AWS-Region. Beispiel, **us-east-1**.
   + {{a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa}}— Die ** Mitglieds-ID ** des Mitglieds, das eine Anfrage stellen kann. Die ** Mitglieds-ID ** finden Sie auf der ** Registerkarte „**Details“ der Zusammenarbeit. Dadurch AWS Clean Rooms wird sichergestellt, dass die Rolle nur übernommen wird, wenn dieses Mitglied die Analyse in dieser Kollaboration durchführt.
   + {{arn:aws:cleanrooms:us-east-1:555555555555:membership/a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa}}— Die einzelne ** Mitgliedschafts-ARN ** des Mitglieds, das Abfragen durchführen kann. Den ** Mitgliedschafts-ARN ** finden Sie auf der ** Registerkarte „**Details“ der Zusammenarbeit. Dadurch AWS Clean Rooms wird sichergestellt, dass die Rolle nur übernommen wird, wenn dieses Mitglied die Analyse in dieser Zusammenarbeit durchführt.
   + {{bucket\_name}}— Der ** Amazon-Ressourcenname (ARN) ** des S3-Buckets. Den ** Amazon-Ressourcennamen (ARN) ** finden Sie auf der ** Registerkarte „**Eigenschaften“ des Buckets in Amazon S3.
   + {{accountId}}— Die AWS-Konto ID, in der sich der S3-Bucket befindet.

     {{bucket\_name/optional\_key\_prefix}}— Der ** Amazon-Ressourcenname (ARN) ** des Ergebnisziels in Amazon S3. Den ** Amazon-Ressourcennamen (ARN) ** finden Sie auf der ** Registerkarte „**Eigenschaften“ des Buckets in Amazon S3.

1. Folgen Sie weiterhin dem [ Verfahren zum ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) Erstellen einer Rolle mithilfe benutzerdefinierter Vertrauensrichtlinien (Konsole), um die Rolle zu erstellen.