Konfigurera Apache Hive-principer i HDInsight med Enterprise Security Package

I den här artikeln får du lära dig hur du konfigurerar Apache Ranger-principer för Apache Hive. Du skapar två Ranger-principer för att begränsa åtkomsten hivesampletabletill . Levereras hivesampletable med HDInsight-kluster. När du har konfigurerat principerna använder du drivrutinen Excel och Open Database Anslut ivity (ODBC) för att ansluta till Hive-tabeller i HDInsight.

Förutsättningar

  • Ett HDInsight-kluster med Enterprise Security Package (ESP). Mer information finns i Konfigurera HDInsight-kluster med ESP.
  • En arbetsstation med Microsoft 365-appar för företag, Office 2016, Office 2013 Professional Plus, Fristående Excel 2013 eller Office 2010 Professional Plus.

Anslut till Apache Ranger Admin-användargränssnittet

Så här ansluter du till Ranger Admin-användargränssnittet (UI):

  1. Från en webbläsare går du till rangeradministratörsgränssnittet där CLUSTERNAME är namnet på https://CLUSTERNAME.azurehdinsight.net/Ranger/ klustret.

    Kommentar

    Ranger använder andra autentiseringsuppgifter än Apache Hadoop-kluster. Om du vill förhindra webbläsare med cachelagrade Hadoop-autentiseringsuppgifter använder du ett nytt InPrivate-webbläsarfönster för att ansluta till rangeradministratörsgränssnittet.

  2. Logga in med användarnamnet och lösenordet för klusteradministratörsdomänen:

    Screenshot that shows the HDInsight ESP Ranger home page.

    För närvarande fungerar Ranger bara med Yarn och Hive.

Skapa domänanvändare

Information om hur du skapar hiveruser1 och finns i Skapa ett HDInsight-kluster med ESPhiveuser2. Du använder de två användarkontona i den här artikeln.

Skapa Ranger-principer

I det här avsnittet skapar du två Ranger-principer för åtkomst till hivesampletable. Du ger välj behörighet för olika uppsättningar med kolumner. Båda användarna skapades med hjälp av Skapa ett HDInsight-kluster med ESP. I nästa avsnitt testar du de två principerna i Excel.

Så här skapar du Ranger-principer:

  1. Öppna Ranger-administratörsanvändargränssnittet. Se föregående avsnitt Anslut till Apache Ranger Admin UI.

  2. Under Hive väljer du CLUSTERNAME_Hive. Du ser två förkonfigurerade principer.

  3. Välj Lägg till ny princip och ange sedan följande värden:

    Property Värde
    Principnamn read-hivesampletable-all
    Hive Database standard
    table hivesampletable
    Hive-kolumn *
    Välj användare hiveuser1
    Behörigheter välj

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

    Kommentar

    Om en domänanvändare inte är ifylld i Välj användare väntar du en stund tills Ranger synkroniserar med Microsoft Entra-ID.

  4. Välj Lägg till för att spara principen.

  5. Upprepa de två sista stegen för att skapa en annan princip med följande egenskaper:

    Property Värde
    Principnamn read-hivesampletable-devicemake
    Hive Database standard
    table hivesampletable
    Hive-kolumn clientid, devicemake
    Välj användare hiveuser2
    Behörigheter välj

Skapa en Hive ODBC-datakälla

Anvisningar om hur du skapar en Hive ODBC-datakälla finns i Skapa en Hive ODBC-datakälla.

Property beskrivning
Namn på datakälla Ge datakällan ett namn.
Host Ange CLUSTERNAME.azurehdinsight.net. Använd till exempel myHDICluster.azurehdinsight.net.
Port Använd 443. (Den här porten har ändrats från 563 till 443.)
Databas Använd Standard.
Hive-servertyp Välj Hive Server 2.
Mekanism Välj Azure HDInsight Service.
HTTP-sökväg Lämna tomt.
Användarnamn Ange hiveuser1@contoso158.onmicrosoft.com. Uppdatera domännamnet om det är annorlunda.
Lösenord Ange lösenordet för hiveuser1.

Välj Testa innan du sparar datakällan.

Importera data till Excel från HDInsight

I det sista avsnittet konfigurerade du två principer: hiveuser1 har behörigheten välj för alla kolumner och hiveuser2 har behörigheten select på två kolumner. I det här avsnittet personifierar du de två användarna för att importera data till Excel.

  1. Öppna en ny eller befintlig arbetsbok i Excel.

  2. På fliken Data går du till Hämta data>från andra källor>från ODBC för att öppna fönstret Från ODBC.

    Screenshot that shows the Open data connection wizard.

  3. I listrutan väljer du det datakällnamn som du skapade i det senaste avsnittet och väljer sedan OK.

  4. För den första användningen öppnas en ODBC-drivrutinsdialogruta . Välj Windows på den vänstra menyn. Välj sedan Anslut för att öppna fönstret Navigatör.

  5. Vänta tills dialogrutan Markera databas och tabell öppnas. Det här steget kan ta några sekunder.

  6. Välj hivesampletable>Nästa.

  7. Välj Slutför.

  8. I dialogrutan Importera data kan du ändra eller specificera frågan. Det gör du genom att välja Egenskaper. Det här steget kan ta några sekunder.

  9. Välj fliken Definition . Kommandotexten är:

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

    Enligt de Ranger-principer som du har definierat hiveuser1 har du valt behörighet för alla kolumner. Den här frågan fungerar med autentiseringsuppgifterna för hiveuser1, men den här frågan fungerar inte med autentiseringsuppgifterna för hiveuser2.

  10. Välj OK för att stänga dialogrutan egenskaper för Anslut ion.

  11. Välj OK för att stänga dialogrutan Importera data .

  12. Ange lösenordet igen för hiveuser1 och välj sedan OK. Det tar några sekunder innan data importeras till Excel. När den är klar visas 11 datakolumner.

Testa den andra principen (read-hivesampletable-devicemake) som du skapade i det sista avsnittet:

  1. Lägg till ett nytt kalkylblad i Excel.

  2. Följ föregående procedur för att importera data. Den enda ändring du gör är att använda autentiseringsuppgifterna för i stället hiveuser1för hiveuser2 . Den här åtgärden misslyckas eftersom hiveuser2 den bara har behörighet att se två kolumner. Du ser följande fel:

    [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ölj samma procedur för att importera data. Den här gången använder du autentiseringsuppgifterna för hiveuser2 och ändrar även select-instruktionen från:

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

    Till:

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

    När den är klar visas två kolumner med importerade data.

Nästa steg