Konfigurieren von Apache Hive-Richtlinien in HDInsight mit dem Enterprise-SicherheitspaketConfigure Apache Hive policies in HDInsight with Enterprise Security Package

Hier erfahren Sie, wie Sie Apache Ranger-Richtlinien für Apache Hive konfigurieren.Learn how to configure Apache Ranger policies for Apache Hive. In diesem Artikel erstellen Sie zwei Ranger-Richtlinien, um den Zugriff auf die Hive-Beispieltabelle „hivesampletable“ einzuschränken.In this article, you create two Ranger policies to restrict access to the hivesampletable. Die Hive-Beispieltabelle „hivesampletable“ ist in HDInsight-Clustern enthalten.The hivesampletable comes with HDInsight clusters. Nach dem Konfigurieren der Richtlinien stellen Sie unter Verwendung von Excel und ODBC-Treiber eine Verbindung mit Hive-Tabellen in HDInsight her.After you have configured the policies, you use Excel and ODBC driver to connect to Hive tables in HDInsight.

VoraussetzungenPrerequisites

  • Ein HDInsight-Cluster mit dem Enterprise-Sicherheitspaket.A HDInsight cluster with Enterprise Security Package. Weitere Informationen finden Sie unter Konfigurieren von HDInsight-Clustern mit Enterprise-Sicherheitspaket.See Configure HDInsight clusters with ESP.
  • Arbeitsstation mit Office 2016, Office 2013 Professional Plus, Office 365 Pro Plus, Excel 2013 (eigenständige Version) oder 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.

Herstellen einer Verbindung mit der Apache Ranger-AdministratoroberflächeConnect to Apache Ranger Admin UI

So stellen Sie eine Verbindung mit der Ranger-Administratoroberfläche herTo connect to Ranger Admin UI

  1. Stellen Sie über einen Browser eine Verbindung mit der Ranger-Administratoroberfläche her.From a browser, connect to Ranger Admin UI. Die URL lautet „https://<Clustername>.azurehdinsight.net/Ranger/“.The URL is https://<ClusterName>.azurehdinsight.net/Ranger/.

    Hinweis

    Ranger verwendet andere Anmeldeinformationen als der Apache Hadoop-Cluster.Ranger uses different credentials than Apache Hadoop cluster. Stellen Sie die Verbindung mit der Ranger-Administratoroberfläche in einem neuen InPrivate-Browserfenster her, um zu verhindern, dass der Browser zwischengespeicherte Hadoop-Anmeldeinformationen verwendet.To prevent browsers using cached Hadoop credentials, use new InPrivate browser window to connect to the Ranger Admin UI.

  2. Melden Sie sich mit dem Domänenbenutzernamen und dem Kennwort des Clusteradministrators an:Log in using the cluster administrator domain user name and password:

    Startseite von HDInsight ESP Ranger

    Ranger kann derzeit nur mit Yarn und Hive verwendet werden.Currently, Ranger only works with Yarn and Hive.

Erstellen von DomänenbenutzernCreate Domain users

Unter Erstellen eines HDInsight-Clusters mit ESP finden Sie Informationen zum Erstellen von „hiveruser1“ und „hiveuser2“.See Create a HDInsight cluster with ESP, for information on how to create hiveruser1 and hiveuser2. Diese beiden Benutzerkonten werden in diesem Artikel verwendet.You use the two user accounts in this article.

Erstellen von Ranger-RichtlinienCreate Ranger policies

In diesem Abschnitt erstellen Sie zwei Ranger-Richtlinien für den Zugriff auf „hivesampletable“.In this section, you create two Ranger policies for accessing hivesampletable. Sie erteilen für bestimmte Spaltengruppen die Berechtigung „Auswählen“.You give select permission on different set of columns. Beide Benutzer wurden über Erstellen eines HDInsight-Clusters mit ESP erstellt.Both users were created using Create a HDInsight cluster with ESP. Im nächsten Abschnitt testen Sie die beiden Richtlinien in Excel.In the next section, you will test the two policies in Excel.

So erstellen Sie Ranger-RichtlinienTo create Ranger policies

  1. Öffnen Sie die Ranger-Administratoroberfläche.Open Ranger Admin UI. Weitere Informationen finden Sie unter „Herstellen einer Verbindung mit der Apache Ranger-Administratoroberfläche“.See Connect to Apache Ranger Admin UI.

  2. Klicken Sie unter Hive auf <Clustername>_hive.Click <ClusterName>_hive, under Hive. Zwei vorkonfigurierte Richtlinien werden angezeigt.You shall see two pre-configure policies.

  3. Klicken Sie auf Neue Richtlinie hinzufügen, und geben Sie die folgenden Werte ein:Click Add New Policy, and then enter the following values:

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

    • Hive-Datenbank: StandardHive Database: default

    • Tabelle: hivesampletabletable: hivesampletable

    • Hive-Spalte: *Hive column: *

    • Benutzer auswählen: hiveuser1Select User: hiveuser1

    • Berechtigungen: AuswählenPermissions: select

      HDInsight ESP Ranger – Konfigurieren einer Hive-Richtlinie..

      Hinweis

      Wenn unter „Benutzer auswählen“ kein Domänenbenutzer eingetragen wird, warten Sie kurz, bis Ranger mit AAD synchronisiert wurde.If a domain user is not populated in Select User, wait a few moments for Ranger to sync with AAD.

  4. Klicken Sie auf Hinzufügen, um die Richtlinie zu speichern.Click Add to save the policy.

  5. Wiederholen Sie die letzten beiden Schritte, um eine weitere Richtlinie mit folgenden Eigenschaften zu erstellen:Repeat the last two steps to create another policy with the following properties:

    • Richtlinienname: read-hivesampletable-devicemakePolicy name: read-hivesampletable-devicemake
    • Hive-Datenbank: StandardHive Database: default
    • Tabelle: hivesampletabletable: hivesampletable
    • Hive-Spalte: clientid, devicemakeHive column: clientid, devicemake
    • Benutzer auswählen: hiveuser2Select User: hiveuser2
    • Berechtigungen: AuswählenPermissions: select

Erstellen einer Hive ODBC-DatenquelleCreate Hive ODBC data source

Die Anleitung finden Sie unter Erstellen einer Hive ODBC-Datenquelle.The instructions can be found in Create Hive ODBC data source.

EigenschaftProperty BESCHREIBUNGDescription
Name der DatenquelleData Source Name Geben Sie einen Namen für die Datenquelle an.Give a name to your data source
HostHost Geben Sie „<HDInsightClusterName>.azurehdinsight.net“ ein.Enter <HDInsightClusterName>.azurehdinsight.net. Beispiel: myHDICluster.azurehdinsight.netFor example, myHDICluster.azurehdinsight.net
PortPort Verwenden Sie 443.Use 443. (Dieser Port wurde von 563 in 443 geändert.)(This port has been changed from 563 to 443.)
DatenbankDatabase Verwenden Sie Standard.Use Default.
Hive-ServertypHive Server Type Wählen Sie Hive Server 2 aus.Select Hive Server 2
MechanismusMechanism Wählen Sie Azure HDInsight Service aus.Select Azure HDInsight Service
HTTP-PfadHTTP Path Lassen Sie dieses Feld leer.Leave it blank.
BenutzernameUser Name Geben Sie hiveuser1@contoso158.onmicrosoft.com ein.Enter hiveuser1@contoso158.onmicrosoft.com. Aktualisieren Sie ggf. den Domänennamen, falls er sich unterscheidet.Update the domain name if it is different.
KennwortPassword Geben Sie das Kennwort für „hiveuser1“ ein.Enter the password for hiveuser1.

Klicken Sie vor dem Speichern der Datenquelle auf Testen.Make sure to click Test before saving the data source.

Importieren von Daten aus HDInsight in ExcelImport data into Excel from HDInsight

Im letzten Abschnitt haben Sie zwei Richtlinien konfiguriert:In the last section, you have configured two policies. „hiveuser1“ verfügt über die Auswahlberechtigung für alle Spalten, „hiveuser2“ über die Auswahlberechtigung für zwei Spalten.hiveuser1 has the select permission on all the columns, and hiveuser2 has the select permission on two columns. In diesem Abschnitt nehmen Sie die Identität der beiden Benutzer an, um Daten in Excel zu importieren.In this section, you impersonate the two users to import data into Excel.

  1. Öffnen Sie eine neue oder bereits vorhandene Arbeitsmappe in Excel.Open a new or existing workbook in Excel.

  2. Klicken Sie auf der Registerkarte Daten auf Aus anderen Quellen. Klicken Sie dann auf Aus dem Datenverbindungs-Assistenten, um den Datenverbindungs-Assistentenzu starten.From the Data tab, click From Other Data Sources, and then click From Data Connection Wizard to launch the Data Connection Wizard.

    ![Öffnen des Datenverbindungs-Assistenten][img-hdi-simbahiveodbc.excel.dataconnection]![Open data connection wizard][img-hdi-simbahiveodbc.excel.dataconnection]

  3. Wählen Sie als Datenquelle ODBC DSN aus, und klicken Sie dann auf Weiter.Select ODBC DSN as the data source, and then click Next.

  4. Wählen Sie in den ODBC-Datenquellen den Namen der Datenquelle aus, den Sie im vorherigen Schritt erstellt haben, und klicken Sie auf Weiter.From ODBC data sources, select the data source name that you created in the previous step, and then click Next.

  5. Geben Sie im Assistenten erneut das Kennwort für den Cluster ein, und klicken Sie dann auf OK.Reenter the password for the cluster in the wizard, and then click OK. Warten Sie, bis sich der Dialog Datenbank und Tabelle wählen öffnet.Wait for the Select Database and Table dialog to open. Dies kann einige Zeit dauern.This can take a few seconds.

  6. Wählen Sie hivesampletable aus, und klicken Sie dann auf Weiter.Select hivesampletable, and then click Next.

  7. Klicken Sie auf Fertig stellen.Click Finish.

  8. Im Dialog Daten importieren können Sie die Abfrage ändern oder spezifizieren.In the Import Data dialog, you can change or specify the query. Klicken Sie hierfür auf Eigenschaften.To do so, click Properties. Dies kann einige Zeit dauern.This can take a few seconds.

  9. Klicken Sie auf die Registerkarte Definition. Befehlstext:Click the Definition tab. The command text is:

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

    Gemäß den definierten Ranger-Richtlinien verfügt „hiveuser1“ über die Auswahlberechtigung für alle Spalten.By the Ranger policies you defined, hiveuser1 has select permission on all the columns. Diese Abfrage kann daher mit den Anmeldeinformationen von „hiveuser1“ verwendet werden, nicht aber mit den Anmeldeinformationen von „hiveuser2“.So this query works with hiveuser1's credentials, but this query does not work with hiveuser2's credentials.

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

  10. Klicken Sie auf OK , um den Dialog Verbindungseigenschaften zu schließen.Click OK to close the Connection Properties dialog.

  11. Klicken Sie auf OK, um das Dialogfeld Daten importieren zu schließen.Click OK to close the Import Data dialog.

  12. Geben Sie erneut das Kennwort für „hiveuser1“ ein, und klicken Sie auf OK.Reenter the password for hiveuser1, and then click OK. Es dauert einige Zeit, bis die Daten in Excel importiert werden.It takes a few seconds before data gets imported to Excel. Nach Abschluss des Vorgangs werden 11 Datenspalten angezeigt.When it is done, you shall see 11 columns of data.

So testen Sie die zweite Richtlinie (read-hivesampletable-devicemake), die Sie im vorherigen Abschnitt erstellt habenTo test the second policy (read-hivesampletable-devicemake), you created in the last section

  1. Fügen Sie in Excel ein neues Arbeitsblatt ein.Add a new sheet in Excel.

  2. Führen Sie das letzte Verfahren durch, um die Daten zu importieren.Follow the last procedure to import the data. Geben Sie dabei allerdings anstelle der Anmeldeinformationen von „hiveuser1“ die Anmeldeinformationen von „hiveuser2“ an.The only change you make is to use hiveuser2's credentials instead of hiveuser1's. Das funktioniert jedoch nicht, da „hiveuser2“ nur zum Anzeigen von zwei Spalten berechtigt ist.This fails because hiveuser2 only has permission to see two columns. Sie erhalten den folgenden Fehler: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. Führen Sie das gleiche Datenimportverfahren durch.Follow the same procedure to import data. Verwenden Sie diesmal die Anmeldeinformationen von „hiveuser2“, und ändern Sie auch die select-Anweisung von: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"
    

    Nach Abschluss des Vorgangs wurden zwei Datenspalten importiert.When it is done, you shall see two columns of data imported.

Nächste SchritteNext steps