Zelfstudie: Apache HBase-beleid configureren in HDInsight met Enterprise Security Package
Leer hoe u Apache Ranger-beleidsregels configureert voor Apache HBase-clusters met ESP (Enterprise Security Package). ESP-clusters worden verbonden met een domein zodat gebruikers zich kunnen verifiëren met domeinreferenties. In deze zelfstudie maakt u twee Ranger-beleidsregels om de toegang tot verschillende kolomfamilies in een HBase-tabel te beperken.
In deze zelfstudie leert u het volgende:
- Domeingebruikers maken.
- Ranger-beleid maken.
- Tabellen maken in een HBase-cluster.
- Ranger-beleid testen.
Voordat u begint
- Als u nog geen Azure-abonnement hebt, maakt u een gratis account.
- Meld u aan bij het Azure-portaal.
- Maak een HDInsight HBase-cluster met Enterprise Security Package.
Verbinding maken met de beheerinterface van Apache Ranger
Maak vanuit een browser verbinding met de gebruikersinterface van Ranger Admin (UI) met behulp van de URL
https://<ClusterName>.azurehdinsight.net/Ranger/
. Vergeet niet om<ClusterName>
te wijzigen in de naam van het HBase-cluster.Notitie
Ranger-referenties zijn niet hetzelfde als hadoop-clusterreferenties. Gebruik een nieuw InPrivate-browservenster om verbinding te maken met de beheerinterface van Ranger om te voorkomen dat browsers Hadoop-referenties in de cache gebruiken.
Meld u aan met uw Microsoft Entra-beheerdersreferenties. De microsoft Entra-beheerdersreferenties zijn niet hetzelfde als de referenties van het HDInsight-cluster of de SSH-referenties (Secure Shell) van het Linux HDInsight-knooppunt.
Domeingebruikers maken
Zie Een HDInsight-cluster maken met Enterprise Security Package voor meer informatie over het maken van de sales_user1 en marketing_user1 domeingebruikers. In een productiescenario zijn de domeingebruikers afkomstig uit uw Active Directory-tenant.
HBase-tabellen maken en voorbeeldgegevens importeren
U kunt SSH gebruiken om verbinding te maken met HBase-clusters en vervolgens Apache HBase Shell gebruiken om HBase-tabellen te maken, gegevens in te voegen, en gegevens te doorzoeken. Zie SSH gebruiken met HDInsight voor meer informatie.
De HBase-shell gebruiken
Voer de volgende HBase-opdracht uit in SSH:
hbase shell
Maak een HBase-tabel
Customers
met twee kolomfamilies:Name
enContact
.create 'Customers', 'Name', 'Contact' list
Voeg enkele gegeven in:
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'
Bekijk de inhoud van de tabel:
scan 'Customers'
Ranger-beleidsregels maken
Maak een Ranger-beleid voor sales_user1 en marketing_user1.
Open de beheerinterface van Ranger. Selecteer <clusternaam> onder HBase_hbase.
In het scherm Lijst met beleidsregels ziet u alle Ranger-beleidsregels die voor dit cluster zijn gemaakt. Er kan één vooraf geconfigureerd beleid worden vermeld. Selecteer Nieuw beleid toevoegen.
Voer op het
Create Policy
scherm de volgende waarden in:Instelling Voorgestelde waarde Policy Name sales_customers_name_contact HBase Table Klanten HBase Column-family Name, Contact HBase Column * Select Group Select User sales_user1 Machtigingen Read U kunt de volgende jokertekens gebruiken in de onderwerpnaam:
- Gebruik
*
om nul of meer tekens aan te geven. - Gebruik
?
om één teken aan te geven.
Notitie
Wacht even tot Ranger is gesynchroniseerd met Microsoft Entra ID als een domeingebruiker niet automatisch wordt ingevuld voor Select User.
- Gebruik
Selecteer Toevoegen om het beleid op te slaan.
Selecteer Nieuw beleid toevoegen en voer de volgende waarden in:
Instelling Voorgestelde waarde Policy Name marketing_customers_contact HBase Table Klanten HBase Column-family Contactpersoon HBase Column * Select Group Select User marketing_user1 Machtigingen Read Selecteer Toevoegen om het beleid op te slaan.
Ranger-beleidsregels testen
Op basis van het geconfigureerde Ranger-beleid kunt sales_user1 alle gegevens voor de kolommen in zowel de kolomfamilies als de Contact
Name
kolomfamilies bekijken. De marketing_user1 kan alleen gegevens weergeven in de Contact
kolomfamilie.
Toegang tot gegevens als sales_user1
Open een nieuwe SSH-verbinding met het cluster. Gebruik de volgende opdracht om u aan te melden bij het cluster:
ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
Gebruik de
kinit
opdracht om de context van de gewenste gebruiker te wijzigen:kinit sales_user1
Open de HBase-shell en scan tabel
Customers
:hbase shell scan `Customers`
U ziet dat de verkoopgebruiker alle kolommen van de
Customers
tabel kan bekijken. De gebruiker kan de twee kolommen in deName
kolomfamilie en de vijf kolommen in deContact
kolomfamilie zien.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
Toegang tot gegevens als marketing_user1
Open een nieuwe SSH-verbinding met het cluster. Gebruik de volgende opdracht om u aan te melden als marketing_user1:
ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
Gebruik de
kinit
opdracht om de context van de gewenste gebruiker te wijzigen:kinit marketing_user1
Open de HBase-shell en scan tabel
Customers
:hbase shell scan `Customers`
U ziet dat de marketing_user alleen de vijf kolommen van de kolomfamilie
Contact
kan bekijken.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
Bekijk de controlegebeurtenissen voor toegang vanuit de gebruikersinterface van Ranger.
Resources opschonen
Als u deze toepassing niet meer gaat gebruiken, verwijdert u het HBase-cluster dat u hebt gemaakt:
- Meld u aan bij het Azure-portaal.
- Voer HDInsight in het zoekvak bovenaan in.
- Selecteer onder Services HDInsight-clusters.
- Selecteer in de lijst met HDInsight-clusters die wordt weergegeven, de ... naast het cluster dat u voor deze zelfstudie hebt gemaakt.
- Selecteer Verwijderen>Ja.