Wie Apache Ranger und Chuck Norris helfen, Hadoop zu sichern

Das Hadoop-Sicherheitsprojekt namens Ranger wurde angeblich zu Ehren von Chuck Norris in seiner Rolle "Walker, Texas Ranger" benannt. Das Projekt hat seine Wurzeln in XA Secure, das von Hortonworks übernommen und dann in Argus umbenannt wurde, bevor es sich bei der Apache Software Foundation als Ranger niederließ.

Als Hadoop anfing, handelte es sich um eine Reihe lose gekoppelter Teile, die hauptsächlich im Backend der großen Internetunternehmen wie Yahoo verwendet wurden. Diese Teile wurden in Distributionen verpackt und von MapR, Cloudera und Hortonworks als Hadoop vermarktet.

Eine solche stückweise Architektur ist in der Welt der Open Source oder sogar in der weiten Welt der kommerziellen Software nicht ungewöhnlich. Dies führt jedoch zu Sicherheitsherausforderungen. Einige werden dies als "es ist unsicher" lesen, aber das ist nicht unbedingt der Fall - obwohl es sein kann. Das Problem ist vielmehr, wie Sie Benutzer bei allen Teilen dieses Teilesystems authentifizieren - und wie Sie sie nach der Authentifizierung dazu berechtigen, nur das zu tun, was Sie ihnen erlauben möchten?

Jeder Teil von Hadoop verfügt über eine eigene LDAP- und Kerberos-Authentifizierung sowie über eigene Mittel und Autorisierungsregeln (und in den meisten Fällen über völlig separate Implementierungen derselben). Dies bedeutet, dass Sie Kerberos oder LDAP für jedes einzelne Teil konfigurieren und diese Regeln dann in jeder separaten Konfiguration definieren können. Apache Ranger bietet ein Plug-In für jeden dieser Teile von Hadoop und ein gemeinsames Authentifizierungs-Repository sowie die Möglichkeit, Richtlinien an einem zentralen Ort zu definieren.

Ranger ist eindeutig ein von Hortonworks gesponsertes Projekt (im Gegensatz zu einem Cloudera oder MapR oder jetzt Databricks). Sie können dies zum Teil daran erkennen, wie es gehäutet ist (grün) und zum Teil daran, was es unterstützt. Derzeit unterstützt Ranger Folgendes:

  • HDFS
  • Bienenstock
  • Sturm
  • HBase
  • Knox
  • GARN
  • Kafka
  • Solr

Mit Ausnahme von HDFS und HBase, die als Teil des Kerns von Hadoop und Solr unterstützt werden, sind dies einige der "Hortonworksy" -Projekte. In einer modernen Bereitstellung werden wahrscheinlich andere Komponenten wie Spark oder möglicherweise Impala (von Cloudera) angezeigt. Trotzdem ist Ranger eine großartige Sache.

Wie Ranger funktioniert

In Ranger arbeiten Sie für jede Komponente mit einem Repository. Diese Repositorys basieren auf einem zugrunde liegenden Plug-In oder Agenten, der mit dieser Komponente arbeitet.

Jedem dieser Repositorys ist eine Reihe von Richtlinien zugeordnet, die der zu schützenden Ressource (einer Tabelle, einem Ordner oder einer Spalte) und einer Gruppe (z. B. Administratoren) zugeordnet sind und was sie mit dieser Sache tun dürfen (Lesen) , schreiben und so weiter). Sie geben jeder Richtlinie einen Namen - sagen Sie: "Nur der grp_nixon kann die Tabelle apac_china lesen." 

Eine grafische Benutzeroberfläche mit einer zentralen Ansicht darüber, wer was tun darf, bringt dem Hadoop-Ökosystem die dringend benötigte Einfachheit, aber das ist nicht alles, was Ranger bietet. Es bietet auch eine Überwachungsprotokollierung. Obwohl dies nicht die gesamte Anwendungsüberwachungsprotokollierung ersetzen kann, die Sie sich jemals wünschen könnten, ist es wahrscheinlich genau das, was Sie benötigen, wenn Sie nur wissen müssen, wer auf was in HDFS zugegriffen hat oder welche Richtlinien wo durchgesetzt wurden.

Darüber hinaus kann Ranger Key Management Services bereitstellen, um mit der neuen TDE (transparente Datenverschlüsselung) von HDFS zu arbeiten. Wenn Sie also eine End-to-End-Verschlüsselung und eine saubere Methode zur Verwaltung der damit verbundenen Schlüssel benötigen, ist Ranger kein schlechter Ausgangspunkt.

Ranger schaut nach vorne

Ich denke, die größte Hoffnung für Ranger liegt in seiner Erweiterbarkeit. Sie können eigene Plug-Ins für Bereiche erstellen, die nicht abgedeckt sind.

Wenn Sie gehofft haben, dass dies das Ende der Geschichte über die Hadoop-Sicherheit ist, hat Cloudera leider ein eigenes Apache-Projekt namens Sentry (das MapR anscheinend ebenfalls unterstützt), das fast denselben Bereich abdeckt. Um fair zu sein, war Sentry zuerst, dann erwarb Hortonworks XA Secure. Die Dokumentation für Sentry ist jedoch praktisch nicht vorhanden, die Abdeckung ist eingeschränkter und die Projektwebsite ist in einem schlechten Zustand (obwohl die Aktivitäten auf GitHub kürzlich aufgenommen wurden).

Die Hadoop-Sicherheit hat einen langen Weg zurückgelegt. Ranger bietet eine ziemlich umfassende, wenn auch noch etwas unvollständige Möglichkeit, das Ökosystem zu verwalten. Die verbleibenden Lücken sind hauptsächlich auf den Wettbewerb der Anbieter in der gesamten Big-Data-Welt zurückzuführen. Diese können über die Erweiterbarkeit des Projekts ausgefüllt werden, aber es wäre schön, mehr Zusammenarbeit und Community in der Apache-Welt zu sehen.