Configurare i criteri per Apache Hive in HDInsight con Enterprise Security Package

Informazioni su come configurare i criteri di Apache Ranger per Apache Hive. In questo articolo vengono creati due criteri di Ranger per limitare l'accesso a hivesampletable. La tabella hivesampletable è disponibile con i cluster HDInsight. Dopo aver configurato i criteri, usare il driver Excel e ODBC per connettersi alle tabelle Hive in HDInsight.

Prerequisiti

  • Un cluster HDInsight con Enterprise Security Package. Vedere Configurare i cluster HDInsight con ESP.
  • Una workstation con app Microsoft 365 per le aziende, Office 2016, Office 2013 Professional Plus, Excel 2013 Standalone o Office 2010 Professional Plus.

Connettersi all'interfaccia utente di amministrazione di Apache Ranger

Per connettersi all'interfaccia utente di amministrazione di Ranger

  1. Da un browser passare all'interfaccia utente ranger Amministrazione in https://CLUSTERNAME.azurehdinsight.net/Ranger/ cui CLUSTERNAME è il nome del cluster.

    Nota

    Ranger usa credenziali diverse da quelle del cluster Apache Hadoop. Per evitare che i browser usino credenziali memorizzate nella cache di Hadoop, connettersi all'interfaccia utente di amministrazione di Ranger da una nuova finestra del browser InPrivate.

  2. Eseguire l'accesso usando il nome utente e la password di amministratore cluster:

    Home page di HDInsight ESP Ranger

    Attualmente, Ranger è compatibile solo con Yarn e Hive.

Creazione di utenti del dominio

Per informazioni su come creare hiveruser1 e hiveuser2, vedere Creare un cluster HDInsight con ESP. In questo articolo si usano i due account utente.

Creazione dei criteri di Ranger

In questa sezione vengono creati due criteri di Ranger per accedere a hivesampletable. Vengono concesse autorizzazioni di selezione su diversi set di colonne. Entrambi gli utenti sono stati creati tramite la procedura descritta in Creare un cluster HDInsight con ESP. Nella sezione successiva si testeranno i due criteri in Excel.

Per creare criteri di Ranger

  1. Aprire l'interfaccia utente di amministrazione di Ranger. Consultare la sezione Connettersi all'interfaccia utente di amministrazione di Apache Ranger.

  2. Selezionare CLUSTERNAME_Hive, in Hive. Verranno visualizzati due criteri preconfigurati.

  3. Selezionare Aggiungi nuovo criterio e quindi immettere i valori seguenti:

    Proprietà Valore
    Nome criterio read-hivesampletable-all
    Hive Database default
    table hivesampletable
    Colonna Hive *
    Seleziona utente hiveuser1
    Autorizzazioni Proprietà

    I criteri Hive di HDInsight ESP Ranger configurano .

    Nota

    Se l'utente di un dominio non compare in Seleziona utente, attendere alcuni istanti per la sincronizzazione di Ranger con AAD.

  4. Selezionare Aggiungi per salvare il criterio.

  5. Ripetere gli ultimi due passaggi per creare un altro criterio con le proprietà seguenti:

    Proprietà Valore
    Nome criterio read-hivesampletable-devicemake
    Hive Database default
    table hivesampletable
    Colonna Hive clientid, devicemake
    Seleziona utente hiveuser2
    Autorizzazioni Proprietà

Creare un'origine dati Hive ODBC

Le istruzioni sono disponibili in Creare un'origine dati Hive ODBC.

Proprietà Descrizione
Data Source Name Assegnare un nome all'origine dati
Host Immettere CLUSTERNAME.azurehdinsight.net. Ad esempio, myHDICluster.azurehdinsight.net
Porta Utilizzare 443. Questa porta è passata da 563 a 443.
Database Usare Impostazione predefinita.
Hive Server Type Selezionare Hive Server 2
Mechanism Selezionare Azure HDInsight Service
HTTP Path Lasciare vuoto.
Nome utente Immettere hiveuser1@contoso158.onmicrosoft.com. Aggiornare il nome di dominio se è diverso.
Password Immettere la password per hiveuser1.

Assicurarsi di fare clic su Test prima di salvare l'origine dati.

Importazione di dati in Excel da HDInsight

Nell'ultima sezione sono stati configurati due criteri. hiveuser1 dispone dell'autorizzazione di selezione in tutte le colonne, mentre hiveuser2 solo in due di loro. In questa sezione vengono rappresentati due utenti che importano dati in Excel.

  1. Aprire una cartella di lavoro nuova o esistente in Excel.

  2. Nella scheda Dati passare a Carica dati>Da altre origini>Da ODBC per aprire la finestra Da ODBC.

    Aprire la Connessione guidata dati

  3. Nell'elenco a discesa selezionare il nome dell'origine dati creato nell'ultima sezione e quindi selezionare OK.

  4. Per il primo utilizzo, verrà aperta una finestra di dialogo del driver ODBC . Selezionare Windows dal menu a sinistra. Selezionare quindi Connetti per aprire la finestra Strumento di navigazione .

  5. Attendere l'apertura della finestra di dialogo Seleziona database e tabella . Questa operazione potrebbe richiedere alcuni secondi.

  6. Selezionare hivesampletable e quindi selezionare Avanti.

  7. Selezionare Fine.

  8. Nella finestra di dialogo Importa dati è possibile modificare o specificare la query. A tale scopo, selezionare Proprietà. Questa operazione potrebbe richiedere alcuni secondi.

  9. Selezionare la scheda Definizione . Il testo del comando è:

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

    In base ai criteri ranger definiti, hiveuser1 dispone dell'autorizzazione di selezione per tutte le colonne. Questa query funziona quindi con le credenziali di hiveuser1, ma questa query non funziona con le credenziali di hiveuser2.

  10. Selezionare OK per chiudere la finestra di dialogo Proprietà connessione.

  11. Selezionare OK per chiudere la finestra di dialogo Importa dati .

  12. Reimmettere la password per hiveuser1, quindi fare clic su OK. L'importazione dei dati in Excel potrebbe richiedere alcuni secondi. Al termine, verranno visualizzate 11 colonne di dati.

Per il test del secondo criterio (read-hivesampletable-devicemake) creato nell'ultima sezione

  1. Aggiungere un nuovo foglio in Excel.

  2. Seguire l'ultima procedura per importare i dati. L'unica differenza è che vengono usate le credenziali di hiveuser2 anziché quelle di hiveuser1. L'esito è negativo perché hiveuser2 ha solo l'autorizzazione per visualizzare due colonne. Verrà visualizzato l'errore seguente:

    [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. Seguire la stessa procedura per importare i dati. Questa volta usare le credenziali di hiveuser2 e modificare l'istruzione di selezione da:

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

    in:

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

    Al termine, verranno visualizzate due colonne di dati importati.

Passaggi successivi