Programmering

Hvordan Apache Ranger og Chuck Norris hjælper med at sikre Hadoop

Hadoop-sikkerhedsprojektet kaldet Ranger blev angiveligt navngivet til hyldest til Chuck Norris i hans "Walker, Texas Ranger" -rolle. Projektet har sine rødder i XA Secure, som blev erhvervet af Hortonworks, dernæst omdøbt til Argus, inden de bosatte sig i Apache Software Foundation som Ranger.

Da Hadoop startede, var det et sæt løst koblede dele, der primært blev brugt i bagenden af ​​de store internetfirmaer som Yahoo. Disse dele blev pakket ind i distributioner og markedsført som Hadoop af folk som MapR, Cloudera og Hortonworks.

Sådan en stykkevis arkitektur er ikke usædvanlig i open source-verdenen eller endda i den brede verden af ​​kommerciel software. Det resulterer dog i sikkerhedsudfordringer. Nogle vil læse dette som "det er usikkert", men det er ikke nødvendigvis tilfældet - selvom det kan være. Problemet er mere, hvordan godkender du brugere til alle dele af dette system af dele - og når du først har godkendt dem, hvordan tillader du dem kun at gøre det, du mener, for at give dem mulighed for at gøre?

Hver del af Hadoop har sin egen LDAP- og Kerberos-godkendelse samt sine egne godkendelsesmidler og -regler (og i de fleste tilfælde helt separate implementeringer af det samme). Det betyder, at du kommer til at konfigurere Kerberos eller LDAP til hver enkelt del og derefter definere disse regler i hver separat konfiguration. Hvad Apache Ranger gør, er at give et plug-in til hver af disse dele af Hadoop og et fælles godkendelsesregister samt give dig mulighed for at definere politikker på en central placering.

Ranger er helt klart et Hortonworks-sponsoreret projekt (i modsætning til en Cloudera eller MapR eller nu Databricks). Du kan fortælle dette delvist ved den måde, det er flået (grøn) og delvis på grund af hvad det understøtter. På nuværende tidspunkt understøtter Ranger følgende:

  • HDFS
  • Hive
  • Storm
  • HBase
  • Knox
  • GARN
  • Kafka
  • Solr

Bortset fra HDFS og HBase, som understøttes som en del af kernen i Hadoop og Solr, er dette nogle af de mere "Hortonworksy" -projekter. I en moderne implementering vil du sandsynligvis se andre komponenter, såsom Spark eller muligvis Impala (fra Cloudera). Ikke desto mindre er Ranger en stor ting.

Sådan fungerer Ranger

I Ranger arbejder du for hver komponent med et arkiv. Disse arkiver er baseret på en underliggende plug-in eller agent, der fungerer med den pågældende komponent.

Forbundet med hver af disse arkiver er et sæt politikker, der er knyttet til den ressource, du beskytter (en tabel, mappe eller kolonne) og en gruppe (såsom administratorer), og hvad de har lov til at gøre med den ting (læs , skriv osv.). Du giver hver politik et navn - sig, "Kun grp_nixon kan læse tabellen apac_china."

En grafisk brugergrænseflade med et centralt overblik over, hvem der har lov til at gøre det, der bringer meget nødvendig enkelhed til Hadoop økosystemet, men det er ikke alt, hvad Ranger tilbyder. Det giver også revisionslogning. Selvom dette ikke kan erstatte al den logning af applikationsrevisioner, du nogensinde kunne ønske dig, hvis du bare har brug for at vide, hvem der har adgang til hvad på HDFS, eller hvilke politikker der blev håndhævet hvor, er det sandsynligvis nøjagtigt det, du har brug for.

Derudover kan Ranger levere Key Management Services for at arbejde med HDFS's nye TDE (gennemsigtig datakryptering). Så hvis du har brug for end-to-end-kryptering og en ren måde at administrere de nøgler, der er knyttet til den, er Ranger ikke et dårligt sted at starte.

Ranger ser fremad

Jeg tror, ​​det største håb for Ranger kommer fra dets udvidelighed. Du kan oprette dine egne plug-ins til områder, der ikke er dækket.

Hvis du håbede, at dette var slutningen på historien om Hadoop-sikkerhed, har Cloudera desværre sit eget Apache-projekt kaldet Sentry (som MapR ser ud til også at understøtte), der dækker stort set det samme område. For at være retfærdig var Sentry først, derefter købte Hortonworks XA Secure. Når det er sagt, er dokumentationen til Sentry næsten ikke eksisterende, dækningen er mere begrænset, og projektwebstedet er i forfald (selvom aktivitet på GitHub for nylig blev afhentet).

Hadoop-sikkerhed er kommet langt. Ranger giver en ret omfattende, hvis stadig lidt ufuldstændig måde at styre økosystemet på. Hullerne, der vedvarer, skyldes hovedsagelig leverandørkonkurrence i hele big data-verdenen. Disse kan udfyldes via projektets udvidelighed, men det ville være rart at se mere samarbejde og samfund i Apache-verdenen.