sql >> Databáze >  >> NoSQL >> HBase

Převod HBase ACL na zásady Ranger

CDP používá Apache Ranger pro správu zabezpečení dat. Pokud chcete používat Ranger k centralizované správě zabezpečení, je třeba HBase ACL migrovat na zásady. To lze provést prostřednictvím webového rozhraní Ranger, které je přístupné z Cloudera Manager. Nejprve si ale vezměme rychlý přehled o metodě HBase pro řízení přístupu.

Autorizace HBase

Pokud je nastavena autorizace (například s Kerberos a nastavením hbase.security.authorization vlastnost na pravda ), uživatelé mohou mít definovaná pravidla pro zdroje, ke kterým mají povolen přístup. Tato pravidla lze definovat pro jednotlivé tabulky, sloupce a buňky v tabulce.

Úrovně přístupu HBase

Úrovně přístupu HBase jsou poskytovány nezávisle na sobě a umožňují různé typy operací v daném rozsahu.

Možná oprávnění (nula nebo více písmen ze sady „RWXCA“):

  • Číst (R) – dokáže číst data v daném rozsahu
  • Write (W) – může zapisovat data v daném rozsahu
  • Execute (X) – může spouštět koncové body koprocesoru v daném rozsahu
  • Vytvořit (C) – může vytvářet tabulky nebo rušit tabulky v daném rozsahu
  • Admin (A) – může provádět operace clusteru, jako je vyvažování clusteru nebo přiřazování regionů v daném rozsahu

Možné rozsahy:

  • Superuser – Superuživatelé mohou provádět jakoukoli operaci dostupnou v HBase s jakýmkoliv zdrojem. Uživatel, který na vašem clusteru spouští HBase, je superuživatel. Všechny objekty přiřazené ke konfigurační vlastnosti hbase.superuser v hbase-site.xml konfigurační soubor na HMaster jsou také superuživatelé.
  • Globální – Oprávnění udělená v globálním rozsahu umožňují správci pracovat na všech tabulkách clusteru.
  • Jmenný prostor – Oprávnění udělená v rozsahu jmenného prostoru platí pro všechny tabulky v daném jmenném prostoru.
  • Tabulka – Oprávnění udělená v rozsahu tabulky se vztahují na data nebo metadata v dané tabulce.
  • ColumnFamily – Oprávnění udělená v rozsahu ColumnFamily se vztahují na buňky v rámci této ColumnFamily.
  • Buňka – Oprávnění udělená v rozsahu buňky se vztahují na přesnou souřadnici buňky.

Export HBase ACL

1. Přihlaste se přes Kerberos s přihlašovacími údaji služby HBase.

2. Spusťte prostředí hbase a vypište seznam ACL.

Chcete-li zobrazit seznam ACL, použijte následující příkazy: 

  • user_permission „.*“
  • Alternativně s oprávněním superuživatele:skenovat ‘hbase:acl’

Příklad výstupu skenování ‚hbase:acl‘:

ŘÁDEK COLUMN+BUŇKA

emp column=l:hbase, timestamp=1612190971868, value=RWXCAemp2 column=l:hbase, timestamp=1612191218963, value=RWXCAemp2 column=l:user1, timestamp=1612191424 Cemp personal=RWl data, timestamp=1612273141925, value=RWemp column=l:test,osobní údaje,1, timestamp=1612273322678, value=RWemp column=l:@group-usr,personal data,1, timestamp=1612273324527, value=RW před> 

Příklad výstupu user_permission ‚.*‘:

Uživatelský jmenný prostor,Tabulka,Rodina,Kvalifikátor:Permissionhbase default,emp,,:[Oprávnění:actions=READ,WRITE,EXEC,CREATE,ADMIN]user1 default,emp2,,:[Oprávnění:actions=READ,WRITE, CREATE]hbase default,emp2,,:[Oprávnění:actions=READ,WRITE,EXEC,CREATE,ADMIN]test default,emp,personal data,:[Oprávnění:actions=READ,WRITE]test default,emp,personal data, 1:[Oprávnění:actions=READ,WRITE]@group-usr default,emp,personal data,1:[Oprávnění:actions=READ,WRITE]

Poznámka: Skupinám a uživatelům je udělen přístup stejným způsobem, ale před skupinami je znak ‚@‘. Tabulky a jmenné prostory jsou specifikovány stejným způsobem, ale jmenné prostory mají předponu ‚@‘.

Příklad oprávnění na úrovni buňky:

test             default,emp,personal data,1:[Permission:actions=READ,WRITE]

„test“ uživatel má oprávnění RW na „výchozí“ jmenný prostor v tabulce 'emp' , sloupec ‚osobní údaje‘ a řádek „1“...

Vytvoření zásad Ranger 

  1. V Cloudera Manager vyberte službu Ranger.
  2. Najděte webUI odkaz, který vás přesměruje na uživatelské rozhraní Ranger.
  3. Přihlaste se do uživatelského rozhraní Ranger.

Správce přístupu zobrazená stránka:

1. Vyberte existující službu HBase.
Seznam zásad zobrazí se stránka.

2. Klikněte na Přidat nové zásady .
Zobrazí se stránka Create Policy.

3. Vyplňte stránku Create Policy následovně:

3.1 Podrobnosti o zásadách

Název zásad Zadejte vhodný název zásady. Tento název nelze v systému duplikovat. Toto pole je povinné.
Štítek zásad Uveďte štítek pro tuto zásadu. Na základě těchto štítků můžete vyhledávat sestavy a filtrovat zásady.
normální/přepsat Umožňuje zadat zásadu přepsání. Když je vybráno přepsání, přístupová oprávnění v zásadě přepíší přístupová oprávnění ve stávajících zásadách. Tuto funkci lze použít s přidáním období platnosti k vytvoření dočasných zásad přístupu, které přepíší stávající zásady.
Tabulka HBase Vyberte příslušnou databázi. Pro konkrétní politiku lze vybrat více databází. Toto pole je povinné.
Skupina sloupců HBase U vybrané tabulky určete rodiny sloupců, na které se zásada vztahuje.
Sloupec HBase U vybraných skupin tabulek a sloupců určete sloupce, na které se zásada vztahuje.
Popis (Volitelné) Popište účel zásad.
Protokolování auditu Uveďte, zda je tato zásada auditována. (Zrušením výběru zakážete auditování).
Přidat období platnosti Zadejte čas začátku a konce zásady.

3.2 Podmínky povolení/odmítnutí
Apache Ranger podporuje následující podmínky přístupu:

  • Povolit
  • Vyloučit z Povolit
  • Odmítnout
  • Vyloučit z Deny

Tyto podmínky přístupu vám umožňují nastavit podrobné zásady řízení přístupu.

Můžete například povolit přístup k financím tabulky všem uživatelům v financi skupině, ale odepřete přístup všem uživatelům v stážistech skupina. Řekněme, že jeden z členů stážistů skupina, scott , potřebuje pracovat na úkolu, který vyžaduje přístup k financím stůl. V takovém případě můžete přidat podmínku Vyloučit z odmítnutí, která uživateli umožní scott pro přístup k financím databáze.

Vyberte roli Uveďte role, na které se tato zásada vztahuje.

Chcete-li určit roli správce, zaškrtněte políčko Delegovat správce. Administrátoři mohou upravit nebo odstranit zásady a mohou také vytvořit podřízené zásady založené na původní zásadě.
Vyberte skupinu Uveďte skupiny, na které se tato zásada vztahuje.

Chcete-li určit skupinu jako správce, zaškrtněte políčko Delegovat správce. Administrátoři mohou upravit nebo odstranit zásady a mohou také vytvořit podřízené zásady založené na původní zásadě.
Vyberte uživatele Uveďte uživatele, na které se tato zásada vztahuje.

Chcete-li určit uživatele jako správce, zaškrtněte políčko Delegovat správce. Administrátoři mohou upravit nebo odstranit zásady a mohou také vytvořit podřízené zásady založené na původní zásadě.
Oprávnění Přidat nebo upravit oprávnění:Číst, Zápis, Vytvořit, Správce, Vybrat/zrušit výběr všeho.
Pověření správce Můžete použít Delegovat správce k přiřazení administrátorských práv uživatelům nebo skupinám uvedeným v zásadě. Administrátoři mohou upravit nebo odstranit zásady a mohou také vytvořit podřízené zásady založené na původní zásadě.

3.3 Pro přidání dalších podmínek můžete použít symbol plus (+). Podmínky se vyhodnocují v pořadí uvedeném v zásadách. Nejprve se použije podmínka v horní části seznamu, pak druhá, pak třetí a tak dále. Podmínky odmítnutí jsou vždy silnější. Následující vývojový diagram poskytuje informace o postupu hodnocení zásad Ranger.

3.4 Nakonec klikněte na Přidat.

Závěr

V tomto blogpostu jsme se podívali na to, jak můžete migrovat vaše HBase ACL na zásady Ranger pomocí Cloudera Manager. Bohužel neexistuje žádná automatizace migrace, protože tyto dvě metody autorizace se značně liší. Přestože v Rangeru existuje funkce importu pro zásady hromadného načítání, neexistuje způsob, jak exportovat ACL z HBase ve formátu, kterému Ranger rozumí (konkrétně ve formátu JSON/CSV).


  1. Meteor:nahrávání souboru z klienta do kolekce Mongo vs souborový systém vs GridFS

  2. mapa MongoDB()

  3. Zkombinujte dvě instance Redis do jedné instance se dvěma databázemi

  4. Používá MongoDB znovu smazaný prostor?