HBase
 sql >> Baza danych >  >> NoSQL >> HBase

Konwertowanie list ACL HBase na zasady Ranger

CDP używa Apache Ranger do zarządzania bezpieczeństwem danych. Jeśli chcesz wykorzystać Ranger do scentralizowanej administracji bezpieczeństwa, listy ACL HBase muszą zostać zmigrowane do zasad. Można to zrobić za pośrednictwem interfejsu internetowego Ranger, dostępnego z Cloudera Manager. Ale najpierw przyjrzyjmy się krótko metodzie HBase do kontroli dostępu.

Autoryzacja HBase

Jeśli skonfigurowano autoryzację (na przykład z Kerberos i ustawieniem hbase.security.authorization właściwość prawda ), użytkownicy mogą mieć zdefiniowane reguły dotyczące zasobów, do których mają dostęp. Reguły te można zdefiniować dla poszczególnych tabel, kolumn i komórek w tabeli.

Poziomy dostępu HBase

Poziomy dostępu HBase są przyznawane niezależnie od siebie i pozwalają na różne typy operacji w danym zakresie.

Możliwe uprawnienia (zero lub więcej liter z zestawu „RWXCA”):

  • Odczyt (R) – może odczytywać dane w zadanym zakresie
  • Write (W) – może zapisywać dane w zadanym zakresie
  • Wykonaj (X) – może wykonywać punkty końcowe koprocesora w zadanym zakresie
  • Utwórz (C) – może tworzyć tabele lub upuszczać tabele w podanym zakresie
  • Administrator (A) – może wykonywać operacje klastra, takie jak równoważenie klastra lub przypisywanie regionów w danym zakresie

Możliwe zakresy:

  • Superużytkownik – Superużytkownicy mogą wykonywać dowolną operację dostępną w HBase, na dowolnym zasobach. Użytkownik, który uruchamia HBase w klastrze, jest superużytkownikiem. Wszelkie podmioty główne przypisane do właściwości konfiguracji hbase.superuser w hbase-site.xml plik konfiguracyjny na HMaster są również superużytkownikami.
  • Globalne — uprawnienia przyznane w zakresie globalnym umożliwiają administratorowi operowanie na wszystkich tabelach klastra.
  • Przestrzeń nazw — uprawnienia przyznane w zakresie przestrzeni nazw dotyczą wszystkich tabel w danej przestrzeni nazw.
  • Tabela – Uprawnienia przyznane w zakresie tabeli dotyczą danych lub metadanych w danej tabeli.
  • ColumnFamily – Uprawnienia przyznane w zakresie ColumnFamily dotyczą komórek w tej ColumnFamily.
  • Komórka – Uprawnienia przyznane w zakresie komórki dotyczą dokładnie tej współrzędnej komórki.

Eksportowanie list ACL HBase

1. Zaloguj się przez Kerberos przy użyciu poświadczeń usługi HBase.

2. Uruchom powłokę hbase i wyświetl listy ACL.

Aby wyświetlić listy ACL, użyj następujących poleceń: 

  • user_permission „.*”
  • Alternatywnie z uprawnieniami administratora:skanuj „hbase:acl”

Przykładowe wyjście skanowania „hbase:acl”:

WIERSZ KOLUMNA+KOMÓRKA

emp column=l:hbase, timestamp=1612190971868, value=RWXCA
emp2 column=l:hbase, timestamp=1612191218963, value=RWXCA
emp2 column=l:user1, timestamp=1612191426624, value=RWC
emp column=l:test,personal data, timestamp=1612273141925, value=RW
emp column=l:test,personal data,1, timestamp=1612273322678, value=RW
emp column=l:@group-usr,personal data,1, timestamp=1612273324527, value=RW

Przykładowe wyjście user_permission ‘.*‘:

User Namespace,Table,Family,Qualifier:Permission
hbase default,emp,,: [Permission: actions=READ,WRITE,EXEC,CREATE,ADMIN]
user1 default,emp2,,: [Permission: actions=READ,WRITE,CREATE]
hbase default,emp2,,: [Permission: actions=READ,WRITE,EXEC,CREATE,ADMIN]
test default,emp,personal data,: [Permission: actions=READ,WRITE]
test default,emp,personal data,1: [Permission: actions=READ,WRITE]
@group-usr default,emp,personal data,1: [Permission: actions=READ,WRITE]

Uwaga: Grupy i użytkownicy uzyskują dostęp w ten sam sposób, ale grupy są poprzedzone znakiem „@”. Tabele i przestrzenie nazw określa się w ten sam sposób, ale przestrzenie nazw są poprzedzone znakiem „@”.

Przykład zezwolenia na poziomie komórki:

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

„Test” użytkownik ma uprawnienia RW do „domyślnego” przestrzeń nazw, w tabeli 'emp' , kolumna „dane osobowe” i wiersz „1”..

Tworzenie zasad Ranger

  1. W Cloudera Manager wybierz usługę Ranger.
  2. Znajdź interfejs internetowy link, który przekierowuje Cię do interfejsu Ranger.
  3. Zaloguj się do interfejsu Ranger.

Menedżer dostępu wyświetlana strona:

1. Wybierz istniejącą usługę HBase.
Lista zasad pojawi się strona.

2. Kliknij Dodaj nową zasadę .
Pojawi się strona Utwórz politykę.

3. Wypełnij stronę Utwórz politykę w następujący sposób:

3.1 Szczegóły zasad

Nazwa zasady Wprowadź odpowiednią nazwę polityki. Ta nazwa nie może być powielana w całym systemie. To pole jest obowiązkowe.
Etykieta zasad Określ etykietę dla tej zasady. Możesz przeszukiwać raporty i filtrować zasady na podstawie tych etykiet.
normalne/zastępowanie Umożliwia określenie zasady nadpisania. Po wybraniu opcji Zastąp uprawnienia dostępu w zasadach zastępują uprawnienia dostępu w istniejących zasadach. Ta funkcja może być używana z Dodaj okres ważności do tworzenia tymczasowych zasad dostępu, które zastępują istniejące zasady.
Tabela HBase Wybierz odpowiednią bazę danych. Dla określonej polityki można wybrać wiele baz danych. To pole jest obowiązkowe.
Rodzina kolumn HBase Dla wybranej tabeli określ rodziny kolumn, których dotyczy zasada.
Kolumna HBase Dla wybranych rodzin tabel i kolumn określ kolumny, do których ma zastosowanie zasada.
Opis (Opcjonalnie) Opisz cel polityki.
Rejestrowanie audytu Określ, czy ta zasada jest kontrolowana. (Odznacz, aby wyłączyć audyt).
Dodaj okres ważności Określ czas rozpoczęcia i zakończenia polityki.

3.2 Warunki zezwolenia/odmowy
Apache Ranger obsługuje następujące warunki dostępu:

  • Zezwól
  • Wyklucz z Zezwól
  • Odmów
  • Wyklucz z Odmów

Te warunki dostępu umożliwiają skonfigurowanie szczegółowych zasad kontroli dostępu.

Na przykład możesz zezwolić na dostęp do finansów tabela dla wszystkich użytkowników w finansach grupy, ale odmów dostępu wszystkim użytkownikom stażystów Grupa. Załóżmy, że jeden z członków stażystów grupa, scott , musi pracować nad zadaniem, które wymaga dostępu do finansów stół. W takim przypadku możesz dodać warunek Wyklucz z odmowy, który pozwoli użytkownikowi scott aby uzyskać dostęp do finansów Baza danych.

Wybierz rolę Określ role, których dotyczy ta zasada.

Aby wyznaczyć rolę administratora, zaznacz pole wyboru Deleguj administratora. Administratorzy mogą edytować lub usuwać zasady, a także tworzyć zasady podrzędne w oparciu o oryginalną politykę.
Wybierz grupę Określ grupy, do których ma zastosowanie ta zasada.

Aby wyznaczyć grupę jako administratora, zaznacz pole wyboru Deleguj administratora. Administratorzy mogą edytować lub usuwać zasady, a także tworzyć zasady podrzędne w oparciu o oryginalną politykę.
Wybierz użytkownika Określ użytkowników, których dotyczy ta zasada.

Aby wyznaczyć użytkownika jako administratora, zaznacz pole wyboru Deleguj administratora. Administratorzy mogą edytować lub usuwać zasady, a także tworzyć zasady podrzędne w oparciu o oryginalną politykę.
Uprawnienia Dodaj lub edytuj uprawnienia:odczyt, zapis, tworzenie, administrowanie, zaznaczanie/odznaczanie wszystkich.
Administrator delegowany Możesz użyć funkcji Deleguj administratora, aby przypisać uprawnienia administratora użytkownikom lub grupom określonym w zasadach. Administratorzy mogą edytować lub usuwać zasady, a także tworzyć zasady podrzędne w oparciu o oryginalną politykę.

3.3 Możesz użyć symbolu Plus (+), aby dodać dodatkowe warunki. Warunki są oceniane w kolejności podanej w polityce. Warunek u góry listy jest stosowany jako pierwszy, potem drugi, potem trzeci i tak dalej. Warunki odmowy są zawsze silniejsze. Poniższy schemat blokowy zawiera informacje o przebiegu oceny polityki Ranger.

3.4 Na koniec kliknij Dodaj.

Wniosek

W tym wpisie na blogu przyjrzeliśmy się, jak można migrować listy ACL HBase do zasad Ranger za pomocą Cloudera Manager. Niestety nie ma automatyzacji migracji, ponieważ te dwie metody autoryzacji znacznie się różnią. Chociaż w Ranger dostępna jest funkcja importu dla zasad ładowania zbiorczego, nie ma możliwości eksportowania list ACL z HBase w formacie zrozumiałym dla Rangera (konkretnie w formacie JSON/CSV).


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Co to jest para klucz-wartość MapReduce w usłudze Hadoop?

  2. Budowanie skalowalnego procesu przy użyciu NiFi, Kafka i HBase na CDP

  3. Wewnątrz architektury pozyskiwania danych w czasie zbliżonym do rzeczywistego Santander (część 2)

  4. Spark-on-HBase:złącze HBase oparte na DataFrame

  5. Instrukcje:korzystanie z interfejsu HBase Thrift, część 2:Wstawianie/pobieranie wierszy