

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

# Tutorial: Konfigurasikan akses federasi untuk pengguna Okta ke Athena menggunakan Lake Formation dan JDBC
<a name="security-athena-lake-formation-jdbc-okta-tutorial"></a>

Tutorial ini menunjukkan kepada Anda cara mengkonfigurasi Okta, AWS Lake Formation, AWS Identity and Access Management izin, dan driver Athena JDBC untuk mengaktifkan penggunaan federasi Athena berbasis SAMP. Lake Formation menyediakan kontrol akses berbutir halus atas data yang tersedia di Athena untuk pengguna berbasis SAML. Untuk mengatur konfigurasi ini, tutorial menggunakan konsol pengembang Okta, konsol AWS IAM dan Lake Formation, dan alat SQL. Workbench/J 
<a name="security-athena-lake-formation-jdbc-okta-tutorial-prerequisites"></a>
**Prasyarat**  
Tutorial ini mengasumsikan bahwa Anda telah melakukan hal berikut:
+ Membuat akun Amazon Web Services. Untuk membuat akun, kunjungi[Amazon Web Services](https://aws.amazon.com/).
+ [Menyiapkan lokasi hasil kueri](query-results-specify-location.md)para Athena en Amazon S3.
+ [Mendaftarkan lokasi bucket data Amazon S3](https://docs.aws.amazon.com/lake-formation/latest/dg/register-data-lake.html)dengan Lake Formation.
+ Ditetapkan sebuah[basis data](https://docs.aws.amazon.com/glue/latest/dg/define-database.html)dan[tabel](https://docs.aws.amazon.com/glue/latest/dg/tables-described.html)pada[AWS Glue Katalog data](https://docs.aws.amazon.com/glue/latest/dg/what-is-glue.html)Yang menunjuk ke data Anda di Amazon S3.
  + Jika Anda belum mendefinisikan tabel, [jalankan AWS Glue crawler](https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html) atau [gunakan Athena untuk menentukan database dan satu atau beberapa](work-with-data.md) tabel untuk data yang ingin Anda akses.
  + Tutorial ini menggunakan tabel berdasarkan [dataset perjalanan taksi NYC](https://registry.opendata.aws/nyc-tlc-trip-records-pds/) yang tersedia di [Registry data terbuka](https://registry.opendata.aws/). AWS Tutorial menggunakan nama database`tripdb`dan nama tabel`nyctaxi`.

**Topics**
+ [Langkah 1: Buat akun Okta](#security-athena-lake-formation-jdbc-okta-tutorial-step-1-create-an-okta-account)
+ [Langkah 2: Tambahkan pengguna dan grup ke Okta](#security-athena-lake-formation-jdbc-okta-tutorial-step-2-set-up-an-okta-application-for-saml-authentication)
+ [Langkah 3: Siapkan aplikasi Okta untuk otentikasi SAFL](#security-athena-lake-formation-jdbc-okta-tutorial-step-3-set-up-an-okta-application-for-saml-authentication)
+ [Langkah 4: Buat Penyedia Identitas AWS SALL dan Lake Formation mengakses peran IAM](#security-athena-lake-formation-jdbc-okta-tutorial-step-4-create-an-aws-saml-identity-provider-and-lake-formation-access-IAM-role)
+ [Langkah 5: Tambahkan peran IAM dan Penyedia Identitas SALL ke aplikasi Okta](#security-athena-lake-formation-jdbc-okta-tutorial-step-5-update-the-okta-application-with-the-aws-role-and-saml-identity-provider)
+ [Langkah 6: Berikan izin pengguna dan grup melalui AWS Lake Formation](#security-athena-lake-formation-jdbc-okta-tutorial-step-6-grant-permissions-through-aws-lake-formation)
+ [Langkah 7: Verifikasi akses melalui klien Athena JDBC](#security-athena-lake-formation-jdbc-okta-tutorial-step-7-verify-access-through-athena-jdbc-client)
+ [Kesimpulan](#security-athena-lake-formation-jdbc-okta-tutorial-conclusion)
+ [Sumber daya terkait](#security-athena-lake-formation-jdbc-okta-tutorial-related-resources)

## Langkah 1: Buat akun Okta
<a name="security-athena-lake-formation-jdbc-okta-tutorial-step-1-create-an-okta-account"></a>

Tutorial ini menggunakan Okta sebagai penyedia identitas berbasis SAML. Jika Anda belum memiliki akun Okta, Anda dapat membuat akun gratis. Akun Okta diperlukan agar Anda dapat membuat aplikasi Okta untuk otentikasi SAML.

**Untuk membuat akun**

1. Untuk menggunakan Okta, navigasikan ke[Halaman pendaftaran developer Okta](https://developer.okta.com/signup/)dan membuat akun percobaan Okta gratis. Layanan Edisi Developer tidak dipungut biaya hingga batas yang ditentukan oleh Okta di[developer.okta.com/pricing](https://developer.okta.com/pricing).

1. Saat Anda menerima email aktivasi, aktifkan akun Anda. 

   Nama domain Okta akan diberikan kepada Anda. Simpan nama domain untuk referensi. Kemudian, Anda menggunakan nama domain (*<okta-idp-domain>*) dalam string JDBC yang terhubung ke Athena.

## Langkah 2: Tambahkan pengguna dan grup ke Okta
<a name="security-athena-lake-formation-jdbc-okta-tutorial-step-2-set-up-an-okta-application-for-saml-authentication"></a>

Pada langkah ini, Anda menggunakan konsol Okta untuk melakukan tugas berikut:
+ Buat dua pengguna Okta.
+ Buat dua grup Okta.
+ Tambahkan satu pengguna Okta ke setiap grup Okta.

**Untuk menambahkan pengguna ke Okta**

1. Setelah Anda mengaktifkan akun Okta Anda, masuk sebagai pengguna administratif ke domain Okta yang ditetapkan.

1. Di panel navigasi kiri, pilih**Direktori**, lalu pilih**Orang**.

1. Pilih**Tambahkan Orang**untuk menambahkan pengguna baru yang akan mengakses Athena melalui driver JDBC.  
![\[PilihTambahkan Orang.\]](http://docs.aws.amazon.com/id_id/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-3.png)

1. Di**Tambahkan Orang**Di kotak dialog, masukkan informasi yang diperlukan.
   + Masukkan nilai untuk**Nama depan**dan**Nama terakhir**. Tutorial ini menggunakan *athena-okta-user*.
   + Masukkan**Nama pengguna**dan**Email utama**. Tutorial ini menggunakan *athena-okta-user@anycompany.com*.
   + Untuk**Kata Sandi**Pilih**Ditetapkan oleh admin**, dan kemudian memberikan sandi. Tutorial ini membersihkan pilihan untuk**Pengguna harus mengubah kata sandi pada login pertama**; persyaratan keamanan Anda mungkin berbeda.  
![\[Menambahkan pengguna ke aplikasi Okta.\]](http://docs.aws.amazon.com/id_id/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-4.png)

1. Pilih**Simpan dan Tambah Lainnya**.

1. Masukkan informasi untuk pengguna lain. Contoh ini menambahkan pengguna analis bisnis*athena-ba-user@anycompany.com*.  
![\[Menambahkan pengguna ke aplikasi Okta.\]](http://docs.aws.amazon.com/id_id/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-4a.png)

1. Pilih **Simpan**.

Dalam prosedur berikut, Anda menyediakan akses untuk dua grup Okta melalui driver Athena JDBC dengan menambahkan grup “Analis Bisnis” dan grup “Developer”.

**Untuk menambahkan grup Okta**

1. Dalam panel navigasi, pilih **Groups** lalu pilih **Create New Group**.

1. Pada**Grup**, pilih**Tambah Grup**.  
![\[Pilih Tambahkan grup kunci.\]](http://docs.aws.amazon.com/id_id/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-4c.png)

1. Di**Tambah Grup**Di kotak dialog, masukkan informasi yang diperlukan.
   + Untuk **Nama**, masukkan *lf-business-analyst*.
   + Untuk **Deskripsi Grup**, masukkan*Business Analysts*.  
![\[Menambahkan grup Okta.\]](http://docs.aws.amazon.com/id_id/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-4d.png)

1. Pilih **Tambahkan grup kunci**.

1. Pada**Grup**, pilih**Tambah Grup**Sekali lagi. Kali ini Anda akan memasukkan informasi untuk grup Developer.

1. Masukkan informasi yang diperlukan.
   + Untuk **Nama**, masukkan *lf-developer*.
   + Untuk **Deskripsi Grup**, masukkan*Developers*.

1. Pilih **Tambahkan grup kunci**.

Setelah Anda memiliki dua pengguna dan dua grup, Anda siap untuk menambahkan pengguna ke setiap grup.

**Untuk menambahkan pengguna ke grup**

1. Pada**Grup**, pilih**Pengembang lf**Grup yang baru saja Anda buat. Anda akan menambahkan salah satu pengguna Okta yang Anda buat sebagai developer ke grup ini.  
![\[PilihPengembang lf.\]](http://docs.aws.amazon.com/id_id/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-4f.png)

1. Pilih**Mengelola orang**.  
![\[PilihMengelola orang.\]](http://docs.aws.amazon.com/id_id/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-4g.png)

1. Dari daftar **Bukan Anggota**, pilih **athena-okta-user**.   
![\[Pilih pengguna untuk ditambahkan ke daftar anggota.\]](http://docs.aws.amazon.com/id_id/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-4h.png)

   Entri untuk pengguna bergerak dari**Bukan anggota**daftar di sebelah kiri ke**Anggota**Daftar di sebelah kanan.   
![\[Pengguna Okta ditambahkan ke grup Okta.\]](http://docs.aws.amazon.com/id_id/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-4i.png)

1. Pilih **Simpan**.

1. Pilih**Kembali ke Grup**, atau pilih**Direktori**, lalu pilih**Grup**.

1. Pilih **lf-business-analyst**grup.

1. Pilih**Mengelola orang**.

1. Tambahkan **athena-ba-user**ke daftar **Anggota **lf-business-analyst****grup, lalu pilih **Simpan**. 

1. Pilih**Kembali ke Grup**, atau pilih**Direktori**,**Grup**.

   Parameter**Grup**sekarang menunjukkan bahwa setiap grup memiliki satu pengguna Okta.  
![\[Satu pengguna telah ditambahkan ke setiap grup Okta di konsol Okta.\]](http://docs.aws.amazon.com/id_id/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-4j.png)

## Langkah 3: Siapkan aplikasi Okta untuk otentikasi SAFL
<a name="security-athena-lake-formation-jdbc-okta-tutorial-step-3-set-up-an-okta-application-for-saml-authentication"></a>

Pada langkah ini, Anda menggunakan konsol developer Okta untuk melakukan tugas berikut:
+ Tambahkan aplikasi SAFL untuk digunakan dengan AWS.
+ Tetapkan aplikasi ke pengguna Okta.
+ Menetapkan aplikasi ke grup Okta.
+ Unduh metadata penyedia identitas yang dihasilkan untuk digunakan nanti dengan AWS.

**Cara menambahkan aplikasi untuk otentikasi SAML**

1. Di panel navigasi Okta, pilih**Aplikasi**,**Aplikasi**sehingga Anda dapat mengonfigurasi aplikasi Okta untuk otentikasi SAML ke Athena.

1. Klik**Jelajahi Katalog Aplikasi**.

1. Dalam kotak pencarian, masukkan **Redshift**.

1. Pilih**Redshift Amazon Web Services**. Aplikasi Okta dalam tutorial ini menggunakan integrasi SAML yang ada untuk Amazon Redshift.  
![\[PilihRedshift Amazon Web Services.\]](http://docs.aws.amazon.com/id_id/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-7.png)

1. Pada**Redshift Amazon Web Services**, pilih**Tambahkan**Untuk membuat aplikasi berbasis SAML untuk Amazon Redshift.  
![\[PilihTambahkanUntuk membuat aplikasi berbasis SAML.\]](http://docs.aws.amazon.com/id_id/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-8.png)

1. Untuk**Aplikasi label**, masukkan`Athena-LakeFormation-Okta`, lalu pilih**Selesai**.  
![\[Masukkan nama untuk aplikasi Okta.\]](http://docs.aws.amazon.com/id_id/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-9.png)

Sekarang setelah Anda membuat aplikasi Okta, Anda dapat menetapkannya ke pengguna dan grup yang Anda buat.

**Menetapkan aplikasi ke pengguna dan grup**

1. Pada halaman **Aplikasi**, pilih aplikasi **Athena- LakeFormation -Okta**.

1. Pada**Penugasan**tab, pilih**Tetapkan**,**Tugaskan ke Orang**.  
![\[PilihTetapkan,Tugaskan ke Orang.\]](http://docs.aws.amazon.com/id_id/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-10.png)

1. Di kotak dialog **Tetapkan Athena-LakeFormation-Okta ke Orang**, temukan **athena-okta-user**pengguna yang Anda buat sebelumnya.

1. Pilih**Tetapkan**untuk menetapkan pengguna ke aplikasi.  
![\[PilihTetapkan.\]](http://docs.aws.amazon.com/id_id/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-11.png)

1. Pilih**Simpan dan Kembali**.

1. Pilih**Selesai**.

1. **Pada tab **Tugas** untuk aplikasi **Athena LakeFormation -** -Okta, **pilih** Tetapkan, Tetapkan ke Grup.** 

1. **Untuk **lf-business-analyst**, pilih **Tetapkan untuk menetapkan** aplikasi **Athena- LakeFormation -Okta** ke **lf-business-analyst**grup, lalu pilih Selesai.**  
![\[Menetapkan aplikasi Okta ke grup pengguna Okta.\]](http://docs.aws.amazon.com/id_id/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-12b.png)

   Grup muncul dalam daftar grup untuk aplikasi.  
![\[Aplikasi Okta ditugaskan ke grup Okta.\]](http://docs.aws.amazon.com/id_id/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-12c.png)

Sekarang Anda siap mengunduh metadata aplikasi penyedia identitas untuk digunakan dengan AWS.

**Untuk mengunduh metadata aplikasi**

1. Pilih aplikasi Okta**Tanda Pada**tab, dan kemudian klik kanan**Metadata penyedia identitas**.  
![\[Klik kananMetadata penyedia identitas.\]](http://docs.aws.amazon.com/id_id/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-13.png)

1. Pilih**Simpan Tautan Sebagai**untuk menyimpan metadata penyedia identitas, yang dalam format XML, ke file. Berikan nama yang Anda kenali (misalnya,`Athena-LakeFormation-idp-metadata.xml`).  
![\[Menyimpan metadata penyedia identitas.\]](http://docs.aws.amazon.com/id_id/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-14.png)

## Langkah 4: Buat Penyedia Identitas AWS SALL dan Lake Formation mengakses peran IAM
<a name="security-athena-lake-formation-jdbc-okta-tutorial-step-4-create-an-aws-saml-identity-provider-and-lake-formation-access-IAM-role"></a>

Pada langkah ini, Anda menggunakan konsol AWS Identity and Access Management (IAM) untuk melakukan tugas-tugas berikut:
+ Buat penyedia identitas untuk AWS.
+ Buat IAM role untuk akses Lake Formation.
+ Tambahkan kebijakan AmazonAthenaFullAccess terkelola ke peran.
+ Tambahkan kebijakan untuk Lake Formation dan AWS Glue peran.
+ Menambahkan kebijakan untuk Athena hasil kueri untuk peran.

**Untuk membuat penyedia identitas AWS SAFL**

1. Masuk ke **konsol** **akun Amazon Web Services sebagai administrator akun** **Amazon Web Services** dan navigasikan ke konsol **IAM** ([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)).

1. Di panel navigasi, pilih **Penyedia identitas**, lalu klik **Tambah penyedia**.

1. Pada layar **Konfigurasi penyedia**, masukkan informasi berikut:
   + Untuk **tipe Provider**, pilih **SAFL**.
   + Untuk **nama Penyedia**, masukkan`AthenaLakeFormationOkta`.
   + Untuk **dokumen Metadata**, gunakan opsi **Pilih file untuk mengunggah file** XMLmetadata penyedia identitas (iDP) yang Anda unduh.

1. Pilih **Tambah penyedia**.

Selanjutnya, Anda membuat peran IAM untuk AWS Lake Formation akses. Anda menambahkan dua inline kebijakan untuk peran. Satu kebijakan memberikan izin untuk mengakses Lake Formation dan. AWS Glue APIs Kebijakan lainnya menyediakan akses ke Athena dan lokasi hasil kueri Athena di Amazon S3.

**Untuk membuat peran IAM untuk akses AWS Lake Formation**

1. Di panel navigasi konsol IAM, pilih **Peran**, dan lalu pilih **Buat peran**.

1. Pada halaman **Buat peran**, lakukan langkah-langkah berikut:  
![\[Mengonfigurasi IAM role untuk menggunakan SAML 2.0.\]](http://docs.aws.amazon.com/id_id/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-20.png)

   1. Untuk **Pilih jenis entitas terpercaya**, pilih **Federasi SAML 2.0.**

   1. Untuk **penyedia SAFL**, pilih **AthenaLakeFormationOkta**.

   1. Untuk **penyedia SAFL**, pilih opsi **Izinkan programatik dan Konsol Manajemen AWS akses**.

   1. Pilih **Berikutnya: Izin**.

1. Pada**Melampirkan kebijakan Izin**halaman, untuk**Kebijakan filter**, masukkan**Athena**.

1. Pilih kebijakan **AmazonAthenaFullAccess**terkelola, lalu pilih **Berikutnya: Tag**.  
![\[Melampirkan kebijakan yang AmazonAthenaFullAccessdikelola ke peran IAM.\]](http://docs.aws.amazon.com/id_id/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-21.png)

1. Pada halaman **Tambahkan tanda**, pilih **Berikutnya:**

1. Pada halaman **Tinjauan**, untuk **nama Peran**, masukkan nama untuk peran (misalnya,*Athena-LakeFormation-OktaRole*), lalu pilih **Buat peran**.  
![\[Masukkan Nama IAM role.\]](http://docs.aws.amazon.com/id_id/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-22.png)

Selanjutnya, Anda menambahkan kebijakan sebaris yang mengizinkan akses ke Lake Formation AWS Glue APIs, dan hasil kueri Athena di Amazon S3. 

Setiap kali Anda menggunakan kebijakan IAM, pastikan bahwa Anda mengikuti praktik terbaik IAM. Untuk informasi selengkapnya tentang administrator, lihat [Praktik terbaik keamanan di IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) dalam *Panduan Pengguna IAM*.

**Untuk menambahkan kebijakan inline ke peran Lake Formation dan AWS Glue**

1. Dari daftar peran di konsol IAM, pilih opsi baru dibuat`Athena-LakeFormation-OktaRole`.

1. Pada**Ringkasan**halaman untuk peran, pada**Izin**tab, pilih**Tambahkan kebijakan inline**.

1. Di halaman **Buat kebijakan**, pilih **JSON**.

1. Tambahkan kebijakan inline seperti berikut ini yang menyediakan akses ke Lake Formation dan file. AWS Glue APIs

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": {
           "Effect": "Allow",
           "Action": [
               "lakeformation:GetDataAccess",
               "glue:GetTable",
               "glue:GetTables",
               "glue:GetDatabase",
               "glue:GetDatabases",
               "glue:CreateDatabase",
               "glue:GetUserDefinedFunction",
               "glue:GetUserDefinedFunctions"
           ],
           "Resource": "*"
       }
   }
   ```

------

1. Pilih **Tinjau kebijakan**.

1. Untuk **Nama**, masukkan nama untuk kebijakan (misalnya, **LakeFormationGlueInlinePolicy**).

1. Pilih **Buat kebijakan**.

**Untuk menambahkan kebijakan inline untuk peran untuk lokasi hasil permintaan Athena**

1. Pada**Ringkasan**halaman untuk`Athena-LakeFormation-OktaRole`peran, pada**Izin**tab, pilih**Tambahkan kebijakan inline**.

1. Di halaman **Buat kebijakan**, pilih tab JSON.

1. Tambahkan kebijakan inline seperti berikut yang memungkinkan akses peran ke lokasi hasil permintaan Athena. Ganti *<athena-query-results-bucket>* placeholder dalam contoh dengan nama bucket Amazon S3 Anda.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "AthenaQueryResultsPermissionsForS3",
               "Effect": "Allow",
               "Action": [
                   "s3:ListBucket",
                   "s3:PutObject",
                   "s3:GetObject"
               ],
               "Resource": [
                   "arn:aws:s3:::<athena-query-results-bucket>",
                   "arn:aws:s3:::<athena-query-results-bucket>/*"
               ]
           }
       ]
   }
   ```

------

1. Pilih **Tinjau kebijakan**.

1. Untuk **Nama**, masukkan nama untuk kebijakan (misalnya, **AthenaQueryResultsInlinePolicy**).

1. Pilih **Buat kebijakan**.

Selanjutnya, Anda menyalin ARN peran akses Lake Formation dan ARN penyedia SAML yang Anda buat. Ini diperlukan saat Anda mengonfigurasi aplikasi Okta SAML di bagian berikutnya dari tutorial.

**Untuk menyalin peran ARN dan SAML identitas penyedia ARN**

1. Di konsol IAM, pada**Ringkasan**halaman untuk`Athena-LakeFormation-OktaRole`peran, pilih**Salin ke clipboard**ikon di samping**ARN ARN**. ARN memiliki format berikut:

   ```
   arn:aws:iam::<account-id>:role/Athena-LakeFormation-OktaRole
   ```

1. Simpan ARN penuh aman untuk referensi nanti.

1. Di panel navigasi konsol IAM, pilih**Penyedia identitas**.

1. Pilih **AthenaLakeFormationOkta**penyedia.

1. Pada**Ringkasan**, pilih**Salin ke clipboard**ikon di samping**Penyedia ARN**. Outputnya akan terlihat seperti berikut:

   ```
   arn:aws:iam::<account-id>:saml-provider/AthenaLakeFormationOkta
   ```

1. Simpan ARN penuh aman untuk referensi nanti.

## Langkah 5: Tambahkan peran IAM dan Penyedia Identitas SALL ke aplikasi Okta
<a name="security-athena-lake-formation-jdbc-okta-tutorial-step-5-update-the-okta-application-with-the-aws-role-and-saml-identity-provider"></a>

Pada langkah ini, Anda kembali ke konsol developer Okta dan melakukan tugas berikut:
+ Tambahkan pengguna dan grup atribut URL Lake Formation ke aplikasi Okta.
+ Menambahkan ARN untuk penyedia identitas dan ARN untuk IAM role untuk aplikasi Okta.
+ Salin ID aplikasi Okta. ID aplikasi Okta diperlukan dalam profil JDBC yang terhubung ke Athena.

**Untuk menambahkan pengguna dan grup atribut URL Lake Formation ke aplikasi Okta**

1. Masuk ke konsol developer Okta.

1. Pilih**Aplikasi**tab, dan kemudian pilih`Athena-LakeFormation-Okta`aplikasi.

1. Pilih pada**Tanda Pada**tab untuk aplikasi, dan kemudian pilih**Mengedit**.  
![\[Edit aplikasi Okta.\]](http://docs.aws.amazon.com/id_id/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-24.png)

1. Pilih**Atribut (opsional)**untuk memperluasnya.  
![\[Menambahkan pengguna Lake Formation URL atribut ke aplikasi Okta.\]](http://docs.aws.amazon.com/id_id/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-25.png)

1. Untuk**Pernyataan atribut (opsional)**, tambahkan atribut berikut:
   + Untuk **Nama**, masukkan **https://lakeformation.amazon.com/SAML/Attributes/Username**.
   + Untuk **Nilai**, masukkan **user.login**.

1. Di bawah**Kelompok Pernyataan Atribut (opsional)**, tambahkan atribut berikut:
   + Untuk **Nama**, masukkan **https://lakeformation.amazon.com/SAML/Attributes/Groups**.
   + Untuk**Format nama**, masukkan**Basic**
   + Untuk**Filter**Pilih**Cocok regex**, dan kemudian masukkan**.\$1**di kotak filter.  
![\[Menambahkan grup Lake Formation URL atribut untuk aplikasi Okta.\]](http://docs.aws.amazon.com/id_id/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-25a.png)

1. Gulir ke bawah ke bagian **Pengaturan Masuk Lanjutan**, di mana Anda akan menambahkan penyedia identitas dan Peran IAM ARNs ke aplikasi Okta.

**Untuk menambahkan ARNs untuk penyedia identitas dan peran IAM ke aplikasi Okta**

1. Untuk **Idp ARN dan ARN Peran**, masukkan penyedia AWS identitas ARN dan peran ARN sebagai nilai yang dipisahkan koma dalam format,. *<saml-arn>* *<role-arn>* String gabungan akan terlihat seperti berikut:

   ```
   arn:aws:iam::<account-id>:saml-provider/AthenaLakeFormationOkta,arn:aws:iam::<account-id>:role/Athena-LakeFormation-OktaRole
   ```  
![\[Memasuki ARN penyedia identitas dan IAM role ARN dalam aplikasi Okta.\]](http://docs.aws.amazon.com/id_id/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-26.png)

1. Pilih **Simpan**.

Selanjutnya, Anda menyalin ID aplikasi Okta. Anda akan membutuhkan ini nanti untuk string JDBC yang menghubungkan ke Athena.

**Untuk mencari dan menyalin ID aplikasi Okta**

1. Pilih**Umum**tab aplikasi Okta.  
![\[PilihUmumtab aplikasi Okta.\]](http://docs.aws.amazon.com/id_id/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-27.png)

1. Gulir ke bawah ke**Tautan Sematkan Aplikasi**Bagian.

1. Dari**Tautan Sematkan**, salin dan simpan dengan aman bagian ID aplikasi Okta dari URL. ID aplikasi Okta adalah bagian dari URL setelah`amazon_aws_redshift/`tapi sebelum garis miring berikutnya. Misalnya, jika URL berisi`amazon_aws_redshift/aaa/bbb`, ID aplikasi adalah`aaa`.   
![\[Salin ID dari aplikasi Okta.\]](http://docs.aws.amazon.com/id_id/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-28.png)

**catatan**  
Tautan sematan tidak dapat digunakan untuk masuk langsung ke konsol Athena untuk melihat database. Izin Lake Formation untuk pengguna dan grup SALL hanya dikenali jika Anda menggunakan driver JDBC atau ODBC untuk mengirimkan kueri ke Athena. Untuk melihat database, Anda dapat menggunakan Workbench/J alat SQL, yang menggunakan driver JDBC untuk terhubung ke Athena. Workbench/J Alat SQL tercakup dalam[Langkah 7: Verifikasi akses melalui klien Athena JDBC](#security-athena-lake-formation-jdbc-okta-tutorial-step-7-verify-access-through-athena-jdbc-client).

## Langkah 6: Berikan izin pengguna dan grup melalui AWS Lake Formation
<a name="security-athena-lake-formation-jdbc-okta-tutorial-step-6-grant-permissions-through-aws-lake-formation"></a>

Pada langkah ini, Anda menggunakan konsol Lake Formation untuk memberikan izin pada tabel untuk pengguna dan grup SAML. Anda harus melakukan langkah-langkah berikut:
+ Tentukan ARN dari pengguna Okta SAML dan izin pengguna terkait di atas tabel.
+ Tentukan ARN dari grup Okta SAML dan izin grup terkait di atas tabel.
+ Verifikasi izin yang Anda berikan.

**Untuk memberikan izin di Lake Formation untuk pengguna Okta**

1. Masuk sebagai administrator danau data ke Konsol Manajemen AWS. 

1. Buka konsol Lake Formation di [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/).

1. Dari panel navigasi, pilih**Tabel**, kemudian pilih tabel yang ingin Anda berikan izin untuk. Tutorial ini menggunakan`nyctaxi`tabel dari`tripdb`basis data.  
![\[Pilih tabel yang ingin Anda berikan izin untuk.\]](http://docs.aws.amazon.com/id_id/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-29.png)

1. Dari**Tindakan**Pilih**Izin**.  
![\[PilihIzin.\]](http://docs.aws.amazon.com/id_id/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-30.png)

1. Di**Berikan izin**, masukkan informasi berikut:

   1. Di bawah **pengguna dan grup SAFL dan Amazon Quick**, masukkan ARN pengguna OKTA SALL dalam format berikut:

      ```
      arn:aws:iam::<account-id>:saml-provider/AthenaLakeFormationOkta:user/<athena-okta-user>@<anycompany.com>       
      ```

   1. Untuk**Kolom**, untuk**Pilih jenis filter**, dan opsional memilih**Sertakan kolom**atau**Mengecualikan kolom**.

   1. Gunakan**Pilih satu kolom atau lebih**di bawah filter untuk menentukan kolom yang ingin Anda sertakan atau kecualikan untuk atau dari pengguna.

   1. Untuk**Izin tabel**Pilih**Pilih**. Tutorial ini hanya memberikan`SELECT`; kebutuhan Anda mungkin berbeda.  
![\[Pemberian tabel dan kolom-level izin untuk pengguna Okta.\]](http://docs.aws.amazon.com/id_id/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-31.png)

1. Pilih**Izin**.

Sekarang Anda melakukan langkah serupa untuk grup Okta.

**Untuk memberikan izin di Lake Formation untuk grup Okta**

1. Pada**Tabel**konsol Lake Formation, pastikan bahwa**nyctaxi**tabel masih dipilih.

1. Dari**Tindakan**Pilih**Izin**.

1. Di**Berikan izin**, masukkan informasi berikut:

   1. Di bawah **pengguna dan grup SAFL dan Amazon Quick**, masukkan ARN grup OKTA SALL dalam format berikut:

      ```
      arn:aws:iam::<account-id>:saml-provider/AthenaLakeFormationOkta:group/lf-business-analyst
      ```

   1. Untuk**Kolom**,**Pilih jenis filter**Pilih**Sertakan kolom**.

   1. Untuk**Pilih satu kolom atau lebih**, pilih tiga kolom pertama dari tabel.

   1. Untuk**Izin tabel**, pilih izin akses khusus untuk diberikan. Tutorial ini hanya memberikan`SELECT`; kebutuhan Anda mungkin berbeda.  
![\[Memberikan izin tabel untuk grup Okta.\]](http://docs.aws.amazon.com/id_id/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-31b.png)

1. Pilih**Izin**.

1. Untuk memverifikasi izin yang Anda berikan, pilih**Tindakan**,**Lihat izin**.  
![\[PilihLihat izinuntuk memverifikasi izin yang diberikan.\]](http://docs.aws.amazon.com/id_id/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-32.png)

   Halaman **izin data** untuk `nyctaxi` tabel menunjukkan izin untuk **athena-okta-user**dan grup. **lf-business-analyst**  
![\[Melihat izin yang diberikan kepada pengguna Okta dan grup.\]](http://docs.aws.amazon.com/id_id/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-33.png)

## Langkah 7: Verifikasi akses melalui klien Athena JDBC
<a name="security-athena-lake-formation-jdbc-okta-tutorial-step-7-verify-access-through-athena-jdbc-client"></a>

Sekarang Anda siap untuk menggunakan klien JDBC untuk melakukan koneksi tes ke Athena sebagai pengguna Okta SAML. 

Di bagian ini, Anda harus melakukan tugas berikut:
+ Mempersiapkan klien uji — Download driver Athena JDBC, menginstal SQL Workbench, dan menambahkan driver untuk Workbench. Tutorial ini menggunakan SQL Workbench untuk mengakses Athena melalui otentikasi Okta dan untuk memverifikasi izin Lake Formation.
+ NoSQL Workbench
  + Buat koneksi untuk pengguna Athena Okta.
  + Jalankan kueri tes sebagai pengguna Athena Okta.
  + Membuat dan menguji koneksi untuk pengguna analis bisnis.
+ Di konsol Okta, tambahkan pengguna analis bisnis ke grup developer.
+ Di konsol Lake Formation, konfigurasikan izin tabel untuk grup developer.
+ Dalam SQL Workbench, jalankan kueri tes sebagai pengguna analis bisnis dan memverifikasi bagaimana perubahan izin mempengaruhi hasil.

**Untuk menyiapkan klien uji**

1. Unduh dan ekstrak driver Athena JDBC yang kompatibel dengan Lake Formation (2.0.14 atau versi yang lebih baru) dari[Connect ke Amazon Athena dengan JDBC](connect-with-jdbc.md).

1. Unduh dan instal[SQL Workbench /J](https://www.sql-workbench.eu/index.html)Alat kueri SQL, tersedia di bawah lisensi Apache 2.0 yang dimodifikasi.

1. Dalam SQL Workbench, pilih**Berkas**, lalu pilih**Mengelola driver**.  
![\[PilihMengelola driver.\]](http://docs.aws.amazon.com/id_id/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-verify-access-1.png)

1. Di**Mengelola driver**, lakukan langkah-langkah berikut:

   1. Pilih ikon pemandu baru.

   1. Untuk **Nama**, masukkan **Athena**.

   1. Untuk**Perpustakaan**, browse ke dan pilih Simba Athena JDBC`.jar`yang baru saja diunduh.

   1. Pilih **OK**.  
![\[Menambahkan driver Athena JDBC untuk SQL Workbench.\]](http://docs.aws.amazon.com/id_id/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-verify-access-2.png)

Anda sekarang siap untuk membuat dan menguji koneksi untuk pengguna Athena Okta.

**Untuk membuat koneksi untuk pengguna Okta**

1. Pilih**Berkas**,**Connect jendela**.  
![\[PilihConnect jendela.\]](http://docs.aws.amazon.com/id_id/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-verify-access-3.png)

1. Di**Profil koneksi**kotak dialog, membuat koneksi dengan memasukkan informasi berikut:
   + Di Nama , masukkan**Athena\$1Okta\$1User\$1Connection**
   + Untuk**Driver**, pilih Sopir Simba Athena JDBC.
   + Untuk **Source**, lakukan salah satu hal berikut:
     + Untuk menggunakan URL koneksi, masukkan string koneksi satu baris. Contoh berikut menambahkan jeda baris untuk dibaca.

       ```
       jdbc:awsathena://AwsRegion=region-id;
       S3OutputLocation=s3://amzn-s3-demo-bucket/athena_results;
       AwsCredentialsProviderClass=com.simba.athena.iamsupport.plugin.OktaCredentialsProvider;
       user=athena-okta-user@anycompany.com;
       password=password;
       idp_host=okta-idp-domain;
       App_ID=okta-app-id;
       SSL_Insecure=true;
       LakeFormationEnabled=true;
       ```
     + Untuk menggunakan URL AWS berbasis profil, lakukan langkah-langkah berikut:

       1. Konfigurasikan [AWS profil](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) yang memiliki file AWS kredensial seperti contoh berikut.

          ```
          [athena_lf_dev]
          plugin_name=com.simba.athena.iamsupport.plugin.OktaCredentialsProvider
          idp_host=okta-idp-domain
          app_id=okta-app-id
          uid=athena-okta-user@anycompany.com
          pwd=password
          ```

       1. Untuk**URL**, masukkan string koneksi single-line seperti contoh berikut. Contoh menambahkan jeda baris untuk dibaca.

          ```
          jdbc:awsathena://AwsRegion=region-id;
          S3OutputLocation=s3://amzn-s3-demo-bucket/athena_results;
          profile=athena_lf_dev;
          SSL_Insecure=true;
          LakeFormationEnabled=true;
          ```

     Perhatikan bahwa contoh-contoh ini adalah representasi dasar dari URL yang diperlukan untuk terhubung ke Athena. Untuk daftar lengkap parameter yang didukung di URL, lihat dokumentasi [JDBC](connect-with-jdbc.md).

   Gambar berikut menunjukkan profil koneksi SQL Workbench yang menggunakan URL koneksi.  
![\[Profil koneksi di SQL Workbench.\]](http://docs.aws.amazon.com/id_id/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-verify-access-4.png)

Sekarang bahwa Anda telah membuat koneksi untuk pengguna Okta, Anda dapat mengujinya dengan mengambil beberapa data.

**Untuk menguji koneksi untuk pengguna Okta**

1. Pilih**Uji**, dan kemudian verifikasi bahwa koneksi berhasil.

1. Dari SQL Workbench**Pernyataan**, jalankan SQL berikut`DESCRIBE`Perintah. Verifikasi bahwa semua kolom ditampilkan.

   ```
   DESCRIBE "tripdb"."nyctaxi"
   ```  
![\[Semua kolom ditampilkan.\]](http://docs.aws.amazon.com/id_id/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-verify-access-5.png)

1. Dari SQL Workbench**Pernyataan**, jalankan SQL berikut`SELECT`Perintah. Verifikasi bahwa semua kolom ditampilkan.

   ```
   SELECT * FROM tripdb.nyctaxi LIMIT 5
   ```  
![\[Verifikasi bahwa semua kolom ditampilkan.\]](http://docs.aws.amazon.com/id_id/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-verify-access-6.png)

Selanjutnya, Anda memverifikasi bahwa **athena-ba-user**, sebagai anggota **lf-business-analyst**grup, hanya memiliki akses ke tiga kolom pertama dari tabel yang Anda tentukan sebelumnya di Lake Formation.

**Untuk memverifikasi akses untuk **athena-ba-user****

1. Dalam SQL Workbench, dalam**Profil koneksi**kotak dialog, membuat profil koneksi lain.
   + Untuk nama profil koneksi, masukkan** Athena\$1Okta\$1Group\$1Connection**.
   + Untuk**Driver**, pilih driver Simba Athena JDBC.
   + Untuk **Source**, lakukan salah satu hal berikut:
     + Untuk menggunakan URL koneksi, masukkan string koneksi satu baris. Contoh berikut menambahkan jeda baris untuk dibaca.

       ```
       jdbc:awsathena://AwsRegion=region-id;
       S3OutputLocation=s3://amzn-s3-demo-bucket/athena_results;
       AwsCredentialsProviderClass=com.simba.athena.iamsupport.plugin.OktaCredentialsProvider;
       user=athena-ba-user@anycompany.com;
       password=password;
       idp_host=okta-idp-domain;
       App_ID=okta-application-id;
       SSL_Insecure=true;
       LakeFormationEnabled=true;
       ```
     + Untuk menggunakan URL AWS berbasis profil, lakukan langkah-langkah berikut:

       1. Konfigurasikan AWS profil yang memiliki file kredensial seperti contoh berikut.

          ```
          [athena_lf_ba]
          plugin_name=com.simba.athena.iamsupport.plugin.OktaCredentialsProvider
          idp_host=okta-idp-domain
          app_id=okta-application-id
          uid=athena-ba-user@anycompany.com
          pwd=password
          ```

       1. Untuk**URL**, masukkan string koneksi single-line seperti berikut. Contoh menambahkan jeda baris untuk dibaca.

          ```
          jdbc:awsathena://AwsRegion=region-id;
          S3OutputLocation=s3://amzn-s3-demo-bucket/athena_results;
          profile=athena_lf_ba;
          SSL_Insecure=true;
          LakeFormationEnabled=true;
          ```

1. Pilih**Uji**untuk mengkonfirmasi bahwa koneksi berhasil.

1. Dari**Pernyataan SQL**jendela, jalankan yang sama`DESCRIBE`dan`SELECT`Perintah SQL yang Anda lakukan sebelum dan memeriksa hasil.

   Karena **athena-ba-user**adalah anggota **lf-business-analyst**grup, hanya tiga kolom pertama yang Anda tentukan di konsol Lake Formation yang dikembalikan.  
![\[Hanya tiga kolom pertama dikembalikan.\]](http://docs.aws.amazon.com/id_id/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-verify-access-7.png)  
![\[Data dari tiga kolom pertama.\]](http://docs.aws.amazon.com/id_id/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-verify-access-8.png)

Selanjutnya, Anda kembali ke konsol Okta untuk menambahkan`athena-ba-user`ke`lf-developer`Grup Okta.

**Untuk menambahkan athena-ba-user ke grup pengembang lf**

1. Masuk ke konsol Okta sebagai pengguna administratif dari domain Okta yang ditugaskan.

1. Pilih **Grup**, lalu pilih **Tester**.

1. Pada halaman Grup, pilih opsi**Pengembang lf**kelompok.  
![\[PilihPengembang lfkelompok.\]](http://docs.aws.amazon.com/id_id/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-verify-access-9.png)

1. Pilih**Mengelola orang**.

1. Dari daftar **Bukan Anggota**, pilih **athena-ba-user**untuk menambahkannya ke grup **pengembang lf**.

1. Pilih **Simpan**.

Sekarang Anda kembali ke konsol Lake Formation untuk mengonfigurasi izin tabel untuk**Pengembang lf**kelompok.

**Untuk mengkonfigurasi izin tabel untuk lf-developer-group**

1. Masuk ke konsol Lake Formation sebagai administrator Data Lake.

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

1. Pilih**nyctaxi**tabel.

1. Pilih**Tindakan**,**Izin**.

1. Di**Berikan Izin**, masukkan informasi berikut:
   + Untuk **pengguna dan grup SAFL dan Amazon Quick, masukkan ARN grup** pengembang lf Okta SAM dalam format berikut:
   + Untuk **Kolom**, **Pilih jenis filter**, pilih **Sertakan kolom**.
   + Pilih kolom **trip\$1type**.
   + Untuk**Izin tabel**, pilih **SELECT**.

1. Pilih **Izin**.

Sekarang Anda dapat menggunakan SQL Workbench untuk memverifikasi perubahan izin untuk grup **If-developer**. Perubahan harus tercermin dalam data yang tersedia untuk **athena-ba-user**, yang sekarang menjadi anggota grup **pengembang lf**.

**Untuk memverifikasi perubahan izin untuk athena-ba-user**

1. Tutup program SQL Workbench, dan kemudian buka kembali.

1. Connect ke profil untuk **athena-ba-user**.

1. Dari**Pernyataan**jendela, masalah pernyataan SQL yang sama yang Anda jalankan sebelumnya:

   Kali ini,**trip\$1type**kolom ditampilkan.  
![\[Kolom keempat tersedia untuk kueri.\]](http://docs.aws.amazon.com/id_id/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-verify-access-10.png)

   Karena **athena-ba-user**sekarang menjadi anggota **pengembang lf** dan **lf-business-analyst**grup, kombinasi izin Lake Formation untuk grup tersebut menentukan kolom yang dikembalikan.  
![\[Kolom keempat dalam hasil data.\]](http://docs.aws.amazon.com/id_id/athena/latest/ug/images/security-athena-lake-formation-jdbc-okta-tutorial-verify-access-11.png)

## Kesimpulan
<a name="security-athena-lake-formation-jdbc-okta-tutorial-conclusion"></a>

Dalam tutorial ini Anda mengonfigurasi integrasi Athena dengan AWS Lake Formation menggunakan Okta sebagai penyedia SAFL. Anda menggunakan Lake Formation dan IAM untuk mengontrol sumber daya yang tersedia untuk pengguna SAFL di Katalog Data lake AWS Glue data Anda.

## Sumber daya terkait
<a name="security-athena-lake-formation-jdbc-okta-tutorial-related-resources"></a>

Untuk informasi terkait, lihat sumber daya berikut:
+ [Connect ke Amazon Athena dengan JDBC](connect-with-jdbc.md)
+ [Aktifkan akses federasi ke Athena API](access-federation-saml.md)
+ [AWS Lake Formation Panduan Pengembang](https://docs.aws.amazon.com/lake-formation/latest/dg/)
+ [Memberikan dan mencabut izin Katalog Data](https://docs.aws.amazon.com/lake-formation/latest/dg/granting-catalog-permissions.html) *di Panduan Pengembang.AWS Lake Formation *
+ [Penyedia identitas dan federasi](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers.html) dalam *Panduan Pengguna IAM*.
+ [Membuat penyedia identitas SALL IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml.html) di Panduan Pengguna *IAM*.
+ [Mengaktifkan federasi untuk AWS menggunakan Windows Active Directory, ADFS, dan SAMP 2.0 di Blog](https://aws.amazon.com/blogs/security/enabling-federation-to-aws-using-windows-active-directory-adfs-and-saml-2-0/) *Keamanan.AWS *