Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Plugin Trino untuk integrasi Ranger dengan Amazon EMR
Trino (sebelumnya PrestoSQL) adalah mesin query SQL yang dapat Anda gunakan untuk menjalankan kueri pada sumber data seperti HDFS, penyimpanan objek, database relasional, dan database NoSQL. Ini menghilangkan kebutuhan untuk memigrasikan data ke lokasi pusat dan memungkinkan Anda untuk menanyakan data dari mana pun berada. Amazon EMR menyediakan plugin Apache Ranger untuk menyediakan kontrol akses halus untuk Trino. Plugin ini kompatibel dengan server Admin Apache Ranger versi 2.0 dan versi terbaru.
Topik
Fitur yang didukung
Plugin Apache Ranger untuk Trino di Amazon EMR mendukung semua fungsionalitas mesin kueri Trino yang dilindungi oleh kontrol akses halus. Ini termasuk database, tabel, kontrol akses tingkat kolom dan pemfilteran baris dan penyembunyian data. Kebijakan Apache Ranger dapat mencakup kebijakan hibah dan tolak kebijakan untuk pengguna dan grup. Peristiwa audit juga dikirimkan ke CloudWatch log.
Instalasi konfigurasi layanan
Instalasi definisi layanan Trino mengharuskan server Ranger Admin disiapkan. Untuk mengatur sever Admin Ranger, lihatSiapkan server Admin Ranger untuk diintegrasikan dengan Amazon EMR.
Ikuti langkah-langkah ini untuk menginstal definisi layanan Trino.
-
SSH ke server Admin Apache Ranger.
ssh ec2-user@ip-xxx-xxx-xxx-xxx.ec2.internal -
Copot pemasangan plugin server Presto, jika ada. Jalankan perintah berikut. Jika kesalahan ini terjadi dengan kesalahan “Layanan tidak ditemukan”, ini berarti plugin server Presto tidak diinstal di server Anda. Lanjutkan ke langkah berikutnya.
curl -f -u *<admin users login>*:*_<_**_password_ **_for_** _ranger admin user_**_>_* -X DELETE -k 'https://*<RANGER SERVER ADDRESS>*:6182/service/public/v2/api/servicedef/name/presto' -
Unduh definisi layanan dan plugin server Apache Ranger Admin. Di direktori sementara, unduh definisi layanan. Definisi layanan ini didukung oleh versi Ranger 2.x.
wget https://s3.amazonaws.com/elasticmapreduce/ranger/service-definitions/version-2.0/ranger-servicedef-amazon-emr-trino.json -
Daftarkan definisi layanan Apache Trino untuk Amazon EMR.
curl -u *<admin users login>*:*_<_**_password_ **_for_** _ranger admin user_**_>_* -X POST -d @ranger-servicedef-amazon-emr-trino.json \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -k 'https://*<RANGER SERVER ADDRESS>*:6182/service/public/v2/api/servicedef'Jika perintah ini berjalan dengan sukses, Anda melihat layanan baru di UI Admin Ranger Anda dipanggil
TRINO, seperti yang ditunjukkan pada gambar berikut.
-
Buat contoh
TRINOaplikasi, masukkan informasi berikut.Nama Layanan: Nama layanan yang akan Anda gunakan. Nilai yang direkomendasikan adalah
amazonemrtrino. Perhatikan nama layanan ini, karena akan diperlukan saat membuat konfigurasi keamanan Amazon EMR.Nama tampilan: Nama yang akan ditampilkan untuk instans ini. Nilai yang direkomendasikan adalah
amazonemrtrino.
jdbc. driver. ClassName: Nama kelas kelas JDBC untuk konektivitas Trino. Anda dapat menggunakan nilai default.
jdbc.url: String koneksi JDBC untuk digunakan saat menghubungkan ke koordinator Trino.
Nama Umum Untuk Sertifikat: Bidang CN di sertifikat yang digunakan untuk connect ke server admin dari plugin klien. Nilai ini harus cocok dengan bidang CN di sertifikat TLS Anda yang dibuat untuk plugin.
Perhatikan bahwa sertifikat TLS untuk plugin ini seharusnya sudah terdaftar di trust store di server Ranger Admin. Untuk informasi selengkapnya, lihat Sertifik https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-ranger-admin-tls.html at TLS.
Membuat kebijakan Trino
Saat Anda membuat kebijakan baru, isi bidang berikut.
Nama Kebijakan: Nama kebijakan ini.
Label Kebijakan: Label yang dapat Anda tempatkan di kebijakan ini.
Katalog: Katalog yang berlaku bagi kebijakan ini. Wildcard “*” mewakili semua katalog.
Skema: Skema yang diterapkan kebijakan ini. Wildcard “*” mewakili semua skema.
Tabel: Tabel yang berlaku untuk kebijakan ini. Wildcard “*” mewakili semua tabel.
Kol om: Kolom yang diterapkan kebijakan ini. Wildcard "*" mewakili semua kolom.
Deskripsi: Deskripsi dari kebijakan ini.
Jenis kebijakan lain ada untuk Pengguna Trino (untuk akses peniruan pengguna), Properti Trino (untuk mengubah sistem mesin atau System/Session properti sesi), Functions/Procedures (untuk mengizinkan panggilan fungsi atau prosedur), dan URL (untuk memberikan read/write akses ke mesin di lokasi data).
Untuk memberikan izin kepada pengguna dan grup tertentu, masukkan pengguna dan grup. Anda juga dapat menentukan pengecualian untuk kondisi izinkan dan kondisi menolak.
Setelah menentukan kondisi izinkan dan tolak, pilih S impan.
Pertimbangan-pertimbangan
Saat membuat kebijakan Trino dalam Apache Ranger, ada beberapa pertimbangan penggunaan yang perlu diperhatikan.
Server metadata Hive
Server metadata Hive hanya dapat diakses oleh mesin tepercaya, khususnya mesin Trino, untuk melindungi dari akses yang tidak sah. Server metadata Hive juga diakses oleh semua node di cluster. Port 9083 yang diperlukan menyediakan semua akses node ke node utama.
Autentikasi
Secara default, Trino dikonfigurasi untuk mengotentikasi menggunakan Kerberos seperti yang dikonfigurasi dalam konfigurasi keamanan Amazon EMR.
In-transit diperlukan enkripsi
Plugin Trino mengharuskan Anda mengaktifkan enkripsi dalam transit di konfigurasi keamanan Amazon EMR. Untuk mengaktifkan enkripsi, lihatEnkripsi dalam transit.
Batasan
Berikut ini adalah batasan plugin Trino saat ini:
-
Server Admin Ranger tidak mendukung pelengkapan otomatis.