Delen via


Apache Hive-beleidsregels configureren in HDInsight met Enterprise Security Package

In dit artikel leert u hoe u Apache Ranger-beleid configureert voor Apache Hive. U maakt twee Ranger-beleidsregels om de toegang tot de hivesampletable. Het hivesampletable wordt geleverd met HDInsight-clusters. Nadat u het beleid hebt geconfigureerd, gebruikt u het stuurprogramma Excel en Open Database Verbinding maken ivity (ODBC) om verbinding te maken met Hive-tabellen in HDInsight.

Vereisten

  • Een HDInsight-cluster met Enterprise Security Package (ESP). Zie HDInsight-clusters configureren met ESP voor meer informatie.
  • Een werkstation met Microsoft 365-apps voor ondernemingen, Office 2016, Office 2013 Professional Plus, Excel 2013 Standalone of Office 2010 Professional Plus.

Verbinding maken naar de gebruikersinterface van Apache Ranger Beheer

Verbinding maken met de Ranger-Beheer gebruikersinterface (UI):

  1. Ga vanuit een browser naar de ranger Beheer gebruikersinterface op https://CLUSTERNAME.azurehdinsight.net/Ranger/ de locatie waar CLUSTERNAME de naam van uw cluster is.

    Notitie

    Ranger gebruikt andere referenties dan het Apache Hadoop-cluster. Als u wilt voorkomen dat browsers hadoop-referenties in de cache gebruiken, gebruikt u een nieuw InPrivate-browservenster om verbinding te maken met de ranger-Beheer-gebruikersinterface.

  2. Meld u aan met behulp van de gebruikersnaam en het wachtwoord van het clusterbeheerderdomein:

    Schermopname van de startpagina van HDInsight ESP Ranger.

    Op dit moment werkt Ranger alleen met Yarn en Hive.

Domeingebruikers maken

Zie Een HDInsight-cluster maken met ESP voor meer informatie over het maken hiveruser1 en hiveuser2maken van een HDInsight-cluster. U gebruikt de twee gebruikersaccounts in dit artikel.

Ranger-beleidsregels maken

In deze sectie maakt u twee Ranger-beleidsregels hivesampletablevoor toegang. U geeft een selectiemachtiging voor verschillende sets kolommen. Beide gebruikers zijn gemaakt met behulp van een HDInsight-cluster maken met ESP. In de volgende sectie test u de twee beleidsregels in Excel.

Ranger-beleid maken:

  1. Open de beheerinterface van Ranger. Zie de voorgaande sectie, Verbinding maken naar Apache Ranger Beheer UI.

  2. Selecteer onder Hive CLUSTERNAME_Hive. U ziet twee vooraf geconfigureerde beleidsregels.

  3. Selecteer Nieuw beleid toevoegen en voer de volgende waarden in:

    Eigenschappen Weergegeven als
    Policy Name read-hivesampletable-all
    Hive-database default
    table hivesampletable
    Hive-kolom *
    Select User hiveuser1
    Machtigingen Selecteer

    Schermopname van het HDInsight ESP Ranger Hive-beleid dat u wilt configureren. .

    Notitie

    Als een domeingebruiker niet is ingevuld in Select User, wacht u even tot Ranger is gesynchroniseerd met Microsoft Entra-id.

  4. Selecteer Toevoegen om het beleid op te slaan.

  5. Herhaal de laatste twee stappen, zodat u een ander beleid kunt maken met de volgende eigenschappen:

    Eigenschappen Weergegeven als
    Policy Name read-hivesampletable-devicemake
    Hive-database default
    table hivesampletable
    Hive-kolom clientid, devicemake
    Select User hiveuser2
    Machtigingen Selecteer

Een Hive ODBC-gegevensbron maken

Zie Een Hive ODBC-gegevensbron maken voor instructies over het maken van een Hive ODBC-gegevensbron.

Eigenschappen Beschrijving
Naam van de gegevensbron Geef een naam op voor uw gegevensbron.
Host Voer CLUSTERNAME.azurehdinsight.net in. Gebruik bijvoorbeeld myHDICluster.azurehdinsight.net.
Poort Gebruik 443. (Deze poort is gewijzigd van 563 in 443.)
Database Gebruik Standaard.
Type Hive-server Selecteer Hive Server 2.
Mechanisme Selecteer De Azure HDInsight-service.
HTTP-pad Laat dit leeg.
Gebruikersnaam Voer hiveuser1@contoso158.onmicrosoft.com in. Werk de domeinnaam bij als deze anders is.
Wachtwoord Voer het wachtwoord in voor hiveuser1.

Selecteer Testen voordat u de gegevensbron opslaat.

Gegevens in Excel importeren vanuit HDInsight

In de laatste sectie hebt u twee beleidsregels geconfigureerd: hiveuser1 heeft de machtiging Selecteren voor alle kolommen en hiveuser2 heeft u de machtiging selecteren voor twee kolommen. In deze sectie imiteert u de twee gebruikers, zodat u gegevens kunt importeren in Excel.

  1. Open een nieuwe of bestaande werkmap in Excel.

  2. Ga op het tabblad Gegevens naar Gegevens>ophalen uit andere bronnen>van ODBC om het venster Van ODBC te openen.

    Schermopname van de wizard Gegevensverbinding openen.

  3. Selecteer in de vervolgkeuzelijst de naam van de gegevensbron die u in de laatste sectie hebt gemaakt en selecteer vervolgens OK.

  4. Voor het eerste gebruik wordt een dialoogvenster van het ODBC-stuurprogramma geopend. Selecteer Windows in het linkermenu. Selecteer vervolgens Verbinding maken om het navigatorvenster te openen.

  5. Wacht tot het Select Database and Table dialoogvenster is geopend. Deze stap kan enkele seconden duren.

  6. Selecteer hivesampletable>Next.

  7. Selecteer Voltooien.

  8. In het dialoogvenster Gegevens importeren kunt u de query wijzigen of opgeven. Selecteer Hiervoor Eigenschappen. Deze stap kan enkele seconden duren.

  9. Selecteer het tabblad Definitie . De opdrachttekst is:

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

    Op basis van het Ranger-beleid dat u hebt gedefinieerd, hiveuser1 is de machtiging voor alle kolommen geselecteerd. Deze query werkt met de referenties voor hiveuser1, maar deze query werkt niet met de referenties voor hiveuser2.

  10. Selecteer OK om het dialoogvenster Verbinding maken eigenschappen te sluiten.

  11. Selecteer OK om het dialoogvenster Gegevens importeren te sluiten.

  12. Voer het wachtwoord opnieuw in voor hiveuser1 en selecteer VERVOLGENS OK. Het duurt enkele seconden voordat de gegevens in Excel worden geïmporteerd. Wanneer deze is voltooid, ziet u 11 kolommen met gegevens.

Als u het tweede beleid (read-hivesampletable-devicemake) wilt testen dat u in de laatste sectie hebt gemaakt:

  1. Voeg een nieuw blad in Excel toe.

  2. Voer de vorige procedure uit om de gegevens te importeren. De enige wijziging die u aanbrengt, is het gebruik van de referenties voor hiveuser2 in plaats van hiveuser1. Deze actie mislukt omdat hiveuser2 deze machtiging heeft om slechts twee kolommen weer te geven. U ziet de volgende fout:

    [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. Gebruik deze keer de referenties voor hiveuser2 en wijzig ook de select-instructie uit:

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

    Aan:

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

    Wanneer deze is voltooid, ziet u twee kolommen met geïmporteerde gegevens.

Volgende stappen