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
Bagian berikut mencantumkan proses menghubungkan Athena ke Pusat Identitas IAM.
Siapkan penerbit token tepercaya
Ikuti Menyiapkan panduan penerbit token tepercaya 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.
Siapkan peran IAM
Siapkan peran aplikasi IAM
Buka konsol IAM di https://console.aws.amazon.com/iam/
. -
Pada navigasi kiri, pilih Peran dan kemudian pilih Buat peran.
-
Untuk jenis entitas Tepercaya, pilih Kebijakan kepercayaan khusus sebagai berikut:
-
Untuk Principal Federasi, tambahkan ARN AWS untuk penyedia identitas IAM yang Anda salin selama penyiapan penerbit token tepercaya.
-
Untuk kondisi kebijakan, tambahkan audiens dari penyedia identitas federasi eksternal Anda.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "arn:aws:iam::111122223333:oidc-provider/issuer-url" }, "Action": [ "sts:AssumeRoleWithWebIdentity" ], "Condition": { "StringEquals": { "issuer:aud": "identity-provider-audience" } } } ] }
-
-
Tambahkan kebijakan inline berikut untuk memberikan akses kepada pengguna untuk CreateTokenWithIAM, ListTagsForResource, dan AssumeRoleWithWebIdentityizin.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "athena:ListTags*", "sso:ListTags*" ], "Resource": "*" } ] }catatan
CreateTokenWithIamizin diberikan dalam aplikasi Pusat Identitas IAM yang dikelola pelanggan. -
Salin ARN untuk peran aplikasi.
Siapkan peran akses IAM
Buka konsol IAM di https://console.aws.amazon.com/iam/
. -
Pada navigasi kiri, pilih Peran dan kemudian pilih Buat peran.
-
Untuk jenis entitas Tepercaya, pilih Kebijakan kepercayaan khusus sebagai berikut:
-
Untuk Principal Federasi, tambahkan ARN AWS untuk IAM Identity Center yang disalin selama penyiapan penerbit token tepercaya.
-
Untuk AWS Principal, tambahkan ARN untuk peran aplikasi AWS IAM yang disalin selama pengaturan peran aplikasi IAM.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/application-role-arn" }, "Action": [ "sts:AssumeRole", "sts:SetContext" ] }, { "Effect": "Allow", "Principal": { "Federated": "arn:aws:iam::111122223333:oidc-provider/issuer-url" }, "Action": [ "sts:AssumeRole" ] } ] }
-
-
Tambahkan kebijakan inline berikut untuk memberikan akses bagi alur kerja driver:
{ "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": "*" } ] } -
Salin ARN untuk peran akses.
Konfigurasikan aplikasi AWS IAM Identity Center pelanggan
Untuk mengonfigurasi aplikasi pelanggan, ikuti langkah-langkah dalam Mengatur aplikasi OAuth 2.0 yang dikelola pelanggan untuk propagasi identitas tepercaya 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, 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.
Konfigurasikan asosiasi workgroup
-
Di panel navigasi konsol Athena, pilih Workgroups.
-
Pilih workgroup dari daftar dan buka tab Tag.
-
Pilih Kelola tag dan masukkan yang berikut ini:
-
Kunci –
AthenaDriverOidcAppArn -
Nilai — ARN untuk AWS IAM Identity Center aplikasi.
-
-
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:
-
ApplicationRoleARN — ARN peran aplikasi
-
JwtWebIdentityToken— Token JWT untuk verifikasi identitas
-
WorkGroupParn - ARN dari kelompok kerja Athena
-
JwtRoleSessionName— Nama sesi untuk peran JWT
-
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
Unduh versi terbaru driver yang ingin Anda gunakan. Untuk informasi lebih lanjut tentang instalasi JDBC, lihat. Memulai dengan driver JDBC 3.x Anda dapat memilih untuk menginstal driver ODBC berdasarkan platform yang didukung. Untuk informasi selengkapnya, lihat Memulai dengan driver ODBC 2.x. Berdasarkan driver yang ingin Anda gunakan, berikan parameter yang tercantum dalam:
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
-
Unduh jar JDBC terbaru dengan dependensi dari Athena. Untuk informasi selengkapnya, lihat Athena JDBC 3.x driver.
-
Buka DBeaver aplikasi di komputer Anda.
-
Arahkan ke menu Database di bagian atas layar, lalu pilih Pengelola Pengemudi.
-
Pilih Perpustakaan Baru dan kemudian.
-
Tambahkan driver terbaru dan pilih Find class. Ini akan memberi Anda jalur file seperti
com.amazon.athena.jdbc.AthenaDriver. -
Buka tab Pengaturan dan berikan bidang berikut
-
Nama pengemudi — Athena JDBC propagasi identitas tepercaya
-
Nama kelas -
com.amazon.athena.jdbc.AthenaDriver -
Pilih opsi Tidak ada otentikasi.
-
-
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.
-
Berikan rincian berikut
-
Workgroup - Workgroup tempat Anda ingin menjalankan kueri. Untuk informasi tentang kelompok kerja, lihat WorkGroup.
-
Wilayah — Wilayah AWS Tempat kueri akan dijalankan. Untuk daftar wilayah, lihat titik akhir dan kuota Amazon Athena.
-
OutputLocation— Lokasi di Amazon S3 tempat Anda ingin menyimpan hasil kueri. Untuk informasi tentang lokasi keluaran, lihat ResultConfiguration.
-
CredentialsProvider— Masuk
JWT_TIP. -
ApplicationRoleArn— ARN dari peran untuk mengaktifkan.
AssumeRoleWithWebIdentityUntuk informasi selengkapnya tentang peran ARN, lihat AssumeRoledi referensi AWS Security Token Service API. -
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.
-
JwtRoleSessionName— Nama sesi saat Anda menggunakan kredensyal JWT untuk otentikasi. Itu bisa berupa nama pilihan Anda.
-
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>;
-
-
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 untuk penerbit token tepercaya. Untuk menangani ini, JDBC mengimplementasikan cache dalam memori, yang siklus hidupnya bergantung pada instance driver utama. Untuk ODBC, cache file 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.
-
Buka editor kueri SQL dan mulai menjalankan kueri Anda. Lihat log Cloudtrail untuk memverifikasi identitas pengguna yang disebarkan.