Dela via


Självstudie: Konfigurera Apache HBase-principer i HDInsight med Enterprise Security Package

Lär dig hur du konfigurerar Apache Ranger-principer för Apache HBase-kluster med Enterprise Security Package (ESP). ESP-kluster är anslutna till en domän så att användare kan autentisera med autentiseringsuppgifter för domänen. I den här självstudien skapar du två Ranger-principer för att begränsa åtkomsten till olika kolumnserier i en HBase-tabell.

I den här självstudien lär du dig att:

  • Skapa domänanvändare.
  • Skapa Ranger-principer.
  • Skapa tabeller i ett HBase-kluster.
  • Testa Ranger-principer.

Innan du börjar

Anslut till Apache Ranger Admin-gränssnittet

  1. Från en webbläsare ansluter du till Ranger Admin-användargränssnittet (UI) med hjälp av URL:en https://<ClusterName>.azurehdinsight.net/Ranger/. Kom ihåg att ändra <ClusterName> till namnet på ditt HBase-kluster.

    Kommentar

    Ranger-autentiseringsuppgifter är inte samma som autentiseringsuppgifter för Hadoop-kluster. Om du vill förhindra att webbläsare använder cachade Hadoop-autentiseringsuppgifter använder du ett nytt InPrivate-webbläsarfönster för att ansluta till Ranger-administratörsgränssnittet.

  2. Logga in med dina autentiseringsuppgifter för Microsoft Entra-administratör. Autentiseringsuppgifterna för Microsoft Entra-administratören är inte samma som autentiseringsuppgifter för HDInsight-kluster eller autentiseringsuppgifter för Linux HDInsight-noden Secure Shell (SSH).

Skapa domänanvändare

Information om hur du skapar sales_user1 och marketing_user1 domänanvändare finns i Skapa ett HDInsight-kluster med Enterprise Security Package. I ett produktionsscenario kommer domänanvändarna från din Active Directory-klientorganisation.

Skapa HBase-tabeller och importera exempeldata

Du kan använda SSH för att ansluta till HBase-kluster och sedan använda Apache HBase Shell för att skapa HBase-tabeller, infoga data och köra frågor mot data. Mer information finns i Use SSH with HDInsight (Använda SSH med HDInsight).

Använda HBase-gränssnittet

  1. Från SSH kör du följande HBase-kommando:

    hbase shell
    
  2. Skapa en HBase-tabell Customers med två kolumnfamiljer: Name och Contact.

    create 'Customers', 'Name', 'Contact'
    list
    
  3. Infoga data:

    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. Visa tabellens innehåll:

    scan 'Customers'
    

    Skärmbild som visar HDInsight Hadoop HBase-gränssnittets utdata.

Skapa Ranger-principer

Skapa en Ranger-princip för sales_user1 och marketing_user1.

  1. Öppna Ranger-administratörsanvändargränssnittet. Under HBase väljer du <ClusterName>_hbase.

    Skärmbild som visar användargränssnittet för HDInsight Apache Ranger Admin.

  2. skärmen Lista över principer visas alla Ranger-principer som skapats för det här klustret. En förkonfigurerad princip kan visas. Välj Lägg till ny princip.

    Skärmbild som visar listan med Apache Ranger HBase-principer.

  3. Ange följande värden på Create Policy skärmen:

    Inställning Föreslaget värde
    Principnamn sales_customers_name_contact
    HBase-tabell Kunder
    HBase-kolumnserie Namn, Kontakt
    HBase-kolumn *
    Välj Grupp
    Välj användare sales_user1
    Behörigheter Lästa

    Följande jokertecken kan användas i ämnesnamnet:

    • * anger noll eller flera förekomster av tecken.
    • ? anger ett enskilt tecken.

    Skärmbild som visar Apache Ranger-principen Skapa försäljning.

    Kommentar

    Vänta en stund tills Ranger synkroniserar med Microsoft Entra-ID om en domänanvändare inte fylls i automatiskt för Välj användare.

  4. Välj Lägg till för att spara principen.

  5. Välj Lägg till ny princip och ange sedan följande värden:

    Inställning Föreslaget värde
    Principnamn marketing_customers_contact
    HBase-tabell Kunder
    HBase-kolumnserie Kontakt
    HBase-kolumn *
    Välj Grupp
    Välj användare marketing_user1
    Behörigheter Lästa

    Skärmbild som visar Apache Ranger-principen Skapa marknadsföring.

  6. Välj Lägg till för att spara principen.

Testa Ranger-principerna

Baserat på de Ranger-principer som konfigurerats kan sales_user1 visa alla data för kolumnerna i både kolumnfamiljerna Name och Contact . Marketing_user1 kan endast visa data i kolumnfamiljenContact.

Komma åt data som sales_user1

  1. Öppna en ny SSH-anslutning till klustret. Använd följande kommando för att logga till klustret:

    ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
    
  2. kinit Använd kommandot för att ändra till kontexten för den önskade användaren:

    kinit sales_user1
    
  3. Öppna HBase-gränssnittet och skanna tabellen Customers:

    hbase shell
    scan `Customers`
    
  4. Observera att försäljningsanvändaren kan visa alla kolumner i Customers tabellen. Användaren kan se de två kolumnerna i kolumnfamiljen Name och de fem kolumnerna i kolumnfamiljen 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
     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
    

Komma åt data som marketing_user1

  1. Öppna en ny SSH-anslutning till klustret. Använd följande kommando för att logga in som marketing_user1:

    ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
    
  2. kinit Använd kommandot för att ändra till kontexten för vår önskade användare:

    kinit marketing_user1
    
  3. Öppna HBase-gränssnittet och skanna tabellen Customers:

    hbase shell
    scan `Customers`
    
  4. Observera att marknadsföringsanvändaren endast kan visa de fem kolumnerna i kolumnserien 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. Granska åtkomsthändelserna i Ranger-användargränssnittet.

    Skärmbild som visar HDInsight Ranger UI Policy Audit.

Rensa resurser

Om du inte kommer att fortsätta att använda det här programmet tar du bort HBase-klustret som du skapade:

  1. Logga in på Azure-portalen.
  2. I sökrutan högst upp anger du HDInsight.
  3. Under Tjänster väljer du HDInsight-kluster.
  4. I listan över HDInsight-kluster som visas väljer du ... bredvid klustret som du skapade för den här självstudien.
  5. Välj Ta bort>Ja.

Nästa steg