Konfigurieren von Apache Hive-Richtlinien in HDInsight mit dem Enterprise-Sicherheitspaket

In diesem Artikel erfahren Sie, wie Sie Apache Ranger-Richtlinien für Apache Hive konfigurieren. Hierzu werden zwei Ranger-Richtlinien erstellt, um den Zugriff auf hivesampletable einzuschränken. hivesampletable enthält HDInsight-Cluster. Nachdem Sie die Richtlinien konfiguriert haben, stellen Sie unter Verwendung von Excel und des ODBC-Treibers (Open Database Connectivity) eine Verbindung mit Hive-Tabellen in HDInsight her.

Voraussetzungen

Herstellen einer Verbindung mit der Administratorbenutzeroberfläche von Apache Ranger

So stellen Sie eine Verbindung mit der Administratorbenutzeroberfläche von Ranger her:

  1. Navigieren Sie in einem Browser zur Administratoroberfläche von Ranger: https://CLUSTERNAME.azurehdinsight.net/Ranger/. (CLUSTERNAME entspricht hierbei dem Namen Ihres Clusters.)

    Hinweis

    Ranger verwendet andere Anmeldeinformationen als der Apache Hadoop-Cluster. Stellen Sie die Verbindung mit der Administratoroberfläche von Ranger in einem neuen InPrivate-Browserfenster her, um zu verhindern, dass der Browser zwischengespeicherte Hadoop-Anmeldeinformationen verwendet.

  2. Melden Sie sich mit dem Domänenbenutzernamen und -kennwort des Clusteradministrators an:

    Screenshot that shows the HDInsight ESP Ranger home page.

    Ranger kann derzeit nur mit Yarn und Hive verwendet werden.

Erstellen von Domänenbenutzern

Informationen zum Erstellen von hiveruser1 und hiveuser2 finden Sie unter Erstellen eines HDInsight-Clusters mit ESP. Diese beiden Benutzerkonten werden in diesem Artikel verwendet.

Erstellen von Ranger-Richtlinien

In diesem Abschnitt werden zwei Ranger-Richtlinien für den Zugriff auf hivesampletable erstellt. Sie erteilen für bestimmte Spaltengruppen die Berechtigung „Auswählen“. Beide Benutzer wurden wie unter Erstellen eines HDInsight-Clusters mit ESP beschrieben erstellt. Im nächsten Abschnitt werden die beiden Richtlinien in Excel getestet.

So erstellen Sie Ranger-Richtlinien:

  1. Öffnen Sie die Ranger-Administratoroberfläche. Weitere Informationen finden Sie im vorherigen Abschnitt Herstellen einer Verbindung mit der Apache Ranger-Administratoroberfläche.

  2. Wählen Sie unter Hive die Zeichenfolge CLUSTERNAME_Hive aus. Es werden zwei vorkonfigurierte Richtlinien angezeigt.

  3. Wählen Sie Neue Richtlinie hinzufügen aus, und geben Sie die folgenden Werte ein:

    Eigenschaft Wert
    Richtlinienname read-hivesampletable-all
    Hive-Datenbank default
    table hivesampletable
    Hive-Spalte *
    Benutzer auswählen hiveuser1
    Berechtigungen select

    Screenshot that shows the HDInsight ESP Ranger Hive policies to configure. .

    Hinweis

    Sollte unter Benutzer auswählen kein Domänenbenutzer vorhanden sein, warten Sie kurz, bis Ranger mit Microsoft Entra ID synchronisiert wurde.

  4. Wählen Sie Hinzufügen aus, um die Richtlinie zu speichern.

  5. Wiederholen Sie die letzten beiden Schritte, um eine weitere Richtlinie mit folgenden Eigenschaften zu erstellen:

    Eigenschaft Wert
    Richtlinienname read-hivesampletable-devicemake
    Hive-Datenbank default
    table hivesampletable
    Hive-Spalte clientid, devicemake
    Benutzer auswählen hiveuser2
    Berechtigungen select

Erstellen einer Hive ODBC-Datenquelle

Eine Anleitung zum Erstellen einer Hive ODBC-Datenquelle finden Sie unter Erstellen einer Hive ODBC-Datenquelle.

Eigenschaft BESCHREIBUNG
Datenquellenname Geben Sie einen Namen für Ihre Datenquelle an.
Host Geben Sie CLUSTERNAME.azurehdinsight.net ein. Verwenden Sie beispielsweise myHDICluster.azurehdinsight.net.
Port Verwenden Sie 443. (Dieser Port hat sich von 563 in 443 geändert.)
Datenbank Verwenden Sie Standard.
Hive-Servertyp Wählen Sie Hive Server 2 aus.
Mechanismus Wählen Sie Azure-HDInsight-Dienst aus.
HTTP-Pfad Lassen Sie dieses Feld leer.
Benutzername Geben Sie hiveuser1@contoso158.onmicrosoft.com ein. Aktualisieren Sie den Domänennamen, falls er abweicht.
Kennwort Geben Sie das Kennwort für hiveuser1 ein.

Wählen Sie Testen aus, bevor Sie die Datenquelle speichern.

Importieren von Daten aus HDInsight in Excel

Im letzten Abschnitt wurden zwei Richtlinien konfiguriert: hiveuser1 verfügt über die Auswahlberechtigung für alle Spalten, hiveuser2 über die Auswahlberechtigung für zwei Spalten. In diesem Abschnitt nehmen Sie die Identität der beiden Benutzer an, um Daten in Excel zu importieren.

  1. Öffnen Sie eine neue oder bereits vorhandene Arbeitsmappe in Excel.

  2. Navigieren Sie auf der Registerkarte Daten zu Daten abrufen>Aus anderen Quellen>Aus ODBC, um das Fenster Aus ODBC zu öffnen.

    Screenshot that shows the Open data connection wizard.

  3. Wählen Sie in der Auswahlliste den im letzten Abschnitt erstellten Datenquellennamen und anschließend OK aus.

  4. Bei der ersten Verwendung wird das Dialogfeld ODBC-Treiber geöffnet. Wählen Sie im Menü auf der linken Seite die Option Windows. Wählen Sie anschließend Verbinden, um das Fenster Navigator zu öffnen.

  5. Warten Sie, bis sich der Dialog Datenbank und Tabelle wählen öffnet. Dieser Schritt kann einige Zeit dauern.

  6. Wählen Sie hivesampletable>Weiter aus.

  7. Wählen Sie Fertig stellenaus.

  8. Im Dialog Daten importieren können Sie die Abfrage ändern oder spezifizieren. Wählen Sie dazu Eigenschaften aus. Dieser Schritt kann einige Zeit dauern.

  9. Wählen Sie die Registerkarte Definition aus. Befehlstext:

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

    Gemäß den definierten Ranger-Richtlinien verfügt hiveuser1 über die Auswahlberechtigung für alle Spalten. Diese Abfrage kann daher mit den Anmeldeinformationen für hiveuser1 verwendet werden, nicht aber mit den Anmeldeinformationen für hiveuser2.

  10. Wählen Sie OK aus, um das Dialogfeld Verbindungseigenschaften zu schließen.

  11. Wählen Sie OK aus, um das Dialogfeld Daten importieren zu schließen.

  12. Geben Sie das Kennwort für hiveuser1 erneut ein, und wählen Sie anschließend OK aus. Es dauert ein paar Sekunden, bis die Daten in Excel importiert werden. Nach Abschluss des Vorgangs werden elf Datenspalten angezeigt.

So testen Sie die zweite Richtlinie (read-hivesampletable-devicemake), die Sie im vorherigen Abschnitt erstellt haben

  1. Fügen Sie in Excel ein neues Arbeitsblatt ein.

  2. Führen Sie das letzte Verfahren durch, um die Daten zu importieren. Die einzige Änderung besteht in der Verwendung der Anmeldeinformationen für hiveuser2 anstelle der Anmeldeinformationen für hiveuser1. Diese Aktion ist nicht erfolgreich, da hiveuser2 nur zum Anzeigen von zwei Spalten berechtigt ist. Sie erhalten den folgenden Fehler:

    [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. Verwenden Sie diesmal die Anmeldeinformationen von hiveuser2, und ändern Sie auch die select-Anweisung:

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

    In:

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

    Nach Abschluss des Vorgangs werden zwei Spalten mit importierten Daten angezeigt.

Nächste Schritte