

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

# Konfigurasikan akses lintas akun ke katalog AWS Glue data
<a name="security-iam-cross-account-glue-catalog-access"></a>

Anda dapat menggunakan fitur AWS Glue katalog lintas akun Athena untuk mendaftarkan AWS Glue katalog dari akun selain milik Anda. Setelah Anda mengonfigurasi izin IAM yang diperlukan untuk AWS Glue dan daftarkan katalog sebagai Athena[DataCatalog](https://docs.aws.amazon.com/athena/latest/APIReference/API_DataCatalog.html)Sumber daya, Anda dapat menggunakan Athena untuk menjalankan kueri lintas akun. Untuk informasi tentang menggunakan konsol Athena untuk mendaftarkan katalog dari akun lain, lihat. [Daftarkan Katalog Data dari akun lain](data-sources-glue-cross-account.md)

*Untuk informasi selengkapnya tentang akses lintas akun AWS Glue, lihat [Memberikan akses lintas akun di Panduan Pengembang](https://docs.aws.amazon.com/glue/latest/dg/cross-account-access.html).AWS Glue *

## Sebelum Anda mulai
<a name="security-iam-cross-account-glue-catalog-access-before-you-start"></a>

Karena fitur ini menggunakan `DataCatalog` sumber daya APIs dan fungsionalitas Athena yang ada untuk mengaktifkan akses lintas akun, sebaiknya Anda membaca sumber daya berikut sebelum memulai:
+ [Connect ke sumber data](work-with-data-stores.md)- Berisi topik tentang penggunaan Athena dengan AWS Glue, Hive, atau Lambda sumber katalog data.
+ [Contoh kebijakan Katalog Data](datacatalogs-example-policies.md)- Menunjukkan bagaimana menulis kebijakan yang mengontrol akses ke katalog data.
+ [Gunakan AWS CLI metastores with Hive](datastores-hive-cli.md)- Menunjukkan cara menggunakan metastores AWS CLI with Hive, tetapi berisi kasus penggunaan yang berlaku untuk sumber data lainnya.

## Pertimbangan dan batasan
<a name="security-iam-cross-account-glue-catalog-access-considerations-and-limitations"></a>

Saat ini, akses AWS Glue katalog lintas akun Athena memiliki batasan sebagai berikut:
+ Fitur ini hanya tersedia di Wilayah AWS mana mesin Athena versi 2 atau yang lebih baru didukung. Untuk informasi selengkapnya tentang versi mesin Aurora, lihat [Pembuatan versi mesin Athena](engine-versions.md). Untuk memutakhirkan versi engine untuk workgroup, lihat[Ubah versi mesin Athena](engine-versions-changing.md).
+ Ketika Anda mendaftarkan akun lain AWS Glue Data Catalog di akun Anda, Anda membuat `DataCatalog` sumber daya regional yang ditautkan ke data akun lain di Wilayah tertentu saja.
+ Saat ini,`CREATE VIEW`Pernyataan yang menyertakan akun lintas akun AWS Glue katalog tidak didukung.
+ Katalog yang dienkripsi menggunakan kunci AWS terkelola tidak dapat ditanyakan di seluruh akun. Untuk katalog yang ingin Anda kueri di seluruh akun, gunakan kunci terkelola pelanggan (`KMS_CMK`) sebagai gantinya. Untuk informasi tentang perbedaan antara kunci terkelola pelanggan dan kunci AWS terkelola, lihat [Kunci dan AWS kunci pelanggan](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-mgmt                     ) di *Panduan AWS Key Management Service Pengembang*. 

## Memulai
<a name="security-iam-cross-account-glue-catalog-getting-started"></a>

Dalam skenario berikut, akun “peminjam” (666666666666) ingin menjalankan `SELECT` kueri yang mengacu pada AWS Glue katalog milik akun “pemilik” (99999999999999), seperti pada contoh berikut:

```
SELECT * FROM ownerCatalog.tpch1000.customer
```

Dalam prosedur berikut, Langkah 1a dan 1b menunjukkan cara memberikan akses akun peminjam ke AWS Glue sumber daya akun pemilik, baik dari sisi peminjam maupun pemilik. Contoh memberikan akses ke database`tpch1000`dan tabel`customer`. Ubah nama contoh ini agar sesuai dengan kebutuhan Anda.

### Langkah 1a: Buat peran peminjam dengan kebijakan untuk mengakses sumber daya pemilik AWS Glue
<a name="security-iam-cross-account-glue-catalog-access-step-1a"></a>

Untuk membuat peran akun peminjam dengan kebijakan untuk mengakses AWS Glue sumber daya akun pemilik, Anda dapat menggunakan konsol AWS Identity and Access Management (IAM) atau API [IAM](https://docs.aws.amazon.com/IAM/latest/APIReference/API_Operations.html). Prosedur berikut berlaku jika Anda menggunakan konsol IAM.

**Untuk membuat peran dan kebijakan peminjam untuk mengakses sumber daya akun pemilik AWS Glue**

1. Masuk ke konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)dari akun peminjam.

1. Di panel navigasi, perluas **Manajemen akses**, lalu pilih **Kebijakan**.

1. Pilih **Buat kebijakan**.

1. Untuk **editor Kebijakan**, pilih **JSON**.

1. Di editor kebijakan, masukkan kebijakan berikut, lalu modifikasi sesuai dengan kebutuhan Anda:

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "glue:*",
               "Resource": [
                   "arn:aws:glue:us-east-1:999999999999:catalog",
                   "arn:aws:glue:us-east-1:999999999999:database/tpch1000",
                   "arn:aws:glue:us-east-1:999999999999:table/tpch1000/customer"
               ]
           }
       ]
   }
   ```

------

1. Pilih **Berikutnya**.

1. Pada halaman **Tinjau dan buat**, untuk **nama Kebijakan**, masukkan nama untuk kebijakan (misalnya,**CrossGluePolicyForBorrowerRole**).

1. Pilih **Buat kebijakan**.

1. Di panel navigasi, pilih **Peran**.

1. Pilih **Buat peran**.

1. Pada halaman **Pilih entitas tepercaya**, pilih **Akun AWS**, lalu pilih **Berikutnya**.

1. Pada halaman **Tambahkan izin**, masukkan nama kebijakan yang Anda buat ke dalam kotak pencarian (misalnya,**CrossGluePolicyForBorrowerRole**).

1. Pilih kotak centang di samping nama kebijakan, lalu pilih **Berikutnya**.

1. Pada **Nama, tinjau, dan buat**, untuk **Nama peran**, masukkan nama untuk peran (misalnya, **CrossGlueBorrowerRole**).

1. Pilih **Buat peran**.

### Langkah 1b: Buat kebijakan pemilik untuk memberikan AWS Glue akses ke peminjam
<a name="security-iam-cross-account-glue-catalog-access-step-1b"></a>

Untuk memberikan AWS Glue akses dari akun pemilik (99999999999999) ke peran peminjam, Anda dapat menggunakan konsol atau operasi API. AWS Glue AWS Glue [PutResourcePolicy](https://docs.aws.amazon.com/glue/latest/webapi/API_PutResourcePolicy.html) Prosedur berikut menggunakan AWS Glue konsol.

**Untuk memberikan AWS Glue akses ke akun peminjam dari pemilik**

1. Masuk ke AWS Glue konsol di [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/)dari akun pemilik.

1. Di panel navigasi, perluas **Katalog Data**, lalu pilih **Pengaturan katalog**.

1. Di**Izin**, masukkan kebijakan seperti berikut. Untuk*rolename*, masukkan peran yang dibuat peminjam di Langkah 1a (misalnya,**CrossGlueBorrowerRole**). Jika Anda ingin meningkatkan cakupan izin, Anda dapat menggunakan karakter wild card `*` untuk jenis sumber daya database dan tabel.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "AWS": [
                       "arn:aws:iam::666666666666:user/username",
                       "arn:aws:iam::666666666666:role/rolename"
                   ]
               },
               "Action": "glue:*",
               "Resource": [
                   "arn:aws:glue:us-east-1:999999999999:catalog",
                   "arn:aws:glue:us-east-1:999999999999:database/tpch1000",
                   "arn:aws:glue:us-east-1:999999999999:table/tpch1000/customer"
               ]
           }
       ]
   }
   ```

------

Setelah selesai, kami sarankan Anda menggunakan [AWS Glue API](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api.html) untuk melakukan beberapa pengujian panggilan lintas akun untuk mengonfirmasi bahwa izin dikonfigurasi seperti yang Anda harapkan.

### Langkah 2: Peminjam mendaftarkan AWS Glue Data Catalog yang menjadi milik akun pemilik
<a name="security-iam-cross-account-glue-catalog-access-step-2"></a>

Prosedur berikut menunjukkan cara menggunakan konsol Athena untuk mengonfigurasi akun Amazon Web Services pemilik sebagai sumber data. AWS Glue Data Catalog Untuk informasi tentang menggunakan operasi API alih-alih konsol untuk mendaftarkan katalog, lihat[(Opsional) Gunakan API untuk mendaftarkan Katalog Data Athena milik akun pemilik](#security-iam-cross-account-glue-catalog-access-step-2-api).

**Untuk mendaftarkan AWS Glue Data Catalog milik akun lain**

1. Buka konsol Athena di [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home).

1. Jika panel navigasi konsol tidak terlihat, pilih menu ekspansi di sebelah kiri.  
![\[Pilih menu ekspansi.\]](http://docs.aws.amazon.com/id_id/athena/latest/ug/images/nav-pane-expansion.png)

1. Perluas **Administrasi**, lalu pilih **Sumber data**.

1. Di kanan atas, pilih **Buat sumber data**.

1. Pada halaman **Pilih sumber data**, untuk **Sumber data**, pilih **S3 - AWS Glue Data Catalog**, lalu pilih **Berikutnya**.

1. Pada halaman **Masukkan detail sumber data**, di **AWS Glue Data Catalog**bagian, untuk **Pilih AWS Glue Data Catalog**, pilih **AWS Glue Data Catalog di akun lain**.

1. Untuk **detail sumber data**, masukkan informasi berikut:
   + **Nama sumber data** — Masukkan nama yang ingin Anda gunakan dalam kueri SQL Anda untuk merujuk ke katalog data di akun lain.
   + **Deskripsi**— (Opsional) Masukkan deskripsi katalog data di akun lainnya.
   + **ID Katalog**— Masukkan 12 digit Amazon Web Services akun ID dari akun tempat katalog data berada. Amazon Web Services akun ID adalah ID katalog.

1. (Opsional) Perluas **Tag**, lalu masukkan pasangan nilai kunci yang ingin Anda kaitkan dengan sumber data. Untuk informasi selengkapnya tentang tag, lihat [Tag sumber daya Athena](tags.md).

1. Pilih **Berikutnya**.

1. Pada halaman **Tinjau dan buat**, tinjau informasi yang Anda berikan, lalu pilih **Buat sumber data**. Halaman **detail sumber data** mencantumkan database dan tag untuk katalog data yang Anda daftarkan.

1. Pilih **Sumber data dan katalog**. Katalog data yang Anda daftarkan tercantum di kolom **Nama sumber data**.

1. Untuk melihat atau mengedit informasi tentang katalog data, pilih katalog, lalu pilih **Tindakan**, **Edit**.

1. Untuk menghapus katalog data baru, pilih katalog, lalu pilih **Tindakan**, **Hapus**.

### Langkah 3: Peminjam mengirimkan kueri
<a name="security-iam-cross-account-glue-catalog-access-step-4"></a>

Peminjam mengirimkan kueri yang mereferensikan katalog menggunakan. *catalog* *database*. *table*sintaks, seperti pada contoh berikut:

```
SELECT * FROM ownerCatalog.tpch1000.customer
```

Alih-alih menggunakan sintaks yang sepenuhnya memenuhi syarat, peminjam juga dapat menentukan katalog secara kontekstual dengan meneruskannya melalui. [QueryExecutionContext](https://docs.aws.amazon.com/athena/latest/APIReference/API_QueryExecutionContext.html)

## (Opsional) Konfigurasikan izin Amazon S3 tambahan
<a name="security-iam-cross-account-glue-catalog-access-additional-s3-permissions"></a>
+ Jika akun peminjam menggunakan kueri Athena untuk menulis data baru ke tabel di akun pemilik, pemilik tidak akan secara otomatis memiliki akses ke data ini di Amazon S3, meskipun tabel ada di akun pemilik. Ini karena peminjam adalah pemilik objek informasi di Amazon S3 kecuali dikonfigurasi lain. Untuk memberikan pemilik akses ke data, atur izin pada objek yang sesuai sebagai langkah tambahan.
+ Operasi lintas akun DDL tertentu seperti [MSCK REPAIR TABLE](msck-repair-table.md) memerlukan izin Amazon S3. Misalnya, jika akun peminjam melakukan `MSCK REPAIR` operasi lintas akun terhadap tabel di akun pemilik yang memiliki datanya di bucket S3 akun pemilik, bucket tersebut harus memberikan izin untuk peran yang diambil oleh peminjam agar kueri berhasil.

Untuk informasi tentang pemberian izin bucket, lihat [Bagaimana cara menyetel izin bucket ACL?](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/set-bucket-permissions.html) di *Panduan Pengguna Layanan Penyimpanan Sederhana Amazon*.

## (Opsional) Gunakan katalog secara dinamis
<a name="security-iam-cross-account-glue-catalog-access-dynamic-catalogs"></a>

Dalam beberapa kasus Anda mungkin ingin cepat melakukan pengujian terhadap lintas akun AWS Glue katalog tanpa langkah prasyarat mendaftarkannya. Anda dapat secara dinamis melakukan cross-akun kueri tanpa membuat`DataCatalog`objek sumber daya jika izin IAM dan Amazon S3 yang diperlukan dikonfigurasi dengan benar seperti yang dijelaskan sebelumnya dalam dokumen ini.

Untuk secara eksplisit referensi katalog tanpa registrasi, gunakan sintaks dalam contoh berikut:

```
SELECT * FROM "glue:arn:aws:glue:us-east-1:999999999999:catalog".tpch1000.customer
```

Gunakan format”`glue:<arn>`“, tempat`<arn>`adalah[AWS Glue Data Catalog ARN](https://docs.aws.amazon.com/glue/latest/dg/glue-specifying-resource-arns.html#data-catalog-resource-arns)yang ingin Anda gunakan. Dalam contoh, Athena menggunakan sintaks ini untuk secara dinamis menunjuk ke katalog AWS Glue data akun 999999999999 seolah-olah Anda telah membuat objek secara terpisah untuk itu. `DataCatalog`

### Catatan untuk menggunakan katalog dinamis
<a name="security-iam-cross-account-glue-catalog-access-notes-dynamic-catalogs"></a>

Jika Anda menggunakan katalog dinamis, ingat poin-poin berikut.
+ Penggunaan Katalog dinamis memerlukan izin IAM yang biasanya Anda gunakan untuk operasi API Katalog Data Athena. Perbedaan utama adalah bahwa nama sumber daya Katalog Data mengikuti`glue:*`Konvensi penamaan.
+ Katalog ARN harus milik Wilayah yang sama tempat kueri sedang dijalankan.
+ Jika menggunakan katalog dinamis dalam kueri DDLL atau tampilan, mengelilinginya dengan lolos tanda kutip ganda (`\"`). Jika menggunakan katalog dinamis dalam kueri DDL, mengelilingi dengan karakter backtick (```).

## (Opsional) Gunakan API untuk mendaftarkan Katalog Data Athena milik akun pemilik
<a name="security-iam-cross-account-glue-catalog-access-step-2-api"></a>

Alih-alih menggunakan konsol Athena seperti yang dijelaskan pada Langkah 2, Anda dapat menggunakan operasi API untuk mendaftarkan Katalog Data milik akun pemilik.

Pembuat [DataCatalog](https://docs.aws.amazon.com/athena/latest/APIReference/API_DataCatalog.html)sumber daya Athena harus memiliki izin yang diperlukan untuk menjalankan operasi API Athena. [CreateDataCatalog](https://docs.aws.amazon.com/athena/latest/APIReference/API_CreateDataCatalog.html) Tergantung pada kebutuhan Anda, akses ke operasi API tambahan mungkin diperlukan. Untuk informasi selengkapnya, lihat [Contoh kebijakan Katalog Data](datacatalogs-example-policies.md).

Badan `CreateDataCatalog` permintaan berikut mendaftarkan AWS Glue katalog untuk akses lintas akun:

```
# Example CreateDataCatalog request to register a cross-account Glue catalog:
{
    "Description": "Cross-account Glue catalog",
    "Name": "ownerCatalog",
    "Parameters": {"catalog-id" : "999999999999"  # Owner's account ID
    },
    "Type": "GLUE"
}
```

Kode contoh berikut menggunakan klien Java untuk membuat`DataCatalog`objek.

```
# Sample code to create the DataCatalog through Java client
CreateDataCatalogRequest request = new CreateDataCatalogRequest()
    .withName("ownerCatalog")
    .withType(DataCatalogType.GLUE)
    .withParameters(ImmutableMap.of("catalog-id", "999999999999"));

athenaClient.createDataCatalog(request);
```

Setelah langkah-langkah ini, peminjam akan melihat `ownerCatalog` kapan memanggil operasi [ListDataCatalogs](https://docs.aws.amazon.com/athena/latest/APIReference/API_ListDataCatalogs.html)API.

## Sumber daya tambahan
<a name="security-iam-cross-account-glue-catalog-access-additional-resources"></a>
+ [Daftarkan Katalog Data dari akun lain](data-sources-glue-cross-account.md)
+ [Konfigurasikan akses lintas akun ke berbagi AWS Glue Data Catalog menggunakan Amazon](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/configure-cross-account-access-to-a-shared-aws-glue-data-catalog-using-amazon-athena.html) Athena dalam AWS panduan Pola Panduan *Preskriptif*.
+ [Kueri lintas akun AWS Glue Data Catalog menggunakan Amazon](https://aws.amazon.com/blogs/big-data/query-cross-account-aws-glue-data-catalogs-using-amazon-athena/) Athena di Blog Big *AWS Data*
+ [Memberikan akses lintas akun di Panduan](https://docs.aws.amazon.com/glue/latest/dg/cross-account-access.html) *Pengembang AWS Glue * 