Udostępnij za pośrednictwem


Samouczek: konfigurowanie zasad bazy danych Apache HBase w usłudze HDInsight przy użyciu pakietu Enterprise Security

Dowiedz się, jak skonfigurować zasady Apache Ranger na potrzeby klastrów Apache HBase w pakiecie 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.
  • Twórz zasady 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

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

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

Użyj powłoki HBase

  1. W SSH uruchom następujące polecenie 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'
    

    Zrzut ekranu przedstawiający dane wyjściowe powłoki HBase usługi HDInsight Hadoop.

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

    Zrzut ekranu przedstawiający interfejs użytkownika administratora platformy Apache Ranger w usłudze HDInsight.

  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.

    Zrzut ekranu przedstawiający listę zasad HBase platformy Apache Ranger.

  3. Na ekranie Create Policy wprowadź następujące wartości:

    Ustawienie Sugerowana wartość
    Nazwa Polityki sprzedaż_klienci_nazwa_kontakt
    Tabela bazy danych HBase Klienci
    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 użyć następujących symboli wieloznacznych:

    • * oznacza zero lub więcej wystąpień znaków.
    • ? oznacza pojedynczy znak.

    Zrzut ekranu przedstawiający politykę Apache Ranger 'Create sales'.

    Uwaga

    Poczekaj chwilę, aż Ranger zsynchronizuje się z Microsoft Entra ID, jeśli użytkownik domeny nie jest automatycznie widoczny w sekcji 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ść
    Nazwa Polityki kontakt_marketingowi_klienci
    Tabela bazy danych HBase Klienci
    Rodzina kolumn bazy danych HBase Kontakt
    Kolumna bazy danych HBase *
    Wybierz grupę
    Select User (Wybierz użytkownika) użytkownik_marketingowy1
    Uprawnienia Przeczytaj

    Zrzut ekranu przedstawiający zasadę Apache Ranger 'Create marketing'.

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

Testowanie zasad Ranger

Na podstawie skonfigurowanych zasad platformy Ranger, użytkownik sales_user1 może wyświetlać wszystkie dane dla kolumn w rodzinach kolumn 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.

    Zrzut ekranu pokazujący audyt polityki w HDInsight Ranger UI.

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 kolejno pozycje Usuń>Tak.

Następne kroki