Bagaimana Apache Ranger dan Chuck Norris membantu mengamankan Hadoop

Proyek keamanan Hadoop bernama Ranger seharusnya dinamai sebagai penghormatan kepada Chuck Norris dalam perannya "Walker, Texas Ranger". Proyek ini berakar pada XA Secure, yang diakuisisi oleh Hortonworks, kemudian berganti nama menjadi Argus sebelum menetap di Apache Software Foundation sebagai Ranger.

Ketika Hadoop dimulai, itu adalah seperangkat bagian yang digabungkan secara longgar yang terutama digunakan di bagian belakang perusahaan Internet besar seperti Yahoo. Bagian-bagian ini dibungkus ke dalam distribusi dan dipasarkan sebagai Hadoop oleh orang-orang seperti MapR, Cloudera, dan Hortonworks.

Arsitektur sedikit demi sedikit seperti itu tidak biasa di dunia open source atau bahkan di dunia luas perangkat lunak komersial. Namun, hal itu menimbulkan tantangan keamanan. Beberapa orang akan membaca ini sebagai "ini tidak aman," tetapi belum tentu demikian - meskipun bisa jadi. Masalahnya lebih pada bagaimana Anda mengotentikasi pengguna ke semua bagian dari sistem suku cadang ini - dan setelah Anda mengautentikasi mereka, bagaimana Anda mengotorisasi mereka untuk hanya melakukan apa yang Anda maksudkan untuk mereka lakukan?

Setiap bagian dari Hadoop memiliki otentikasi LDAP dan Kerberos sendiri, serta cara dan aturan otorisasinya sendiri (dan dalam banyak kasus implementasi yang sama sekali terpisah). Ini berarti Anda dapat mengonfigurasi Kerberos atau LDAP untuk setiap bagian, lalu menentukan aturan tersebut di setiap konfigurasi terpisah. Apa yang dilakukan Apache Ranger adalah menyediakan plug-in ke setiap bagian Hadoop ini dan repositori otentikasi umum, serta memungkinkan Anda untuk menentukan kebijakan di lokasi terpusat.

Ranger jelas merupakan proyek yang disponsori Hortonworks (berlawanan dengan Cloudera atau MapR atau sekarang Databricks). Anda dapat mengetahui hal ini sebagian dari caranya dikuliti (hijau) dan sebagian karena apa yang didukungnya. Saat ini, Ranger mendukung hal-hal berikut:

  • HDFS
  • Sarang lebah
  • Badai
  • HBase
  • Knox
  • BENANG
  • Kafka
  • Solr

Kecuali untuk HDFS dan HBase, yang didukung sebagai bagian dari inti Hadoop dan Solr, ini adalah beberapa proyek yang lebih "Hortonworksy". Dalam penerapan modern, Anda mungkin akan melihat komponen lain, seperti Spark atau mungkin Impala (dari Cloudera). Meskipun demikian, Ranger adalah hal yang hebat.

Bagaimana Ranger bekerja

Di Ranger, untuk setiap komponen Anda bekerja dengan Repositori. Repositori ini didasarkan pada plug-in atau agen dasar yang beroperasi dengan komponen itu.

Terkait dengan setiap repositori ini adalah seperangkat kebijakan, yang terkait dengan sumber daya yang Anda lindungi (tabel, folder, atau kolom) dan grup (seperti administrator) dan apa yang boleh mereka lakukan dengan hal itu (baca , tulis, dan sebagainya). Anda memberi setiap kebijakan nama - katakan, "Hanya grp_nixon yang dapat membaca tabel apac_china." 

GUI dengan pandangan sentral tentang siapa yang diizinkan melakukan apa yang membawa kesederhanaan yang sangat dibutuhkan ke ekosistem Hadoop, tetapi tidak hanya itu yang ditawarkan Ranger. Ini juga menyediakan logging audit. Meskipun ini tidak dapat menggantikan semua pencatatan audit aplikasi yang Anda inginkan, jika Anda hanya perlu tahu siapa yang mengakses apa di HDFS atau kebijakan apa yang diberlakukan di mana, mungkin itu yang Anda butuhkan.

Selain itu, Ranger dapat menyediakan Key Management Services untuk bekerja dengan TDE baru HDFS (enkripsi data transparan). Jadi jika Anda membutuhkan enkripsi ujung ke ujung dan cara yang bersih untuk mengelola kunci yang terkait dengannya, Ranger bukanlah tempat yang buruk untuk memulai.

Ranger melihat ke depan

Saya pikir harapan terbesar untuk Ranger berasal dari kemampuannya yang dapat diperluas. Anda dapat membuat plugin Anda sendiri untuk area yang tidak tercakup.

Jika Anda berharap ini adalah akhir dari cerita tentang keamanan Hadoop, sayangnya, Cloudera memiliki proyek Apache sendiri yang disebut Sentry (yang tampaknya juga didukung MapR) yang mencakup area yang hampir sama. Agar adil, Sentry adalah yang pertama, kemudian Hortonworks mengakuisisi XA Secure. Meskipun demikian, dokumentasi untuk Sentry hampir tidak ada, cakupannya lebih terbatas, dan situs web proyek rusak (meskipun aktivitas di GitHub baru-baru ini meningkat).

Keamanan Hadoop telah berkembang pesat. Penjaga hutan memberikan cara yang cukup lengkap, jika masih sedikit belum lengkap, cara mengelola ekosistem. Lubang yang bertahan ini terutama disebabkan oleh persaingan vendor di seluruh dunia data besar. Ini dapat diisi melalui perluasan proyek, tetapi alangkah baiknya melihat lebih banyak kolaborasi dan komunitas di dunia Apache.