In che modo Apache Ranger e Chuck Norris aiutano a proteggere Hadoop

Il progetto di sicurezza Hadoop chiamato Ranger presumibilmente è stato nominato in omaggio a Chuck Norris nel suo ruolo di "Walker, Texas Ranger". Il progetto ha le sue radici in XA Secure, che è stato acquisito da Hortonworks, quindi ribattezzato Argus prima di stabilirsi presso la Apache Software Foundation come Ranger.

Quando Hadoop iniziò, era un insieme di parti liberamente accoppiate utilizzate principalmente nel back-end delle grandi società Internet come Yahoo. Queste parti sono state inserite in distribuzioni e commercializzate come Hadoop da artisti del calibro di MapR, Cloudera e Hortonworks.

Un'architettura così frammentaria non è insolita nel mondo dell'open source o anche nel vasto mondo del software commerciale. Tuttavia, comporta problemi di sicurezza. Alcuni lo leggeranno come "è insicuro", ma non è necessariamente così, anche se può essere. Il problema è più come autenticare gli utenti a tutte le parti di questo sistema di parti - e una volta che li hai autenticati come li autorizzi a fare solo ciò che intendi consentire loro di fare?

Ogni parte di Hadoop ha la propria autenticazione LDAP e Kerberos, nonché i propri mezzi e regole di autorizzazione (e nella maggior parte dei casi implementazioni totalmente separate degli stessi). Ciò significa che puoi configurare Kerberos o LDAP per ogni singola parte, quindi definire tali regole in ciascuna configurazione separata. Quello che fa Apache Ranger è fornire un plug-in a ciascuna di queste parti di Hadoop e un repository di autenticazione comune, oltre a consentire di definire le politiche in una posizione centralizzata.

Ranger è chiaramente un progetto sponsorizzato da Hortonworks (al contrario di Cloudera o MapR o ora Databricks). Puoi dirlo in parte dal modo in cui è scorticato (verde) e in parte a causa di ciò che supporta. Al momento, Ranger supporta quanto segue:

  • HDFS
  • Alveare
  • Tempesta
  • HBase
  • Knox
  • FILATO
  • Kafka
  • Solr

Fatta eccezione per HDFS e HBase, che sono supportati come parte del nucleo di Hadoop e Solr, questi sono alcuni dei progetti più "Hortonworksy". In una distribuzione moderna, probabilmente vedrai altri componenti, come Spark o forse Impala (da Cloudera). Tuttavia, Ranger è una cosa fantastica.

Come funziona Ranger

In Ranger, per ogni componente lavori con un repository. Questi repository si basano su un plug-in o agente sottostante che opera con quel componente.

Associato a ciascuno di questi repository è un insieme di criteri, che sono associati alla risorsa che stai proteggendo (una tabella, una cartella o una colonna) e un gruppo (come gli amministratori) e cosa possono fare con quella cosa (leggi , scrivi e così via). Si assegna un nome a ciascuna policy, ad esempio "Solo grp_nixon può leggere la tabella apac_china". 

Una GUI con una vista centrale di chi è autorizzato a fare ciò che porta la semplicità tanto necessaria all'ecosistema Hadoop, ma non è tutto ciò che Ranger offre. Fornisce inoltre la registrazione dei controlli. Sebbene questo non possa soppiantare tutte le registrazioni di controllo dell'applicazione che potresti desiderare, se hai semplicemente bisogno di sapere chi ha avuto accesso a cosa su HDFS o quali criteri sono stati applicati e dove, è probabilmente esattamente ciò di cui hai bisogno.

Inoltre, Ranger può fornire servizi di gestione delle chiavi per lavorare con il nuovo TDE (crittografia trasparente dei dati) di HDFS. Quindi, se hai bisogno della crittografia end-to-end e di un modo pulito per gestire le chiavi ad essa associate, Ranger non è un brutto punto di partenza.

Ranger guarda avanti

Penso che la più grande speranza per Ranger venga dalla sua estensibilità. È possibile creare plug-in personalizzati per le aree non coperte.

Se speravi che questa fosse la fine della storia sulla sicurezza di Hadoop, sfortunatamente Cloudera ha il suo progetto Apache chiamato Sentry (che anche MapR sembra supportare) che copre più o meno la stessa area. Per essere onesti, Sentry è stato il primo, poi Hortonworks ha acquisito XA Secure. Detto questo, la documentazione per Sentry è praticamente inesistente, la copertura è più limitata e il sito web del progetto è in rovina (sebbene l'attività su GitHub sia stata recentemente ripresa).

La sicurezza di Hadoop ha fatto molta strada. Ranger offre un modo abbastanza completo, anche se ancora un po 'incompleto, per gestire l'ecosistema. I buchi che persistono sono principalmente dovuti alla concorrenza dei fornitori nel mondo dei big data. Questi possono essere riempiti tramite l'estensibilità del progetto, ma sarebbe bello vedere più collaborazione e comunità nel mondo Apache.