HBase
 sql >> Teknologi Basis Data >  >> NoSQL >> HBase

Mengonversi kebijakan HBase ACL ke Ranger

CDP menggunakan Apache Ranger untuk manajemen keamanan data. Jika Anda ingin menggunakan Ranger untuk memiliki administrasi keamanan terpusat, ACL HBase perlu dimigrasikan ke kebijakan. Ini dapat dilakukan melalui webUI Ranger, dapat diakses dari Cloudera Manager. Tapi pertama-tama, mari kita lihat sekilas tentang metode HBase untuk kontrol akses.

Otorisasi HBase

Jika otorisasi diatur ( misalnya dengan Kerberos dan menyetel hbase.security.authorization properti ke benar ), pengguna dapat memiliki aturan yang ditentukan pada sumber daya yang diizinkan untuk mereka akses. Aturan ini dapat ditentukan untuk tabel, kolom, dan sel individual di dalam tabel.

Tingkat Akses HBase

Tingkat akses HBase diberikan secara independen satu sama lain dan memungkinkan berbagai jenis operasi pada cakupan tertentu.

Kemungkinan izin (nol atau lebih huruf dari kumpulan “RWXCA”):

  • Baca (R) – dapat membaca data pada cakupan yang diberikan
  • Tulis (W) – dapat menulis data pada cakupan yang diberikan
  • Execute (X) – dapat mengeksekusi endpoint koprosesor pada cakupan yang diberikan
  • Buat (C) – dapat membuat tabel atau menghapus tabel pada cakupan yang diberikan
  • Admin (A) – dapat melakukan operasi cluster seperti menyeimbangkan cluster atau menetapkan wilayah pada cakupan yang diberikan

Cakupan yang memungkinkan:

  • Superuser – Pengguna super dapat melakukan operasi apa pun yang tersedia di HBase, ke sumber daya apa pun. Pengguna yang menjalankan HBase di cluster Anda adalah pengguna super. Setiap prinsipal yang ditetapkan ke properti konfigurasi hbase.superuser di hbase-site.xml file konfigurasi pada HMaster juga merupakan pengguna super.
  • Global – Izin yang diberikan pada lingkup global memungkinkan admin untuk beroperasi di semua tabel cluster.
  • Namespace – Izin yang diberikan pada cakupan namespace berlaku untuk semua tabel dalam namespace tertentu.
  • Tabel – Izin yang diberikan pada cakupan tabel berlaku untuk data atau metadata dalam tabel tertentu.
  • ColumnFamily – Izin yang diberikan pada cakupan ColumnFamily berlaku untuk sel dalam ColumnFamily tersebut.
  • Sel – Izin yang diberikan pada cakupan Sel berlaku untuk koordinat sel yang sama.

Mengekspor ACL HBase

1. Masuk melalui Kerberos dengan kredensial layanan HBase.

2. Luncurkan shell hbase dan daftar ACL.

Untuk membuat daftar ACL, gunakan perintah berikut: 

  • izin_pengguna ‘.*’
  • Atau dengan hak istimewa pengguna super:pindai 'hbase:acl'

Contoh keluaran scan ‘hbase:acl‘:

BARIS KOLOM+SEL

emp column=l:hbase, timestamp=1612190971868, value=RWXCAemp2 column=l:hbase, timestamp=1612191218963, value=RWXCAemp2 column=l:user1, timestamp=1612191426624, value=RWCemp column=l:test,personal data, timestamp=1612273141925, value=RWemp column=l:test,personal data,1, timestamp=1612273322678, value=RWemp column=l:@group-usr,personal data,1, timestamp=1612273324527, value=RW 

Contoh keluaran user_permission ‘.*‘:

User Namespace,Table,Family,Qualifier:Permissionhbase default,emp,,:[Izin:actions=READ,WRITE,EXEC,CREATE,ADMIN]user1 default,emp2,,:[Izin:actions=READ,WRITE, CREATE]hbase default,emp2,,:[Izin:actions=READ,WRITE,EXEC,CREATE,ADMIN]default pengujian,emp,data pribadi,:[Izin:actions=READ,WRITE]default pengujian,emp,data pribadi, 1:[Izin:actions=READ,WRITE]@group-usr default,emp,data pribadi,1:[Izin:actions=READ,WRITE]

Catatan: Grup dan pengguna diberikan akses dengan cara yang sama, tetapi grup diawali dengan karakter '@'. Tabel dan ruang nama ditentukan dengan cara yang sama, tetapi ruang nama diawali dengan karakter ‘@‘.

Contoh untuk izin tingkat sel:

test             default,emp,data pribadi,1:[Izin:actions=READ,WRITE]

'tes' pengguna memiliki izin RW di 'default' namespace, di atas meja 'emp' , kolom ‘data pribadi’ dan baris ‘1’..

Membuat kebijakan Ranger 

  1. Di Cloudera Manager, pilih layanan Ranger.
  2. Temukan webUI tautan yang mengarahkan Anda ke UI Ranger.
  3. Masuk ke UI Ranger.

Pengelola Akses halaman yang ditampilkan:

1. Pilih layanan HBase yang ada.
Daftar Kebijakan halaman muncul.

2. Klik Tambahkan Kebijakan Baru .
Laman Buat Kebijakan muncul.

3. Lengkapi halaman Buat Kebijakan sebagai berikut:

3.1 Detail Kebijakan

Nama Kebijakan Masukkan nama kebijakan yang sesuai. Nama ini tidak dapat diduplikasi di seluruh sistem. Kolom ini wajib diisi.
Label Kebijakan Tentukan label untuk kebijakan ini. Anda dapat menelusuri laporan dan memfilter kebijakan berdasarkan label ini.
normal/timpa Memungkinkan Anda untuk menentukan kebijakan penggantian. Saat menimpa dipilih, izin akses dalam kebijakan menimpa izin akses dalam kebijakan yang ada. Fitur ini dapat digunakan dengan Tambah Periode Validitas untuk membuat kebijakan akses sementara yang menggantikan kebijakan yang ada.
Tabel HBase Pilih database yang sesuai. Beberapa database dapat dipilih untuk kebijakan tertentu. Kolom ini wajib diisi.
Hbase Column-family Untuk tabel yang dipilih, tentukan kelompok kolom yang menerapkan kebijakan.
Kolom HBase Untuk kelompok tabel dan kolom yang dipilih, tentukan kolom yang menerapkan kebijakan.
Deskripsi (Opsional) Jelaskan tujuan kebijakan.
Pembukuan Audit Tentukan apakah kebijakan ini diaudit. (Batalkan pilihan untuk menonaktifkan audit).
Tambahkan Masa Berlaku Tentukan waktu mulai dan berakhirnya kebijakan.

3.2 Kondisi Allow/Deny
Apache Ranger mendukung kondisi akses berikut:

  • Izinkan
  • Kecualikan dari Izinkan
  • Tolak
  • Kecualikan dari Tolak

Kondisi akses ini memungkinkan Anda untuk menyiapkan kebijakan kontrol akses yang terperinci.

Misalnya, Anda dapat mengizinkan akses ke keuangan tabel untuk semua pengguna di keuangan grup, tetapi menolak akses ke semua pengguna di magang kelompok. Katakanlah salah satu anggota magang grup, scott , perlu mengerjakan tugas yang memerlukan akses ke keuangan meja. Dalam hal ini, Anda dapat menambahkan kondisi Kecualikan dari Tolak yang memungkinkan pengguna scott untuk mengakses keuangan basis data.

Pilih Peran Tentukan peran yang menerapkan kebijakan ini.

Untuk menetapkan peran sebagai Administrator, pilih kotak centang Delegasikan Admin. Administrator dapat mengedit atau menghapus kebijakan, dan juga dapat membuat kebijakan turunan berdasarkan kebijakan asli.
Pilih Grup Tentukan grup yang menerapkan kebijakan ini.

Untuk menetapkan grup sebagai Administrator, pilih kotak centang Delegasikan Admin. Administrator dapat mengedit atau menghapus kebijakan, dan juga dapat membuat kebijakan turunan berdasarkan kebijakan asli.
Pilih Pengguna Tentukan pengguna yang menerapkan kebijakan ini.

Untuk menetapkan pengguna sebagai Administrator, pilih kotak centang Delegasikan Admin. Administrator dapat mengedit atau menghapus kebijakan, dan juga dapat membuat kebijakan turunan berdasarkan kebijakan asli.
Izin Tambahkan atau edit izin:Baca, Tulis, Buat, Admin, Pilih/Batalkan Pilihan Semua.
Admin Delegasi Anda dapat menggunakan Delegasi Admin untuk menetapkan hak administrator kepada pengguna atau grup yang ditentukan dalam kebijakan. Administrator dapat mengedit atau menghapus kebijakan, dan juga dapat membuat kebijakan turunan berdasarkan kebijakan asli.

3.3 Anda dapat menggunakan simbol Plus (+) untuk menambahkan kondisi tambahan. Kondisi dievaluasi dalam urutan yang tercantum dalam kebijakan. Kondisi di bagian atas daftar diterapkan terlebih dahulu, lalu yang kedua, lalu yang ketiga, dan seterusnya. Kondisi penolakan selalu lebih kuat. Diagram alir berikut memberikan informasi tentang Alur Evaluasi Kebijakan Ranger.

3.4 Terakhir klik Tambah.

Kesimpulan

Dalam posting blog ini kami melihat bagaimana Anda dapat memigrasikan HBase ACL Anda ke kebijakan Ranger, menggunakan Cloudera Manager. Sayangnya tidak ada otomatisasi untuk migrasi, karena kedua metode otorisasi sangat berbeda. Meskipun ada fitur impor di Ranger untuk kebijakan pemuatan massal, tidak ada cara untuk mengekspor ACL dari HBase dalam format yang dimengerti Ranger (secara khusus diformat JSON/CSV).


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mesin Pemroses Data Besar – Yang mana yang saya gunakan?:Bagian 1

  2. Peningkatan Kinerja Basis Data Operasional di CDP Private Cloud Base 7 vs CDH5

  3. How-to:Mengindeks PDF yang Dipindai dalam Skala Besar Menggunakan Kurang dari 50 Baris Kode

  4. Pengantar Snapshot Apache HBase

  5. HBase BlockCache 101