Apache Hive-beleidsregels configureren in HDInsight met Enterprise Security PackageConfigure Apache Hive policies in HDInsight with Enterprise Security Package

Meer informatie over het configureren van Apache zwerver-beleids regels voor Apache Hive.Learn how to configure Apache Ranger policies for Apache Hive. In dit artikel maakt u twee Ranger-beleidsregels om toegang tot de hivesampletable te beperken.In this article, you create two Ranger policies to restrict access to the hivesampletable. De hivesampletable wordt geleverd met HDInsight-clusters.The hivesampletable comes with HDInsight clusters. Nadat u de beleidsregels hebt geconfigureerd, gebruikt u Excel en het ODBC-stuurprogramma om verbinding te maken met Hive-tabellen in HDInsight.After you have configured the policies, you use Excel and ODBC driver to connect to Hive tables in HDInsight.

VereistenPrerequisites

  • Een HDInsight-cluster met Enterprise Security Package.A HDInsight cluster with Enterprise Security Package. Zie HDInsight-clusters configureren met ESP.See Configure HDInsight clusters with ESP.
  • Een werkstation met Office 2016, Office 2013 Professional Plus, Office 365 Pro Plus, een zelfstandige versie van Excel 2013 of Office 2010 Professional Plus.A workstation with Office 2016, Office 2013 Professional Plus, Office 365 Pro Plus, Excel 2013 Standalone, or Office 2010 Professional Plus.

Verbinding maken met de beheerinterface van Apache RangerConnect to Apache Ranger Admin UI

Verbinding maken met de beheerinterface van RangerTo connect to Ranger Admin UI

  1. Maak vanuit een browser verbinding met de beheerinterface van Ranger.From a browser, connect to Ranger Admin UI. De URL is https://<ClusterName>.azurehdinsight.net/Ranger/.The URL is https://<ClusterName>.azurehdinsight.net/Ranger/.

    Notitie

    Zwerver gebruikt andere referenties dan Apache Hadoop cluster.Ranger uses different credentials than Apache Hadoop cluster. Als u browsers wilt voor komen dat Hadoop-referenties in de cache worden gebruikt, gebruikt u het nieuwe InPrivate-browser venster om verbinding te maken met de gebruikers interface van zwerver.To prevent browsers using cached Hadoop credentials, use new InPrivate browser window to connect to the Ranger Admin UI.

  2. Meld u aan met de gebruikersnaam en het wachtwoord van het clusterbeheerdomein:Log in using the cluster administrator domain user name and password:

    Start pagina van HDInsight ESP zwerver

    Op dit moment werkt Ranger alleen met Yarn en Hive.Currently, Ranger only works with Yarn and Hive.

Domeingebruikers makenCreate Domain users

Zie een HDInsight-cluster met ESP makenvoor informatie over het maken van hiveruser1 en hiveuser2.See Create a HDInsight cluster with ESP, for information on how to create hiveruser1 and hiveuser2. U gebruikt de twee gebruikers accounts in dit artikel.You use the two user accounts in this article.

Ranger-beleidsregels makenCreate Ranger policies

In deze sectie maakt u twee zwerver-beleids regels voor toegang tot hivesampletable.In this section, you create two Ranger policies for accessing hivesampletable. U geeft de machtiging SELECT op voor verschillende sets kolommen.You give select permission on different set of columns. Beide gebruikers zijn gemaakt met behulp van een HDInsight-cluster met ESP maken.Both users were created using Create a HDInsight cluster with ESP. In de volgende sectie test u de twee beleidsregels in Excel.In the next section, you will test the two policies in Excel.

Ranger-beleidsregels makenTo create Ranger policies

  1. Open de beheerinterface van Ranger.Open Ranger Admin UI. Zie verbinding maken met de gebruikers interface van Apache zwerver.See Connect to Apache Ranger Admin UI.

  2. Klik op <ClusterName>_hive onder Hive.Click <ClusterName>_hive, under Hive. Er worden twee vooraf geconfigureerde beleidsregels weergegeven.You shall see two pre-configure policies.

  3. Klik op Nieuw beleid toevoegen en voer de volgende waarden in:Click Add New Policy, and then enter the following values:

    • Beleidsnaam: read-hivesampletable-allPolicy name: read-hivesampletable-all

    • Hive-database: standaardHive Database: default

    • Tabel: hivesampletabletable: hivesampletable

    • Hive-kolom:*Hive column: *

    • Gebruiker selecteren: hiveuser1Select User: hiveuser1

    • Machtigingen: SELECTPermissions: select

      HDInsight ESP zwerver-Hive-beleid configureren..

      Notitie

      Als een domeingebruiker niet is ingevuld in Gebruiker selecteren, wacht u even, zodat Ranger met AAD kan synchroniseren.If a domain user is not populated in Select User, wait a few moments for Ranger to sync with AAD.

  4. Klik op Toevoegen om het beleid op te slaan.Click Add to save the policy.

  5. Herhaal de laatste twee stappen, zodat u een ander beleid kunt maken met de volgende eigenschappen:Repeat the last two steps to create another policy with the following properties:

    • Beleidsnaam: read-hivesampletable-devicemakePolicy name: read-hivesampletable-devicemake
    • Hive-database: standaardHive Database: default
    • Tabel: hivesampletabletable: hivesampletable
    • Hive-kolom: clientid, devicemakeHive column: clientid, devicemake
    • Gebruiker selecteren: hiveuser2Select User: hiveuser2
    • Machtigingen: SELECTPermissions: select

Hive ODBC-gegevensbron makenCreate Hive ODBC data source

De instructies vindt u in Hive ODBC-gegevensbron maken.The instructions can be found in Create Hive ODBC data source.

EigenschapProperty DescriptionDescription
Naam van de gegevensbronData Source Name Geef uw gegevensbron een naamGive a name to your data source
HostHost Voer <HDInsightClusterName>.azurehdinsight.net in.Enter <HDInsightClusterName>.azurehdinsight.net. Bijvoorbeeld: myHDICluster.azurehdinsight.netFor example, myHDICluster.azurehdinsight.net
PortPort Gebruik 443.Use 443. (Deze poort is gewijzigd van 563 in 443.)(This port has been changed from 563 to 443.)
DatabaseDatabase Gebruik Standaard.Use Default.
Type Hive-serverHive Server Type Selecteer Hive Server 2Select Hive Server 2
MechanismeMechanism Selecteer Azure HDInsight ServiceSelect Azure HDInsight Service
HTTP-padHTTP Path Laat dit leeg.Leave it blank.
Naam van gebruikerUser Name Voer hiveuser1@contoso158.onmicrosoft.com in.Enter hiveuser1@contoso158.onmicrosoft.com. Werk de domein naam bij als deze niet overeenkomt.Update the domain name if it is different.
WachtwoordPassword Voer het wachtwoord van hiveuser1 in.Enter the password for hiveuser1.

Zorg ervoor dat u op Test klikt voordat u de gegevensbron opslaat.Make sure to click Test before saving the data source.

Gegevens in Excel importeren vanuit HDInsightImport data into Excel from HDInsight

In de laatste sectie hebt u twee beleidsregels geconfigureerd.In the last section, you have configured two policies. hiveuser1 heeft de machtiging SELECT voor alle kolommen en hiveuser2 heeft de machtiging SELECT voor twee kolommen.hiveuser1 has the select permission on all the columns, and hiveuser2 has the select permission on two columns. In deze sectie imiteert u de twee gebruikers, zodat u gegevens kunt importeren in Excel.In this section, you impersonate the two users to import data into Excel.

  1. Open een nieuwe of bestaande werkmap in Excel.Open a new or existing workbook in Excel.

  2. Klik op het tabblad Gegevens op de optie Van andere gegevensbronnen en klik vervolgens op Van wizard Gegevensverbinding om de Wizard Gegevensverbinding te starten.From the Data tab, click From Other Data Sources, and then click From Data Connection Wizard to launch the Data Connection Wizard.

    ![Open de Wizard Gegevensverbinding][img hdi simbahiveodbc.excel.dataconnection]![Open data connection wizard][img-hdi-simbahiveodbc.excel.dataconnection]

  3. Selecteer ODBC DSN als de gegevensbron en klik op Volgende.Select ODBC DSN as the data source, and then click Next.

  4. Selecteer uit ODBC-gegevensbronnen de naam van de gegevensbron die u in de vorige stap hebt gemaakt en klik op Volgende.From ODBC data sources, select the data source name that you created in the previous step, and then click Next.

  5. Geef het wacht woord voor het cluster opnieuw op in de wizard en klik vervolgens op OK.Reenter the password for the cluster in the wizard, and then click OK. Wacht totdat het dialoogvenster Database en tabel selecteren wordt geopend.Wait for the Select Database and Table dialog to open. Dit kan een paar seconden duren.This can take a few seconds.

  6. Selecteer hivesampletable en klik op Volgende.Select hivesampletable, and then click Next.

  7. Klik op Voltooien.Click Finish.

  8. In het dialoogvenster Gegevens importeren kunt u de query wijzigen of opgeven.In the Import Data dialog, you can change or specify the query. Als u dit wilt doen, klikt u op Eigenschappen.To do so, click Properties. Dit kan een paar seconden duren.This can take a few seconds.

  9. Klik op het tabblad Definitie. De opdrachttekst is:Click the Definition tab. The command text is:

    SELECT * FROM "HIVE"."default"."hivesampletable"
    

    Bij de Ranger-beleidsregels hebt u gedefinieerd dat hiveuser1 de machtiging SELECT heeft voor alle kolommen.By the Ranger policies you defined, hiveuser1 has select permission on all the columns. Deze query werkt daarom met hiveuser1-referenties, maar deze query werkt niet met hiveuser2-referenties.So this query works with hiveuser1's credentials, but this query does not work with hiveuser2's credentials.

    ![Verbindingseigenschappen][img-hdi-simbahiveodbc-excel-connectionproperties]![Connection Properties][img-hdi-simbahiveodbc-excel-connectionproperties]

  10. Klik op OK om het dialoogvenster Verbindingseigenschappen te sluiten.Click OK to close the Connection Properties dialog.

  11. Klik op OK om het dialoogvenster Gegevens importeren te sluiten.Click OK to close the Import Data dialog.

  12. Voer het wachtwoord van hiveuser1 opnieuw in en klik op OK.Reenter the password for hiveuser1, and then click OK. Het duurt een paar seconden voordat de gegevens naar Excel worden geïmporteerd.It takes a few seconds before data gets imported to Excel. Wanneer dit is voltooid, worden er 11 kolommen met gegevens weergegeven.When it is done, you shall see 11 columns of data.

Als u het tweede beleid wilt testen (Read-hivesampletable-devicemake), hebt u in de laatste sectie gemaaktTo test the second policy (read-hivesampletable-devicemake), you created in the last section

  1. Voeg een nieuw blad in Excel toe.Add a new sheet in Excel.

  2. Voer de vorige procedure uit om de gegevens te importeren.Follow the last procedure to import the data. De enige wijziging die u aanbrengt, is het gebruik van hiveuser2-referenties in plaats van hiveuser1.The only change you make is to use hiveuser2's credentials instead of hiveuser1's. Dit mislukt omdat hiveuser2 alleen machtigingen heeft om twee kolommen weer te geven.This fails because hiveuser2 only has permission to see two columns. De volgende fout wordt weergegeven:You shall get the following error:

     [Microsoft][HiveODBC] (35) Error from Hive: error code: '40000' error message: 'Error while compiling statement: FAILED: HiveAccessControlException Permission denied: user [hiveuser2] does not have [SELECT] privilege on [default/hivesampletable/clientid,country ...]'.
    
  3. Voer dezelfde procedure uit om gegevens te importeren.Follow the same procedure to import data. Gebruik deze keer de referenties van hiveuser2 en wijzig ook de SELECT-instructie van:This time, use hiveuser2's credentials, and also modify the select statement from:

     SELECT * FROM "HIVE"."default"."hivesampletable"
    

    in:to:

     SELECT clientid, devicemake FROM "HIVE"."default"."hivesampletable"
    

    Wanneer dit is voltooid, worden er twee kolommen met geïmporteerde gegevens weergegeven.When it is done, you shall see two columns of data imported.

Volgende stappenNext steps