Delen via


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

Verbinding maken met de beheerinterface van Apache Ranger

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

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

  1. Voer de volgende HBase-opdracht uit in SSH:

    hbase shell
    
  2. Maak een HBase-tabel Customers met twee kolomfamilies: Name en Contact.

    create 'Customers', 'Name', 'Contact'
    list
    
  3. 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'
    
  4. Bekijk de inhoud van de tabel:

    scan 'Customers'
    

    Schermopname van de uitvoer van de HDInsight Hadoop HBase-shell.

Ranger-beleidsregels maken

Maak een Ranger-beleid voor sales_user1 en marketing_user1.

  1. Open de beheerinterface van Ranger. Selecteer <clusternaam> onder HBase_hbase.

    Schermopname van de beheergebruikersinterface van HDInsight Apache Ranger.

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

    Schermopname van de lijst met Apache Ranger HBase-beleidsregels.

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

    Schermopname van het Apache Ranger-beleid Verkoop maken.

    Notitie

    Wacht even tot Ranger is gesynchroniseerd met Microsoft Entra ID als een domeingebruiker niet automatisch wordt ingevuld voor Select User.

  4. Selecteer Toevoegen om het beleid op te slaan.

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

    Schermopname van het Apache Ranger-beleid Marketing maken.

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

  1. 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
    
  2. Gebruik de kinit opdracht om de context van de gewenste gebruiker te wijzigen:

    kinit sales_user1
    
  3. Open de HBase-shell en scan tabel Customers:

    hbase shell
    scan `Customers`
    
  4. U ziet dat de verkoopgebruiker alle kolommen van de Customers tabel kan bekijken. De gebruiker kan de twee kolommen in de Name kolomfamilie en de vijf kolommen in de Contact 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

  1. 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
    
  2. Gebruik de kinit opdracht om de context van de gewenste gebruiker te wijzigen:

    kinit marketing_user1
    
  3. Open de HBase-shell en scan tabel Customers:

    hbase shell
    scan `Customers`
    
  4. 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
    
  5. Bekijk de controlegebeurtenissen voor toegang vanuit de gebruikersinterface van Ranger.

    Schermopname van de controle van het UI-beleid van HDInsight Ranger.

Resources opschonen

Als u deze toepassing niet meer gaat gebruiken, verwijdert u het HBase-cluster dat u hebt gemaakt:

  1. Meld u aan bij het Azure-portaal.
  2. Voer HDInsight in het zoekvak bovenaan in.
  3. Selecteer onder Services HDInsight-clusters.
  4. Selecteer in de lijst met HDInsight-clusters die wordt weergegeven, de ... naast het cluster dat u voor deze zelfstudie hebt gemaakt.
  5. Selecteer Verwijderen>Ja.

Volgende stappen