Samouczek: konfigurowanie zasad bazy danych Apache HBase w usłudze HDInsight przy użyciu pakietu Enterprise Security
Dowiedz się, jak skonfigurować zasady platformy Apache Ranger na potrzeby klastrów Apache HBase pakietów Enterprise Security Package (ESP). Klastry ESP są łączone z domeną, co pozwala użytkownikom na uwierzytelnianie przy użyciu poświadczeń domeny. W tym samouczku utworzysz dwie zasady platformy Ranger, aby ograniczyć dostęp do różnych rodzin kolumn w tabeli bazy danych HBase.
Z tego samouczka dowiesz się, jak wykonywać następujące czynności:
- Tworzenie użytkowników domeny.
- Tworzenie zasad platformy Ranger.
- Tworzenie tabel w klastrze HBase.
- Testowanie zasad platformy Ranger.
Zanim rozpoczniesz
- Jeśli nie masz subskrypcji platformy Azure, utwórz bezpłatne konto.
- Zaloguj się w witrynie Azure Portal.
- Utwórz klaster HBase usługi HDInsight z pakietem Enterprise Security.
Łączenie z interfejsem użytkownika administratora platformy Apache Ranger
W przeglądarce połącz się z interfejsem użytkownika (UI) administratora platformy Ranger przy użyciu adresu URL
https://<ClusterName>.azurehdinsight.net/Ranger/
. Pamiętaj, aby zmienić wartość<ClusterName>
na nazwę klastra bazy danych HBase.Uwaga
Poświadczenia platformy Ranger nie są takie same jak poświadczenia klastra Hadoop. Aby zapobiec używaniu w przeglądarce buforowanych poświadczeń usługi Hadoop, należy połączyć się z interfejsem użytkownika administratora platformy Ranger w nowym oknie przeglądarki InPrivate.
Zaloguj się przy użyciu poświadczeń administratora firmy Microsoft Entra. Poświadczenia administratora usługi Microsoft Entra nie są takie same jak poświadczenia klastra usługi HDInsight ani poświadczenia protokołu Secure Shell (SSH) węzła usługi HDInsight systemu Linux.
Tworzenie użytkowników domeny
Aby dowiedzieć się, jak utworzyć użytkowników domeny sales_user1 i marketing_user1 , zobacz Tworzenie klastra usługi HDInsight przy użyciu pakietu Enterprise Security. W scenariuszu produkcyjnym użytkownicy domeny pochodzą z dzierżawy usługi Active Directory.
Tworzenie tabel bazy danych HBase i importowanie przykładowych danych
Protokół SSH umożliwia połączenie z klastrami HBase, a następnie korzystanie z powłoki Apache HBase w celu tworzenia tabel bazy danych HBase, wstawiania danych i wykonywania zapytań o dane. Aby uzyskać więcej informacji, zobacz Używanie protokołu SSH w usłudze HDInsight.
Korzystanie z powłoki HBase
Z poziomu bezpiecznej powłoki (SSH) uruchom następujące polecenie bazy danych HBase:
hbase shell
Utwórz tabelę
Customers
HBase z dwiema rodzinami kolumn:Name
iContact
.create 'Customers', 'Name', 'Contact' list
Wstaw dowolne dane:
put 'Customers','1001','Name:First','Alice' put 'Customers','1001','Name:Last','Johnson' put 'Customers','1001','Contact:Phone','333-333-3333' put 'Customers','1001','Contact:Address','313 133rd Place' put 'Customers','1001','Contact:City','Redmond' put 'Customers','1001','Contact:State','WA' put 'Customers','1001','Contact:ZipCode','98052' put 'Customers','1002','Name:First','Robert' put 'Customers','1002','Name:Last','Stevens' put 'Customers','1002','Contact:Phone','777-777-7777' put 'Customers','1002','Contact:Address','717 177th Ave' put 'Customers','1002','Contact:City','Bellevue' put 'Customers','1002','Contact:State','WA' put 'Customers','1002','Contact:ZipCode','98008'
Wyświetl zawartość tabeli:
scan 'Customers'
Tworzenie zasad platformy Ranger
Utwórz zasady platformy Ranger dla użytkowników sales_user1 i marketing_user1.
Otwórz interfejs użytkownika administratora platformy Ranger. W obszarze HBase wybierz pozycję< Nazwa>_klastra_hbase.
Na ekranie Lista zasad są wyświetlane wszystkie zasady platformy Ranger utworzone dla tego klastra. Na liście może znajdować się jedna wstępnie skonfigurowana zasada. Wybierz pozycję Dodaj nowe zasady.
Na ekranie
Create Policy
wprowadź następujące wartości:Ustawienie Sugerowana wartość Policy Name (Nazwa zasad) sales_customers_name_contact Tabela bazy danych HBase Odbiorcy Rodzina kolumn bazy danych HBase Nazwa, kontakt Kolumna bazy danych HBase * Wybierz grupę Select User (Wybierz użytkownika) sales_user1 Uprawnienia Przeczytaj W nazwie tematu można uwzględnić następujące symbole wieloznaczne:
*
oznacza zero lub więcej wystąpień znaków.?
oznacza pojedynczy znak.
Uwaga
Poczekaj chwilę na zsynchronizowanie platformy Ranger z identyfikatorem Entra firmy Microsoft, jeśli użytkownik domeny nie zostanie automatycznie wypełniony dla pozycji Wybierz użytkownika.
Wybierz pozycję Dodaj , aby zapisać zasady.
Wybierz pozycję Dodaj nowe zasady , a następnie wprowadź następujące wartości:
Ustawienie Sugerowana wartość Policy Name (Nazwa zasad) marketing_customers_contact Tabela bazy danych HBase Odbiorcy Rodzina kolumn bazy danych HBase Kontakt biznesowy Kolumna bazy danych HBase * Wybierz grupę Select User (Wybierz użytkownika) marketing_user1 Uprawnienia Przeczytaj Wybierz pozycję Dodaj , aby zapisać zasady.
Testowanie zasad platformy Ranger
Na podstawie skonfigurowanych zasad platformy Ranger sales_user1 może wyświetlać wszystkie dane dla kolumn zarówno w rodzinach kolumn, jak Name
i Contact
. Marketing_user1 może wyświetlać dane tylko w Contact
rodzinie kolumn.
Uzyskiwanie dostępu do danych jako sales_user1
Otwórz nowe połączenie SSH z klastrem. Użyj następującego polecenia, aby zalogować się do klastra:
ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
kinit
Użyj polecenia , aby zmienić kontekst żądanego użytkownika:kinit sales_user1
Otwórz powłokę HBase i przeskanuj tabelę
Customers
:hbase shell scan `Customers`
Zwróć uwagę, że użytkownik sprzedaży może wyświetlić wszystkie kolumny
Customers
tabeli. Użytkownik może zobaczyć dwie kolumny wName
rodzinie kolumn i pięć kolumn wContact
rodzinie kolumn.ROW COLUMN+CELL 1001 column=Contact:Address, timestamp=1548894873820, value=313 133rd Place 1001 column=Contact:City, timestamp=1548895061523, value=Redmond 1001 column=Contact:Phone, timestamp=1548894871759, value=333-333-3333 1001 column=Contact:State, timestamp=1548895061613, value=WA 1001 column=Contact:ZipCode, timestamp=1548895063111, value=98052 1001 column=Name:First, timestamp=1548894871561, value=Alice 1001 column=Name:Last, timestamp=1548894871707, value=Johnson 1002 column=Contact:Address, timestamp=1548894899174, value=717 177th Ave 1002 column=Contact:City, timestamp=1548895103129, value=Bellevue 1002 column=Contact:Phone, timestamp=1548894897524, value=777-777-7777 1002 column=Contact:State, timestamp=1548895103231, value=WA 1002 column=Contact:ZipCode, timestamp=1548895104804, value=98008 1002 column=Name:First, timestamp=1548894897419, value=Robert 1002 column=Name:Last, timestamp=1548894897487, value=Stevens 2 row(s) in 0.1000 seconds
Uzyskiwanie dostępu do danych jako marketing_user1
Otwórz nowe połączenie SSH z klastrem. Użyj następującego polecenia, aby zalogować się jako użytkownik marketing_user1:
ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
kinit
Użyj polecenia , aby zmienić kontekst żądanego użytkownika:kinit marketing_user1
Otwórz powłokę HBase i przeskanuj tabelę
Customers
:hbase shell scan `Customers`
Zauważ, że użytkownik „marketing” może wyświetlić tylko pięć kolumn z rodziny kolumn
Contact
.ROW COLUMN+CELL 1001 column=Contact:Address, timestamp=1548894873820, value=313 133rd Place 1001 column=Contact:City, timestamp=1548895061523, value=Redmond 1001 column=Contact:Phone, timestamp=1548894871759, value=333-333-3333 1001 column=Contact:State, timestamp=1548895061613, value=WA 1001 column=Contact:ZipCode, timestamp=1548895063111, value=98052 1002 column=Contact:Address, timestamp=1548894899174, value=717 177th Ave 1002 column=Contact:City, timestamp=1548895103129, value=Bellevue 1002 column=Contact:Phone, timestamp=1548894897524, value=777-777-7777 1002 column=Contact:State, timestamp=1548895103231, value=WA 1002 column=Contact:ZipCode, timestamp=1548895104804, value=98008 2 row(s) in 0.0730 seconds
Wyświetl zdarzenia dostępu inspekcji z poziomu interfejsu użytkownika platformy Ranger.
Czyszczenie zasobów
Jeśli nie zamierzasz nadal korzystać z tej aplikacji, usuń utworzony klaster HBase:
- Zaloguj się w witrynie Azure Portal.
- W polu Wyszukiwania u góry wprowadź wartość HDInsight.
- W obszarze Usługi wybierz pozycję Klastry usługi HDInsight.
- Na wyświetlonej liście klastrów usługi HDInsight wybierz pozycję ... obok klastra utworzonego na potrzeby tego samouczka.
- Wybierz kolejno pozycje Usuń>Tak.