Plugin Trino - Amazon EMR

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

Plugin Trino

Trino (sebelumnya PrestoSQL) adalah mesin SQL kueri yang dapat Anda gunakan untuk menjalankan kueri pada sumber data sepertiHDFS, penyimpanan objek, database relasional, dan Tidak ada database. SQL Ini menghilangkan kebutuhan untuk memigrasikan data ke lokasi pusat dan memungkinkan Anda untuk menanyakan data dari mana pun ia 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.

Fitur yang didukung

Plugin Apache Ranger untuk Trino di Amazon EMR mendukung semua fungsionalitas mesin kueri Trino yang dilindungi oleh kontrol akses berbutir 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. Acara audit juga diserahkan ke CloudWatch log.

Instalasi konfigurasi layanan

Instalasi definisi layanan Trino mengharuskan server Admin Ranger diatur. Untuk mengatur pemisah Admin Ranger, lihat. Atur server Admin Ranger

Ikuti langkah-langkah ini untuk menginstal definisi layanan Trino.

  1. SSHke server Admin Apache Ranger.

    ssh ec2-user@ip-xxx-xxx-xxx-xxx.ec2.internal

  2. 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'
  3. Unduh definisi layanan dan plugin server Admin Apache Ranger. 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
  4. 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 berhasil berjalan, Anda akan melihat layanan baru di UI Admin Ranger Anda dipanggilTRINO, seperti yang ditunjukkan pada gambar berikut.

    Admin Ranger membuat layanan.
  5. Buat instance TRINO aplikasi, 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 EMR keamanan Amazon.

    Nama tampilan: Nama yang akan ditampilkan untuk instans ini. Nilai yang direkomendasikan adalah amazonemrtrino.

    Nama tampilan Admin Ranger.

    jdbc.driver. ClassName: Nama kelas JDBC kelas untuk konektivitas Trino. Anda dapat menggunakan nilai default.

    jdbc.url: String JDBC koneksi yang 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 sesuai dengan bidang CN di TLS sertifikat Anda yang dibuat untuk plugin.

    Ranger Admin nama umum.

    Perhatikan bahwa TLS sertifikat untuk plugin ini seharusnya telah terdaftar di toko kepercayaan di server Admin Ranger. Untuk informasi selengkapnya, lihat TLSsertifikat.

Membuat kebijakan Trino

Saat Anda membuat kebijakan baru, isi kolom berikut.

Nama Kebijakan: Nama kebijakan ini.

Label Kebijakan: Label yang dapat Anda tempatkan di kebijakan ini.

Katalog: Katalog tempat kebijakan ini berlaku. Wildcard “*” mewakili semua katalog.

Skema: Skema yang berlaku untuk kebijakan ini. Wildcard “*” mewakili semua skema.

Tabel: Tabel yang berlaku untuk kebijakan ini. Wildcard “*” mewakili semua tabel.

Kolom: Kolom tempat kebijakan ini berlaku. Wildcard "*" mewakili semua kolom.

Deskripsi: Deskripsi dari kebijakan ini.

Jenis kebijakan lain ada untuk Pengguna Trino (untuk akses peniruan identitas pengguna), Properti Sistem/Sesi Trino (untuk mengubah sistem mesin atau properti sesi), Fungsi/Prosedur (untuk memungkinkan panggilan fungsi atau prosedur), dan URL(untuk memberikan akses baca/tulis ke mesin di lokasi data).

Admin Ranger membuat detail kebijakan.

Untuk memberikan izin kepada pengguna dan grup tertentu, masukkan pengguna dan grup. Anda juga dapat menentukan pengecualian untuk kondisi izinkan dan kondisi penolakan.

Rincian kebijakan Admin Ranger memungkinkan kondisi penolakan.

Setelah menentukan kondisi izinkan dan tolak, pilih Simpan.

Pertimbangan

Saat membuat kebijakan Trino dalam Apache Ranger, ada beberapa pertimbangan penggunaan yang harus diperhatikan.

Server metadata sarang

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 node akses ke node utama.

Autentikasi

Secara default, Trino dikonfigurasi untuk mengautentikasi menggunakan Kerberos seperti yang dikonfigurasi dalam konfigurasi keamanan Amazon. EMR

Diperlukan enkripsi dalam transit

Plugin Trino mengharuskan Anda mengaktifkan enkripsi dalam transit dalam konfigurasi EMR keamanan Amazon. Untuk mengaktifkan enkripsi, lihatEnkripsi bergerak.

Batasan

Berikut ini adalah batasan plugin Trino saat ini:

  • Server Admin Ranger tidak mendukung pelengkapan otomatis.