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

Łączenie z interfejsem użytkownika administratora platformy Apache Ranger

  1. W przeglądarce nawiąż połączenie z interfejsem użytkownika platformy Ranger Administracja 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.

  2. 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

  1. Z poziomu bezpiecznej powłoki (SSH) uruchom następujące polecenie bazy danych HBase:

    hbase shell
    
  2. Utwórz tabelę Customers HBase z dwiema rodzinami kolumn: Name i Contact.

    create 'Customers', 'Name', 'Contact'
    list
    
  3. 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'
    
  4. Wyświetl zawartość tabeli:

    scan 'Customers'
    

    Screenshot that shows the HDInsight Hadoop HBase shell output.

Tworzenie zasad platformy Ranger

Utwórz zasady platformy Ranger dla użytkowników sales_user1 i marketing_user1.

  1. Otwórz interfejs użytkownika administratora platformy Ranger. W obszarze HBase wybierz pozycję< Nazwa>_klastra_hbase.

    Screenshot that shows the HDInsight Apache Ranger Admin UI.

  2. 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.

    Screenshot that shows the Apache Ranger HBase policies list.

  3. Na ekranie Tworzenie zasad 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.

    Screenshot that shows the Apache Ranger policy Create sales.

    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.

  4. Wybierz pozycję Dodaj , aby zapisać zasady.

  5. 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

    Screenshot that shows the Apache Ranger policy Create marketing.

  6. 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

  1. 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
    
  2. kinit Użyj polecenia , aby zmienić kontekst żądanego użytkownika:

    kinit sales_user1
    
  3. Otwórz powłokę HBase i przeskanuj tabelę Customers:

    hbase shell
    scan `Customers`
    
  4. Zwróć uwagę, że użytkownik sprzedaży może wyświetlić wszystkie kolumny Customers tabeli. Użytkownik może zobaczyć dwie kolumny w Name rodzinie kolumn i pięć kolumn w Contact 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

  1. 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
    
  2. kinit Użyj polecenia , aby zmienić kontekst żądanego użytkownika:

    kinit marketing_user1
    
  3. Otwórz powłokę HBase i przeskanuj tabelę Customers:

    hbase shell
    scan `Customers`
    
  4. 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
    
  5. Wyświetl zdarzenia dostępu inspekcji z poziomu interfejsu użytkownika platformy Ranger.

    Screenshot that shows the HDInsight Ranger UI Policy Audit.

Czyszczenie zasobów

Jeśli nie zamierzasz nadal korzystać z tej aplikacji, usuń utworzony klaster HBase:

  1. Zaloguj się w witrynie Azure Portal.
  2. W polu Wyszukiwania u góry wprowadź wartość HDInsight.
  3. W obszarze Usługi wybierz pozycję Klastry usługi HDInsight.
  4. Na wyświetlonej liście klastrów usługi HDInsight wybierz pozycję ... obok klastra utworzonego na potrzeby tego samouczka.
  5. Wybierz pozycję Usuń>tak.

Następne kroki