

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

# Connect Athena ke Pusat Identitas IAM
<a name="using-trusted-identity-propagation-setup"></a>

Bagian berikut mencantumkan proses menghubungkan Athena ke Pusat Identitas IAM.

## Siapkan penerbit token tepercaya
<a name="using-trusted-identity-propagation-step1"></a>

Ikuti [Menyiapkan panduan penerbit token tepercaya](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_oidc.html) untuk menyiapkan penerbit token tepercaya. Ini akan membuat AWS IAM Identity Center.

**catatan**  
Untuk **jenis Provider**, pilih **OpenID Connect**. Untuk **URL Penyedia**, masukkan URL penerbit dari penyedia Identitas Anda. Untuk **Audiens**, tentukan ID klien yang dikeluarkan oleh penyedia Identity untuk aplikasi Anda.  
 

Salin Nama Sumber Daya Aplikasi (ARN) untuk penyedia Identitas AWS IAM. Untuk informasi selengkapnya, lihat [Penyedia identitas dan federasi](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers.html).

## Siapkan peran IAM
<a name="using-trusted-identity-propagation-step2"></a>

### Siapkan peran aplikasi IAM
<a name="using-trusted-identity-propagation-step2-application-role"></a>

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

1. Pada navigasi kiri, pilih **Peran** dan kemudian pilih **Buat peran**.

1. Untuk **jenis entitas Tepercaya**, pilih **Kebijakan kepercayaan khusus** sebagai berikut:

   1. Untuk **Principal Federasi**, tambahkan ARN AWS untuk penyedia identitas IAM yang Anda salin selama penyiapan penerbit token tepercaya.

   1. Untuk kondisi kebijakan, tambahkan audiens dari penyedia identitas federasi eksternal Anda.

1. Tambahkan kebijakan inline berikut untuk memberikan akses kepada pengguna untuk [CreateTokenWithIAM](https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/API_CreateTokenWithIAM.html), [ListTagsForResource](https://docs.aws.amazon.com/athena/latest/APIReference/API_ListTagsForResource.html), dan [AssumeRoleWithWebIdentity](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html)izin.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "athena:ListTags*",
                   "sso:ListTags*"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

------
**catatan**  
`CreateTokenWithIam`izin diberikan dalam aplikasi Pusat Identitas IAM yang dikelola pelanggan.

1. Salin ARN untuk peran aplikasi.

### Siapkan peran akses IAM
<a name="using-trusted-identity-propagation-step2-access-role"></a>

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

1. Pada navigasi kiri, pilih **Peran** dan kemudian pilih **Buat peran**.

1. Untuk **jenis entitas Tepercaya**, pilih **Kebijakan kepercayaan khusus** sebagai berikut:

   1. Untuk **Principal Federasi**, tambahkan ARN AWS untuk IAM Identity Center yang disalin selama penyiapan penerbit token tepercaya.

   1. Untuk **AWS Principal**, tambahkan ARN untuk peran aplikasi AWS IAM yang disalin selama pengaturan peran aplikasi IAM.

1. Tambahkan **kebijakan inline** berikut untuk memberikan akses bagi alur kerja driver:

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "athena:StartQueryExecution",
                   "athena:GetQueryExecution",
                   "athena:GetQueryResults",
                   "athena:ListWorkGroups",
                   "athena:ListDataCatalogs",
                   "athena:ListDatabases",
                   "athena:ListTableMetadata"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "s3:ListBucket",
                   "s3:GetObject",
                   "s3:PutObject"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "glue:GetDatabase",
                   "glue:GetDatabases",
                   "glue:CreateTable",
                   "glue:GetTable",
                   "glue:GetTables",
                   "glue:UpdateTable",
                   "glue:DeleteTable",
                   "glue:BatchDeleteTable",
                   "glue:GetTableVersion",
                   "glue:GetTableVersions",
                   "glue:DeleteTableVersion",
                   "glue:BatchDeleteTableVersion",
                   "glue:CreatePartition",
                   "glue:BatchCreatePartition",
                   "glue:GetPartition",
                   "glue:GetPartitions",
                   "glue:BatchGetPartition",
                   "glue:UpdatePartition",
                   "glue:DeletePartition",
                   "glue:BatchDeletePartition"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "lakeformation:GetDataAccess"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

------

1. Salin ARN untuk peran akses.

## Konfigurasikan aplikasi yang dikelola AWS IAM Identity Center pelanggan
<a name="using-trusted-identity-propagation-step3"></a>

Untuk mengonfigurasi aplikasi yang dikelola pelanggan, ikuti langkah-langkah dalam [Mengatur aplikasi OAuth 2.0 yang dikelola pelanggan untuk propagasi identitas tepercaya](https://docs.aws.amazon.com/singlesignon/latest/userguide/customermanagedapps-trusted-identity-propagation-set-up-your-own-app-OAuth2.html) dengan pertimbangan berikut untuk Athena.
+ Untuk **Tag**, tambahkan pasangan kunci-nilai berikut:
  + **Kunci** – **AthenaDriverOidcAppArn**
  + **Nilai** - **AccessRoleARN** yang disalin selama penyiapan Peran Akses IAM.
+ Saat [menentukan kredensyal aplikasi](https://docs.aws.amazon.com/singlesignon/latest/userguide/customermanagedapps-trusted-identity-propagation-set-up-your-own-app-OAuth2.html#customermanagedapps-trusted-identity-propagation-set-up-your-own-app-OAuth2-specify-application-credentials), tambahkan ARN untuk peran aplikasi AWS IAM yang Anda salin selama penyiapan peran aplikasi IAM.
+ <account-id>Untuk **Aplikasi yang dapat menerima permintaan**, pilih **AWS-Lake-Formation-AWS-Glue-Data-Catalog** -.
+ ****Agar **cakupan Access diterapkan, pilih lakeformation:query untuk** **grup kerja berkemampuan IAM, atau **lakeformation:query**, athena:workgroup:read\_write**, dan s3:access\_grants:read\_write for Identity Center-enabled workgroup.****

## Konfigurasikan asosiasi workgroup
<a name="using-trusted-identity-propagation-step4"></a>

1. **Di panel navigasi konsol Athena, pilih Workgroups.**

1. Pilih workgroup dari daftar dan buka tab **Tag**. 

1. Pilih **Kelola tag** dan masukkan yang berikut ini:

   1. **Kunci** – `AthenaDriverOidcAppArn`

   1. **Nilai** — ARN untuk AWS IAM Identity Center aplikasi.

1. Pilih **Simpan**.

Setelah administrator menyelesaikan pengaturan satu kali, mereka dapat mendistribusikan detail koneksi penting kepada pengguna mereka. Pengguna memerlukan lima parameter wajib ini untuk menjalankan beban kerja SQL:

1. **ApplicationRoleARN** — ARN peran aplikasi

1. **JwtWebIdentityToken**— Token JWT untuk verifikasi identitas

1. **WorkGroupParn - ARN** dari kelompok kerja Athena

1. **JwtRoleSessionName**— Nama sesi untuk peran JWT

1. **CredentialsProvider**— Konfigurasi penyedia kredensial

**catatan**  
Kami telah menyederhanakan konfigurasi string koneksi melalui penandaan strategis. Dengan menandai dengan benar baik workgroup Athena AWS IAM Identity Center dan aplikasi yang dikelola pelanggan, administrator menghilangkan kebutuhan pengguna untuk menyediakan dan. `AccessRoleArn` `CustomerIdcApplicationArn` Plugin menangani ini secara otomatis dengan menggunakan peran aplikasi untuk menemukan tag yang diperlukan dan mengambil nilai ARN yang sesuai untuk alur kerjanya.   
Administrator masih dapat membuat pengguna menyediakan `AccessRoleArn` atau `CustomerIdcApplicationArn` dalam string koneksi dengan menyesuaikan izin peran aplikasi sesuai kebutuhan.

## Jalankan kueri menggunakan propagasi identitas tepercaya yang mengaktifkan driver Athena
<a name="using-trusted-identity-propagation-step5"></a>

Unduh versi terbaru driver yang ingin Anda gunakan. Untuk informasi lebih lanjut tentang instalasi JDBC, lihat. [Memulai dengan driver JDBC 3.x](jdbc-v3-driver-getting-started.md) Anda dapat memilih untuk menginstal driver ODBC berdasarkan platform yang didukung. Untuk informasi selengkapnya, lihat [Memulai dengan driver ODBC 2.x](odbc-v2-driver-getting-started.md). Berdasarkan driver yang ingin Anda gunakan, berikan parameter yang tercantum dalam:
+ [Parameter koneksi plugin autentikasi JDBC](jdbc-v3-driver-jwt-tip-credentials.md)
+ [Parameter koneksi plugin autentikasi ODBC](odbc-v2-driver-jwt-tip.md)

**catatan**  
Propagasi identitas tepercaya dengan driver hanya tersedia setelah versi 3.6.0 di JDBC dan versi 2.0.5.0 di ODBC.

## Gunakan driver Athena dan propagasi identitas tepercaya dengan DBeaver
<a name="using-trusted-identity-propagation-step6"></a>

1. Unduh jar JDBC terbaru dengan dependensi dari Athena. Untuk informasi selengkapnya, lihat [Athena JDBC 3.x driver](jdbc-v3-driver.md).

1. Buka DBeaver aplikasi di komputer Anda.

1. Arahkan ke menu **Database** di bagian atas layar, lalu pilih **Pengelola Pengemudi**.

1. Pilih **Perpustakaan** **Baru** dan kemudian.

1. Tambahkan driver terbaru dan pilih **Find class**. Ini akan memberi Anda jalur file seperti`com.amazon.athena.jdbc.AthenaDriver`.

1. Buka tab **Pengaturan** dan berikan bidang berikut

   1. **Nama pengemudi** — Athena JDBC propagasi identitas tepercaya

   1. **Nama kelas** - `com.amazon.athena.jdbc.AthenaDriver`

   1. Pilih opsi **Tidak ada otentikasi.**

1. Pilih **Connect to a database** dan temukan propagasi identitas terpercaya Athena JDBC. Ini akan membawa Anda ke URL JDBC. Untuk informasi selengkapnya, lihat [Mengkonfigurasi driver](jdbc-v3-driver-getting-started.md#jdbc-v3-driver-configuring-the-driver).

1. Berikan rincian berikut

   1. **Workgroup** - Workgroup tempat Anda ingin menjalankan kueri. Untuk informasi tentang kelompok kerja, lihat [WorkGroup](https://docs.aws.amazon.com/athena/latest/APIReference/API_WorkGroup.html).

   1. **Wilayah** — AWS Region Tempat kueri akan dijalankan. Untuk daftar wilayah, lihat [titik akhir dan kuota Amazon Athena](https://docs.aws.amazon.com/general/latest/gr/athena.html).

   1. **OutputLocation**— Lokasi di Amazon S3 tempat Anda ingin menyimpan hasil kueri. Untuk informasi tentang lokasi keluaran, lihat [ResultConfiguration](https://docs.aws.amazon.com/athena/latest/APIReference/API_ResultConfiguration.html).

   1. **CredentialsProvider**— Masuk`JWT_TIP`.

   1. **ApplicationRoleArn**— ARN dari peran untuk mengaktifkan. `AssumeRoleWithWebIdentity` Untuk informasi selengkapnya tentang peran ARN, lihat [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)di referensi AWS Security Token Service API.

   1. **WorkgroupArn**— ARN dari workgroup tempat kueri akan berjalan. Itu harus kelompok kerja yang sama seperti yang disediakan di bidang **Workgroup**. Untuk informasi tentang kelompok kerja, lihat [WorkGroup](https://docs.aws.amazon.com/athena/latest/APIReference/API_WorkGroup.html).

   1. **JwtRoleSessionName**— Nama sesi saat Anda menggunakan kredensyal JWT untuk otentikasi. Itu bisa berupa nama pilihan Anda.

   1. **JwtWebIdentityToken**— Token JWT diperoleh dari penyedia identitas federasi eksternal. Token ini digunakan untuk mengautentikasi dengan Athena.

      ```
      jdbc:athena://Workgroup={{<value>}};Region={{<region>}};OutputLocation={{<location>}};CredentialsProvider=JWT_TIP;ApplicationRoleArn={{<arn>}};WorkgroupArn={{<arn>}};JwtRoleSessionName=JDBC_TIP_SESSION;JwtWebIdentityToken={{<token>}};
      ```

1. Pilih **OK** dan tutup jendela. DBeaver akan mulai memuat metadata Anda setelah langkah ini dan Anda harus mulai melihat katalog, database, dan tabel Anda terisi.
**catatan**  
Jika klaim JTI ada dalam token dan Anda memilih **Uji koneksi** sebelum memilih **OK**, itu mencegah JTI yang sama digunakan kembali untuk pertukaran token. Untuk informasi selengkapnya, lihat [Prasyarat dan pertimbangan](https://docs.aws.amazon.com/singlesignon/latest/userguide/using-apps-with-trusted-token-issuer.html#trusted-token-issuer-prerequisites) untuk penerbit token tepercaya. Untuk menangani ini, JDBC mengimplementasikan cache dalam memori, yang siklus hidupnya bergantung pada instance driver utama. Untuk ODBC, [cache file](odbc-v2-driver-jwt-tip.md#odbc-v2-driver-jwt-tip-file-cache) secara opsional hadir yang memungkinkan kredenal sementara untuk di-cache dan digunakan kembali untuk mengurangi jumlah token identitas web yang digunakan selama siklus hidup sesi.

1. Buka **editor kueri SQL** dan mulai menjalankan kueri Anda. Lihat [log Cloudtrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html) untuk memverifikasi identitas pengguna yang disebarkan.