

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Siapkan peran layanan untuk AWS Clean Rooms
<a name="setting-up-roles"></a>

Bagian berikut menjelaskan peran yang diperlukan untuk melakukan setiap tugas.

**Topics**
+ [Buat pengguna administrator](#setting-up-create-iam-user)
+ [Buat peran IAM untuk anggota kolaborasi](#create-role-DP)
+ [Membuat peran layanan untuk membaca data dari Amazon S3](#create-service-role-procedure)
+ [Membuat peran layanan untuk membaca data dari Amazon Athena](#create-service-role-athena)
+ [Buat peran layanan untuk membaca data dari Snowflake](#create-service-role-third-party)
+ [Buat peran layanan untuk membaca kode dari bucket S3 (peran template PySpark analisis)](#create-role-pyspark-analysis-template)
+ [Buat peran layanan untuk menulis hasil PySpark pekerjaan](#create-role-pyspark-job)
+ [Buat peran layanan untuk menerima hasil](#create-role-write-results)

## Buat pengguna administrator
<a name="setting-up-create-iam-user"></a>

Untuk menggunakannya AWS Clean Rooms, Anda perlu membuat pengguna administrator untuk diri sendiri dan menambahkan pengguna administrator ke grup administrator.

Untuk membuat pengguna administrator, pilih salah satu opsi berikut.


****  

| Pilih salah satu cara untuk mengelola administrator Anda | Untuk | Oleh | Anda juga bisa | 
| --- | --- | --- | --- | 
| Di Pusat Identitas IAM (Direkomendasikan) | Gunakan kredensi jangka pendek untuk mengakses. AWSIni sejalan dengan praktik terbaik keamanan. Untuk informasi tentang praktik terbaik, lihat [Praktik terbaik keamanan di IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp) di *Panduan Pengguna IAM*. | Mengikuti petunjuk di [Memulai](https://docs.aws.amazon.com//singlesignon/latest/userguide/getting-started.html) di Panduan AWS IAM Identity Center Pengguna. | Konfigurasikan akses terprogram dengan [Mengonfigurasi AWS CLI yang akan digunakan AWS IAM Identity Center](https://docs.aws.amazon.com//cli/latest/userguide/cli-configure-sso.html) dalam AWS Command Line Interface Panduan Pengguna. | 
| Di IAM (Tidak direkomendasikan) | Gunakan kredensi jangka panjang untuk mengakses. AWS | Mengikuti petunjuk di [Buat pengguna IAM untuk akses darurat](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started-emergency-iam-user.html) di Panduan Pengguna IAM. | Konfigurasikan akses terprogram dengan [Mengelola kunci akses untuk pengguna IAM di Panduan Pengguna](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_credentials_access-keys.html) IAM. | 

## Buat peran IAM untuk anggota kolaborasi
<a name="create-role-DP"></a>

Anggota adalah AWS pelanggan yang merupakan peserta dalam kolaborasi. 

**Untuk membuat peran IAM untuk anggota kolaborasi**

1. *Ikuti [Membuat peran untuk mendelegasikan izin ke prosedur pengguna IAM di Panduan Pengguna](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html).AWS Identity and Access Management *

1. Untuk langkah **Buat kebijakan**, pilih tab **JSON** di **editor Kebijakan**, lalu tambahkan kebijakan tergantung pada kemampuan yang diberikan kepada anggota kolaborasi. 

   AWS Clean Rooms menawarkan kebijakan terkelola berikut berdasarkan kasus penggunaan umum.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/clean-rooms/latest/userguide/setting-up-roles.html)

   Untuk informasi tentang berbagai kebijakan terkelola yang ditawarkan oleh AWS Clean Rooms, lihat[AWS kebijakan terkelola untuk AWS Clean Rooms](security-iam-awsmanpol.md),

## Membuat peran layanan untuk membaca data dari Amazon S3
<a name="create-service-role-procedure"></a>

AWS Clean Rooms menggunakan peran layanan untuk membaca data dari Amazon S3. 

Ada dua cara untuk membuat peran layanan ini.
+ Jika Anda memiliki izin IAM yang diperlukan untuk membuat peran layanan, gunakan AWS Clean Rooms konsol untuk membuat peran layanan.
+ Jika Anda tidak memiliki`iam:CreateRole`, `iam:CreatePolicy` dan `iam:AttachRolePolicy` izin atau ingin membuat peran IAM secara manual, lakukan salah satu hal berikut:
  + Gunakan prosedur berikut untuk membuat peran layanan menggunakan kebijakan kepercayaan khusus.
  + Minta administrator Anda untuk membuat peran layanan menggunakan prosedur berikut.

**catatan**  
Anda atau administrator IAM Anda harus mengikuti prosedur ini hanya jika Anda tidak memiliki izin yang diperlukan untuk membuat peran layanan menggunakan konsol. AWS Clean Rooms 

**Untuk membuat peran layanan untuk membaca data dari Amazon S3 menggunakan kebijakan kepercayaan khusus**

1. Buat peran menggunakan kebijakan kepercayaan khusus. Untuk informasi selengkapnya, lihat prosedur [Membuat peran menggunakan kebijakan kepercayaan kustom (konsol)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) di *Panduan AWS Identity and Access Management Pengguna*.

1. Gunakan kebijakan kepercayaan kustom berikut sesuai dengan prosedur [Membuat peran menggunakan kebijakan kepercayaan kustom (konsol)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html).
**catatan**  
Jika Anda ingin membantu memastikan bahwa peran tersebut hanya digunakan dalam konteks keanggotaan kolaborasi tertentu, Anda dapat meringkas kebijakan kepercayaan lebih lanjut. Untuk informasi selengkapnya, lihat [Pencegahan "confused deputy" lintas layanan](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. Gunakan kebijakan izin berikut sesuai dengan prosedur [Membuat peran menggunakan kebijakan kepercayaan kustom (konsol)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html).
**catatan**  
Kebijakan contoh berikut mendukung izin yang diperlukan untuk membaca AWS Glue metadata dan data Amazon S3 yang sesuai. Namun, Anda mungkin perlu mengubah kebijakan ini tergantung pada cara Anda mengatur data Amazon S3 Anda. Misalnya, jika Anda telah menyiapkan kunci KMS khusus untuk data Amazon S3, Anda mungkin perlu mengubah kebijakan ini dengan izin AWS Key Management Service tambahan AWS KMS().  
 AWS Glue Sumber daya Anda dan sumber daya Amazon S3 yang mendasarinya harus Wilayah AWS sama dengan kolaborasi. AWS Clean Rooms 

------
#### [ 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"
                       ]
                   }
               }
           }
       ]
   }
   ```

------
**catatan**  
Kebijakan ini mereferensikan dua hal yang berbeda Akun AWS IDs untuk mendukung AWS Clean Rooms kolaborasi dimana metadata katalog data dan penyimpanan data aktual dikelola oleh berbagai pihak:  
**111122223333** - Ini adalah akun yang memiliki sumber daya Katalog AWS Glue Data (database, tabel, dan katalog). Pernyataan pertama memberikan izin untuk mengakses skema tabel, informasi partisi, dan metadata dari katalog akun ini. AWS Glue 
**444455556666** - Ini adalah akun yang memiliki bucket Amazon S3 yang berisi file data aktual. Izin Amazon S3 (pernyataan 3 dan 4) dibatasi untuk bucket yang dimiliki oleh akun ini melalui kondisi tersebut. `s3:ResourceAccount`
Konfigurasi ini mendukung arsitektur data perusahaan umum di mana satu tim mengelola katalog data dan definisi skema sementara tim lain memiliki infrastruktur penyimpanan data yang mendasarinya. `s3:ResourceAccount`Kondisi ini memberikan lapisan keamanan tambahan dengan memastikan operasi Amazon S3 hanya berfungsi pada bucket yang dimiliki oleh akun yang ditunjuk.

1. Ganti masing-masing *placeholder* dengan informasi Anda sendiri.

1. Terus ikuti prosedur [Membuat peran menggunakan kebijakan kepercayaan khusus (konsol)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) untuk membuat peran.

## Membuat peran layanan untuk membaca data dari Amazon Athena
<a name="create-service-role-athena"></a>

AWS Clean Rooms menggunakan peran layanan untuk membaca data dari Amazon Athena. 

**Untuk membuat peran layanan untuk membaca data dari Athena menggunakan kebijakan kepercayaan khusus**

1. Buat peran menggunakan kebijakan kepercayaan khusus. Untuk informasi selengkapnya, lihat prosedur [Membuat peran menggunakan kebijakan kepercayaan kustom (konsol)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) di *Panduan AWS Identity and Access Management Pengguna*.

1. Gunakan kebijakan kepercayaan kustom berikut sesuai dengan prosedur [Membuat peran menggunakan kebijakan kepercayaan kustom (konsol)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html).
**catatan**  
Jika Anda ingin membantu memastikan bahwa peran tersebut hanya digunakan dalam konteks keanggotaan kolaborasi tertentu, Anda dapat meringkas kebijakan kepercayaan lebih lanjut. Untuk informasi selengkapnya, lihat [Pencegahan "confused deputy" lintas layanan](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. Gunakan kebijakan izin berikut sesuai dengan prosedur [Membuat peran menggunakan kebijakan kepercayaan kustom (konsol)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html).
**catatan**  
Kebijakan contoh berikut mendukung izin yang diperlukan untuk membaca AWS Glue metadata dan data Athena yang terkait. Namun, Anda mungkin perlu mengubah kebijakan ini tergantung pada cara Anda mengatur data Amazon S3 Anda. Misalnya, jika Anda telah menyiapkan kunci KMS khusus untuk data Amazon S3, Anda mungkin perlu mengubah kebijakan ini dengan izin tambahan. AWS KMS 

   ```
   {
       "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. Ganti masing-masing *placeholder* dengan informasi Anda sendiri.

1. Terus ikuti prosedur [Membuat peran menggunakan kebijakan kepercayaan khusus (konsol)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) untuk membuat peran.

### Siapkan izin Lake Formation
<a name="setup-lakeformation-permissions"></a>

Jika Anda meminta sumber daya yang dilindungi dengan izin Lake Formation, peran layanan harus memiliki izin akses **Pilih** dan **Jelaskan** pada izin table/view/catalog dan **Jelaskan** pada database. AWS Glue 

Untuk informasi lebih lanjut, lihat: 
+ [Gunakan Athena untuk menanyakan data yang terdaftar AWS Lake Formation](https://docs.aws.amazon.com/athena/latest/ug/security-athena-lake-formation.html) di Panduan Pengguna *Amazon Athena*
+ [Izin orientasi ke Lake Formation](https://docs.aws.amazon.com/lake-formation/latest/dg/onboarding-lf-permissions.html) *di Panduan Pengembang AWS Lake Formation *



## Buat peran layanan untuk membaca data dari Snowflake
<a name="create-service-role-third-party"></a>

AWS Clean Rooms menggunakan peran layanan untuk mengambil kredensil Anda untuk Snowflake untuk membaca data Anda dari sumber ini.

Ada dua cara untuk membuat peran layanan ini:
+ Jika Anda memiliki izin IAM yang diperlukan untuk membuat peran layanan, gunakan AWS Clean Rooms konsol untuk membuat peran layanan.
+ Jika Anda tidak memiliki`iam:CreateRole`, `iam:CreatePolicy` dan `iam:AttachRolePolicy` izin atau ingin membuat peran IAM secara manual, lakukan salah satu hal berikut:
  + Gunakan prosedur berikut untuk membuat peran layanan menggunakan kebijakan kepercayaan khusus.
  + Minta administrator Anda untuk membuat peran layanan menggunakan prosedur berikut.

**catatan**  
Anda atau administrator IAM Anda harus mengikuti prosedur ini hanya jika Anda tidak memiliki izin yang diperlukan untuk membuat peran layanan menggunakan konsol. AWS Clean Rooms 

**Untuk membuat peran layanan untuk membaca data dari Snowflake menggunakan kebijakan kepercayaan khusus**

1. Buat peran menggunakan kebijakan kepercayaan khusus. Untuk informasi selengkapnya, lihat prosedur [Membuat peran menggunakan kebijakan kepercayaan kustom (konsol)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) di *Panduan AWS Identity and Access Management Pengguna*.

1. Gunakan kebijakan kepercayaan kustom berikut sesuai dengan prosedur [Membuat peran menggunakan kebijakan kepercayaan kustom (konsol)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html).
**catatan**  
Jika Anda ingin membantu memastikan bahwa peran tersebut hanya digunakan dalam konteks keanggotaan kolaborasi tertentu, Anda dapat meringkas kebijakan kepercayaan lebih lanjut. Untuk informasi selengkapnya, lihat [Pencegahan "confused deputy" lintas layanan](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"
                       ]
                   }
               }
           }
       ]
   }
   ```

------
**catatan**  
Kebijakan kepercayaan ini mereferensikan dua hal yang berbeda Akun AWS IDs untuk mendukung AWS Clean Rooms kolaborasi di mana tanggung jawab eksekusi kueri didistribusikan ke berbagai pihak:  
**111122223333** - Ini adalah akun yang berisi keanggotaan yang berpartisipasi dalam kolaborasi. Keanggotaan ini dapat memiliki tabel data, aturan analisis, atau sumber kolaborasi lainnya yang memerlukan akses peran.
**444455556666** - Ini adalah akun yang berisi keanggotaan yang bertanggung jawab untuk menjalankan query (“query runner”). Keanggotaan ini mengeksekusi kueri yang dilindungi dan perlu mengambil peran ini untuk mengakses sumber daya komputasi dan data yang diperlukan.
Konfigurasi ini memungkinkan skenario di mana satu pihak menyediakan templat data atau analisis sementara pihak lain menjalankan kueri yang sebenarnya. Kedua peran memerlukan izin yang berbeda tetapi saling melengkapi melalui peran eksekusi yang sama. `aws:SourceArn`Kondisi ini memastikan bahwa hanya AWS Clean Rooms operasi yang berasal dari dua keanggotaan spesifik ini yang dapat mengambil peran, menjaga keamanan sambil mendukung pelaksanaan pekerjaan terdistribusi dan alur kerja manajemen hasil.

1. Gunakan salah satu kebijakan izin berikut sesuai dengan prosedur [Membuat peran menggunakan kebijakan kepercayaan kustom (konsol)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html).

   **Kebijakan izin untuk rahasia yang dienkripsi dengan kunci KMS milik pelanggan**

------
#### [ 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"
                   }
               }
           }
       ]
   }
   ```

------
**catatan**  
Kebijakan ini mereferensikan dua hal yang berbeda Akun AWS IDs untuk mendukung skenario manajemen rahasia lintas akun:  
**111122223333** - Ini adalah akun yang memiliki dan menyimpan rahasia di. Pernyataan pertama memberikan izin untuk mengambil nilai rahasia dari akun ini.
**444455556666** - Ini adalah akun yang memiliki kunci yang digunakan untuk mengenkripsi rahasia. AWS KMS Pernyataan kedua memberikan izin untuk mendekripsi rahasia menggunakan AWS KMS kunci dari akun ini.
Konfigurasi ini umum di lingkungan perusahaan di mana:  
Rahasia dikelola secara terpusat dalam satu akun (Akun 1)
Kunci enkripsi dikelola oleh akun keamanan atau layanan bersama terpisah (Akun 2)
Kebijakan AWS KMS utama di Akun 2 juga harus mengizinkan layanan di Akun 1 untuk menggunakan kunci untuk encryption/decryption operasi
`kms:EncryptionContext:SecretARN`Kondisi ini memastikan bahwa AWS KMS kunci hanya dapat digunakan untuk mendekripsi rahasia khusus ini, memberikan lapisan keamanan tambahan untuk akses lintas akun.

   **Kebijakan izin untuk rahasia yang dienkripsi dengan Kunci yang dikelola AWS**

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

****  

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

------

1. Ganti masing-masing *placeholder* dengan informasi Anda sendiri.

1. Terus ikuti prosedur [Membuat peran menggunakan kebijakan kepercayaan khusus (konsol)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) untuk membuat peran.

## Buat peran layanan untuk membaca kode dari bucket S3 (peran template PySpark analisis)
<a name="create-role-pyspark-analysis-template"></a>

AWS Clean Rooms menggunakan peran layanan untuk membaca kode dari bucket S3 yang ditentukan anggota kolaborasi saat menggunakan templat PySpark analisis. 

**Untuk membuat peran layanan untuk membaca kode dari bucket S3**

1. Buat peran menggunakan kebijakan kepercayaan khusus. Untuk informasi selengkapnya, lihat prosedur [Membuat peran menggunakan kebijakan kepercayaan kustom (konsol)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) di *Panduan AWS Identity and Access Management Pengguna*.

1. Gunakan kebijakan kepercayaan kustom berikut sesuai dengan prosedur [Membuat peran menggunakan kebijakan kepercayaan kustom (konsol)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html).

------
#### [ 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"
                       ]
                   }
               }
           }
       ]
   }
   ```

------
**catatan**  
Kebijakan kepercayaan ini mereferensikan dua hal berbeda Akun AWS IDs untuk mendukung skenario AWS Clean Rooms kolaborasi multi-pihak:  
**111122223333** - Ini adalah akun yang berisi keanggotaan yang bertanggung jawab untuk menjalankan kueri (“pelari pekerjaan”). Keanggotaan ini menjalankan pekerjaan analisis dan perlu mengambil peran ini untuk mengakses sumber daya yang diperlukan.
**444455556666** - Ini adalah akun yang memiliki template analisis dan keanggotaan terkait (“pemilik template analisis”). Keanggotaan ini mendefinisikan kueri apa yang dapat dijalankan dan juga perlu mengambil peran ini untuk mengelola dan menjalankan analisis.
Konfigurasi ini khas dalam AWS Clean Rooms kolaborasi di mana banyak pihak berpartisipasi dalam kolaborasi yang sama, masing-masing dengan milik mereka sendiri Akun AWS dan keanggotaan. Baik pelaksana kueri dan pemilik templat analisis memerlukan akses ke sumber daya bersama. `aws:SourceArn`Kondisi ini memastikan bahwa hanya AWS Clean Rooms operasi yang berasal dari dua keanggotaan spesifik ini yang dapat mengambil peran, memberikan kontrol akses yang tepat untuk kolaborasi multi-pihak.

1. Gunakan kebijakan izin berikut sesuai dengan prosedur [Membuat peran menggunakan kebijakan kepercayaan kustom (konsol)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html).
**catatan**  
Contoh kebijakan berikut mendukung izin yang diperlukan untuk membaca kode Anda dari Amazon S3. Namun, Anda mungkin perlu mengubah kebijakan ini tergantung pada cara Anda menyiapkan data S3.  
Sumber daya Amazon S3 Anda harus Wilayah AWS sama dengan kolaborasi. AWS Clean Rooms 

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

****  

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

------

1. Ganti masing-masing *placeholder* dengan informasi Anda sendiri:
   + *s3Path*— Lokasi bucket S3 kode Anda.
   + *s3BucketOwnerAccountId*— Akun AWS ID pemilik bucket S3.
   + *region*- Nama Wilayah AWS. Misalnya, **us-east-1**.
   + *jobRunnerAccountId*— Akun AWS ID anggota yang dapat menjalankan kueri dan pekerjaan.
   + *jobRunnerMembershipId*— **ID Keanggotaan** anggota yang dapat menanyakan dan menjalankan pekerjaan. **ID Keanggotaan** dapat ditemukan di tab **Detail** kolaborasi. Ini memastikan bahwa AWS Clean Rooms mengasumsikan peran hanya ketika anggota ini menjalankan analisis dalam kolaborasi ini.
   + *analysisTemplateAccountId*— Akun AWS ID dari template analisis.
   + *analysisTemplateOwnerMembershipId*— **ID Keanggotaan** anggota yang memiliki templat analisis. **ID Keanggotaan** dapat ditemukan di tab **Detail** kolaborasi.

1. Terus ikuti prosedur [Membuat peran menggunakan kebijakan kepercayaan khusus (konsol)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) untuk membuat peran.

## Buat peran layanan untuk menulis hasil PySpark pekerjaan
<a name="create-role-pyspark-job"></a>

AWS Clean Rooms menggunakan peran layanan untuk menulis hasil PySpark pekerjaan ke bucket S3 tertentu. 

**Untuk membuat peran layanan untuk menulis hasil PySpark pekerjaan**

1. Buat peran menggunakan kebijakan kepercayaan khusus. Untuk informasi selengkapnya, lihat prosedur [Membuat peran menggunakan kebijakan kepercayaan kustom (konsol)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) di *Panduan AWS Identity and Access Management Pengguna*.

1. Gunakan kebijakan kepercayaan kustom berikut sesuai dengan prosedur [Membuat peran menggunakan kebijakan kepercayaan kustom (konsol)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html).

------
#### [ 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"
                       ]
                   }
               }
           }
       ]
   }
   ```

------
**catatan**  
Kebijakan kepercayaan ini merujuk dua hal yang berbeda Akun AWS IDs untuk mendukung AWS Clean Rooms kolaborasi dengan peran operasional yang berbeda:  
**111122223333** - Ini adalah akun yang berisi keanggotaan yang bertanggung jawab untuk menjalankan pekerjaan analisis (“pelari pekerjaan”). Keanggotaan ini mengeksekusi beban kerja komputasi dan perlu mengambil peran ini untuk mengakses sumber daya pemrosesan.
**444455556666** - Ini adalah akun yang berisi keanggotaan dengan tanggung jawab penerima hasil (RR). Keanggotaan ini berwenang untuk menerima dan mengakses output pekerjaan analisis, dan membutuhkan akses peran untuk menulis hasil ke lokasi yang ditentukan.
Konfigurasi ini memungkinkan AWS Clean Rooms skenario di mana satu pihak menjalankan analisis komputasi sementara pihak lain menerima dan mengelola hasilnya. Kedua peran memerlukan izin yang berbeda tetapi saling melengkapi melalui peran eksekusi yang sama. `aws:SourceArn`Kondisi ini memastikan bahwa hanya AWS Clean Rooms operasi yang berasal dari dua keanggotaan spesifik ini yang dapat mengambil peran, menjaga keamanan sambil mendukung pelaksanaan pekerjaan terdistribusi dan alur kerja manajemen hasil.

1. Gunakan kebijakan izin berikut sesuai dengan prosedur [Membuat peran menggunakan kebijakan kepercayaan kustom (konsol)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html).
**catatan**  
Kebijakan contoh berikut mendukung izin yang diperlukan untuk menulis ke Amazon S3. Namun, Anda mungkin perlu mengubah kebijakan ini tergantung pada cara Anda mengatur S3.  
Sumber daya Amazon S3 Anda harus Wilayah AWS sama dengan kolaborasi. AWS Clean Rooms 

------
#### [ 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. Ganti masing-masing *placeholder* dengan informasi Anda sendiri:
   + *region*- Nama Wilayah AWS. Misalnya, **us-east-1**.
   + *jobRunnerAccountId*— Akun AWS ID tempat bucket S3 berada.
   + *jobRunnerMembershipId*— **ID Keanggotaan** anggota yang dapat menanyakan dan menjalankan pekerjaan. **ID Keanggotaan** dapat ditemukan di tab **Detail** kolaborasi. Ini memastikan bahwa AWS Clean Rooms mengasumsikan peran hanya ketika anggota ini menjalankan analisis dalam kolaborasi ini.
   + *rrAccountId*— Akun AWS ID tempat bucket S3 berada.
   + *rrMembershipId*— **ID Keanggotaan** anggota yang dapat menerima hasil. **ID Keanggotaan** dapat ditemukan di tab **Detail** kolaborasi. Ini memastikan bahwa AWS Clean Rooms mengasumsikan peran hanya ketika anggota ini menjalankan analisis dalam kolaborasi ini.
   + *bucket*— Nama dan lokasi bucket S3.
   + *optionalPrefix*- Awalan opsional jika Anda ingin menyimpan hasil Anda di bawah awalan S3 tertentu.
   + *s3BucketOwnerAccountId*— Akun AWS ID pemilik bucket S3.

1. Terus ikuti prosedur [Membuat peran menggunakan kebijakan kepercayaan khusus (konsol)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) untuk membuat peran.

## Buat peran layanan untuk menerima hasil
<a name="create-role-write-results"></a>

**catatan**  
Jika Anda adalah anggota yang hanya dapat menerima hasil (di konsol, **kemampuan anggota Anda** hanya **Terima hasil**), ikuti prosedur ini.  
Jika Anda adalah anggota yang dapat menanyakan dan menerima hasil (di konsol, **Kemampuan anggota Anda** adalah **hasil **Kueri** dan Terima**), Anda dapat melewati prosedur ini.

Untuk anggota kolaborasi yang hanya dapat menerima hasil, AWS Clean Rooms gunakan peran layanan untuk menulis hasil data kueri dalam kolaborasi ke bucket S3 yang ditentukan. 

Ada dua cara untuk membuat peran layanan ini:
+ Jika Anda memiliki izin IAM yang diperlukan untuk membuat peran layanan, gunakan AWS Clean Rooms konsol untuk membuat peran layanan.
+ Jika Anda tidak memiliki`iam:CreateRole`, `iam:CreatePolicy` dan `iam:AttachRolePolicy` izin atau ingin membuat peran IAM secara manual, lakukan salah satu hal berikut:
  + Gunakan prosedur berikut untuk membuat peran layanan menggunakan kebijakan kepercayaan khusus.
  + Minta administrator Anda untuk membuat peran layanan menggunakan prosedur berikut.

**catatan**  
Anda atau administrator IAM Anda harus mengikuti prosedur ini hanya jika Anda tidak memiliki izin yang diperlukan untuk membuat peran layanan menggunakan konsol. AWS Clean Rooms 

**Untuk membuat peran layanan untuk menerima hasil menggunakan kebijakan kepercayaan khusus**

1. Buat peran menggunakan kebijakan kepercayaan khusus. Untuk informasi selengkapnya, lihat prosedur [Membuat peran menggunakan kebijakan kepercayaan kustom (konsol)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) di *Panduan AWS Identity and Access Management Pengguna*.

1. Gunakan kebijakan kepercayaan kustom berikut sesuai dengan prosedur [Membuat peran menggunakan kebijakan kepercayaan kustom (konsol)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html).

------
#### [ 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. Gunakan kebijakan izin berikut sesuai dengan prosedur [Membuat peran menggunakan kebijakan kepercayaan kustom (konsol)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html).
**catatan**  
Kebijakan contoh berikut mendukung izin yang diperlukan untuk membaca AWS Glue metadata dan data Amazon S3 yang sesuai. Namun, Anda mungkin perlu mengubah kebijakan ini tergantung pada cara Anda menyiapkan data S3.  
 AWS Glue Sumber daya Anda dan sumber daya Amazon S3 yang mendasarinya harus Wilayah AWS sama dengan kolaborasi. AWS Clean Rooms 

------
#### [ 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. Ganti masing-masing *placeholder* dengan informasi Anda sendiri:
   + *region*- Nama Wilayah AWS. Misalnya, **us-east-1**.
   + *a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa*— **ID Keanggotaan** anggota yang dapat melakukan query. **ID Keanggotaan** dapat ditemukan di tab **Detail** kolaborasi. Ini memastikan bahwa AWS Clean Rooms mengasumsikan peran hanya ketika anggota ini menjalankan analisis dalam kolaborasi ini.
   + *arn:aws:cleanrooms:us-east-1:555555555555:membership/a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa*— **ARN Keanggotaan** tunggal dari anggota yang dapat menanyakan. **ARN Keanggotaan** dapat ditemukan di tab **Detail** kolaborasi. AWS Clean Rooms Ini memastikan mengasumsikan peran hanya ketika anggota ini menjalankan analisis dalam kolaborasi ini.
   + *bucket\$1name*— **Nama Sumber Daya Amazon (ARN) dari ember** S3. **Nama Sumber Daya Amazon (ARN)** dapat ditemukan di tab **Properties** bucket di Amazon S3.
   + *accountId*— Akun AWS ID tempat bucket S3 berada.

     *bucket\$1name/optional\$1key\$1prefix*— **Nama Sumber Daya Amazon (ARN)** dari tujuan hasil di Amazon S3. **Nama Sumber Daya Amazon (ARN)** dapat ditemukan di tab **Properties** bucket di Amazon S3.

1. Terus ikuti prosedur [Membuat peran menggunakan kebijakan kepercayaan khusus (konsol)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) untuk membuat peran.