

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

# Konfigurasikan AWS Glue akses lintas akun di Athena untuk Spark
<a name="spark-notebooks-cross-account-glue"></a>

Topik ini menunjukkan bagaimana akun konsumen *666666666666* dan akun pemilik *999999999999* dapat dikonfigurasi untuk AWS Glue akses lintas akun. Ketika akun dikonfigurasi, akun konsumen dapat menjalankan kueri dari Athena untuk Spark pada database dan tabel pemilik AWS Glue .

## Langkah 1: Di AWS Glue, berikan akses ke peran konsumen
<a name="spark-notebooks-cross-account-glue-in-aws-glue-provide-access-to-the-consumer-account"></a>

Di AWS Glue, pemilik membuat kebijakan yang menyediakan akses peran konsumen ke katalog AWS Glue data pemilik.

**Untuk menambahkan AWS Glue kebijakan yang memungkinkan akses peran konsumen ke katalog data pemilik**

1. Dengan menggunakan akun pemilik katalog, masuk ke akun Konsol Manajemen AWS.

1. Buka AWS Glue konsol di [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/).

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

1. Pada halaman **Setelan katalog data**, di bagian **Izin**, tambahkan kebijakan seperti berikut ini. Kebijakan ini menyediakan peran untuk *666666666666* akses akun konsumen ke katalog data di akun pemilik*999999999999*.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "Cataloguers",
               "Effect": "Allow",
               "Principal": {
                   "AWS": [
                       "arn:aws:iam::666666666666:role/Admin",
                       "arn:aws:iam::666666666666:role/AWSAthenaSparkExecutionRole"
                   ]
               },
               "Action": "glue:*",
               "Resource": [
                   "arn:aws:glue:us-west-2:999999999999:catalog",
                   "arn:aws:glue:us-west-2:999999999999:database/*",
                   "arn:aws:glue:us-west-2:999999999999:table/*"
               ]
           }
       ]
   }
   ```

------

## Langkah 2: Konfigurasikan akun konsumen untuk akses
<a name="spark-notebooks-cross-account-glue-configure-the-consumer-account-for-access"></a>

Di akun konsumen, buat kebijakan untuk mengizinkan akses ke pemilik AWS Glue Data Catalog, database, dan tabel, dan lampirkan kebijakan tersebut ke peran. Contoh berikut menggunakan akun konsumen*666666666666*.

**Untuk membuat AWS Glue kebijakan untuk akses ke pemilik AWS Glue Data Catalog**

1. Menggunakan akun konsumen, masuk ke Konsol Manajemen AWS.

1. Buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

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

1. Pilih **Buat kebijakan**.

1. Pada halaman **Tentukan izin**, pilih **JSON**.

1. Di **editor Kebijakan**, masukkan pernyataan JSON seperti berikut ini yang memungkinkan AWS Glue tindakan pada katalog data akun pemilik.

------
#### [ 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/*",
                   "arn:aws:glue:us-east-1:999999999999:table/*"
               ]
           }
       ]
   }
   ```

------

1. Pilih **Berikutnya**.

1. Pada halaman **Tinjau dan buat**, untuk **nama Kebijakan**, masukkan nama untuk kebijakan tersebut.

1. Pilih **Buat kebijakan**.

Selanjutnya, Anda menggunakan konsol IAM di akun konsumen untuk melampirkan kebijakan yang baru saja Anda buat ke peran atau peran IAM yang akan digunakan akun konsumen untuk mengakses katalog data pemilik.

**Untuk melampirkan AWS Glue kebijakan ke peran di akun konsumen**

1. **Di panel navigasi konsol IAM akun konsumen, pilih Peran.**

1. Pada halaman **Peran**, temukan peran yang ingin Anda lampirkan kebijakan.

1. Pilih **Tambahkan izin**, lalu pilih **Lampirkan kebijakan**.

1. Temukan kebijakan yang baru saja Anda buat.

1. Pilih kotak centang untuk kebijakan, lalu pilih **Tambahkan izin**.

1. Ulangi langkah-langkah untuk menambahkan kebijakan ke peran lain yang ingin Anda gunakan.

## Langkah 3: Konfigurasikan sesi dan buat kueri
<a name="spark-notebooks-cross-account-glue-configure-a-session-and-create-a-query"></a>

Di Athena Spark, di akun pemohon, menggunakan peran yang ditentukan, buat sesi untuk menguji akses dengan [membuat buku catatan](notebooks-spark-getting-started.md#notebooks-spark-getting-started-creating-your-own-notebook) atau [mengedit](notebooks-spark-getting-started.md#notebooks-spark-getting-started-editing-session-details) sesi saat ini. Saat Anda [mengonfigurasi properti sesi](notebooks-spark-custom-jar-cfg.md#notebooks-spark-custom-jar-cfg-console), tentukan salah satu dari berikut ini:
+ **Pemisah AWS Glue katalog** — Dengan pendekatan ini, Anda menyertakan ID akun pemilik dalam kueri Anda. Gunakan metode ini jika Anda akan menggunakan sesi untuk kueri katalog data dari pemilik yang berbeda.
+ **ID AWS Glue katalog** — Dengan pendekatan ini, Anda menanyakan database secara langsung. Metode ini lebih nyaman jika Anda akan menggunakan sesi untuk menanyakan hanya katalog data pemilik tunggal.

### Gunakan pemisah AWS Glue katalog
<a name="spark-notebooks-cross-account-glue-using-the-glue-catalog-separator-approach"></a>

Saat Anda mengedit properti sesi, tambahkan yang berikut ini:

```
{ 
    "spark.hadoop.aws.glue.catalog.separator": "/" 
}
```

Saat Anda menjalankan kueri di sel, gunakan sintaks seperti itu dalam contoh berikut. Perhatikan bahwa dalam `FROM` klausa, ID katalog dan pemisah diperlukan sebelum nama database.

```
df = spark.sql('SELECT requestip, uri, method, status FROM `999999999999/mydatabase`.cloudfront_logs LIMIT 5') 
df.show()
```

### Gunakan ID AWS Glue katalog
<a name="spark-notebooks-cross-account-glue-using-the-glue-catalog-id-approach"></a>

Saat Anda mengedit properti sesi, masukkan properti berikut. Ganti *999999999999* dengan ID akun pemilik.

```
{ 
    "spark.hadoop.hive.metastore.glue.catalogid": "999999999999" 
}
```

Saat Anda menjalankan kueri di sel, gunakan sintaks seperti berikut ini. Perhatikan bahwa dalam `FROM` klausa, ID katalog dan pemisah tidak diperlukan sebelum nama database.

```
df = spark.sql('SELECT * FROM mydatabase.cloudfront_logs LIMIT 10') 
df.show()
```

## Sumber daya tambahan
<a name="spark-notebooks-cross-account-glue-additional-resources"></a>

[Konfigurasikan akses lintas akun ke katalog AWS Glue data](security-iam-cross-account-glue-catalog-access.md)

[Mengelola izin lintas akun menggunakan keduanya AWS Glue dan Lake Formation](https://docs.aws.amazon.com/lake-formation/latest/dg/hybrid-cross-account.html) di Panduan *AWS Lake Formation Pengembang*.

[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 *AWS dalam Pola Panduan Preskriptif*.