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
- Om du inte har någon Azure-prenumeration kan du skapa ett kostnadsfritt konto.
- Logga in på Azure-portalen.
- Skapa ett HDInsight HBase-kluster med Enterprise Security Package.
Anslut till Apache Ranger Admin-gränssnittet
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.
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
Från SSH kör du följande HBase-kommando:
hbase shell
Skapa en HBase-tabell
Customers
med två kolumnfamiljer:Name
ochContact
.create 'Customers', 'Name', 'Contact' list
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'
Visa tabellens innehåll:
scan 'Customers'
Skapa Ranger-principer
Skapa en Ranger-princip för sales_user1 och marketing_user1.
Öppna Ranger-administratörsanvändargränssnittet. Under HBase väljer du <ClusterName>_hbase.
På 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.
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.
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.
Välj Lägg till för att spara principen.
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 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
Öppna en ny SSH-anslutning till klustret. Använd följande kommando för att logga till klustret:
ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
kinit
Använd kommandot för att ändra till kontexten för den önskade användaren:kinit sales_user1
Öppna HBase-gränssnittet och skanna tabellen
Customers
:hbase shell scan `Customers`
Observera att försäljningsanvändaren kan visa alla kolumner i
Customers
tabellen. Användaren kan se de två kolumnerna i kolumnfamiljenName
och de fem kolumnerna i kolumnfamiljenContact
.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
Ö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
kinit
Använd kommandot för att ändra till kontexten för vår önskade användare:kinit marketing_user1
Öppna HBase-gränssnittet och skanna tabellen
Customers
:hbase shell scan `Customers`
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
Granska åtkomsthändelserna i Ranger-användargränssnittet.
Rensa resurser
Om du inte kommer att fortsätta att använda det här programmet tar du bort HBase-klustret som du skapade:
- Logga in på Azure-portalen.
- I sökrutan högst upp anger du HDInsight.
- Under Tjänster väljer du HDInsight-kluster.
- I listan över HDInsight-kluster som visas väljer du ... bredvid klustret som du skapade för den här självstudien.
- Välj Ta bort>Ja.