Configuración de directivas de Apache Hive en HDInsight con Enterprise Security Package

En este artículo, aprenderá a configurar directivas de Apache Ranger para Apache Hive. Creará dos directivas de Ranger para restringir el acceso a hivesampletable. hivesampletable viene con clústeres de HDInsight. Una vez configuradas las directivas, usará Excel y el controlador de conectividad abierta de bases de datos (ODBC) para conectarse a tablas de Hive en HDInsight.

Requisitos previos

  • Un clúster de HDInsight con Enterprise Security Package (ESP). Para más información, consulte Configuración de clústeres de HDInsight con ESP.
  • Una estación de trabajo con aplicaciones de Microsoft 365 para empresas, Office 2016, Office 2013 Professional Plus, Excel 2013 Standalone u Office 2010 Professional Plus.

Conexión a la interfaz de usuario de administrador de Apache Ranger

Para conectarse a la interfaz de usuario de administrador de Ranger, siga estos pasos:

  1. En un explorador, vaya a la interfaz de usuario de administrador de Ranger en https://CLUSTERNAME.azurehdinsight.net/Ranger/, donde CLUSTERNAME es el nombre del clúster.

    Nota:

    Ranger usa credenciales diferentes del clúster de Apache Hadoop. Para evitar que los exploradores usen credenciales de Hadoop almacenadas en caché, use una nueva ventana del explorador InPrivate para conectarse a la interfaz de usuario de administrador de Ranger.

  2. Inicie sesión con el nombre de usuario y la contraseña de dominio del administrador del clúster:

    Screenshot that shows the HDInsight ESP Ranger home page.

    Actualmente, Ranger solo funciona con Yarn y Hive.

Crear usuarios de dominio

Para información sobre cómo crear hiveruser1 y hiveuser2, consulte Creación de un clúster de HDInsight con ESP. Para este artículo usará las dos cuentas de usuario.

Creación de directivas de Ranger

En esta sección, creará dos directivas de Ranger para acceder a hivesampletable. Concederá el permiso de selección en diferentes conjuntos de columnas. Ambos usuarios se crearon mediante la sección Creación de un clúster de HDInsight con ESP. En la siguiente sección, probará las dos directivas en Excel.

Para crear directivas de Ranger, siga estos pasos:

  1. Abra la Interfaz de usuario administrador de Ranger. Consulte la sección anterior, Conexión a la interfaz de usuario de administrador de Apache Ranger.

  2. En Hive, seleccione CLUSTERNAME_Hive. Verá dos directivas preconfiguradas.

  3. Seleccione Agregar nueva directiva y escriba los siguientes valores:

    Propiedad Value
    Nombre de la directiva read-hivesampletable-all
    Base de datos de Hive default
    table hivesampletable
    Columna de Hive *
    Seleccionar usuario hiveuser1
    Permisos select

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

    Nota:

    Si un usuario de dominio no se rellena en Seleccionar usuario, espere unos instantes para que Ranger se sincronice con Microsoft Entra ID.

  4. Seleccione Agregar para guardar la directiva.

  5. Repita los dos últimos pasos para crear otra directiva con las siguientes propiedades:

    Propiedad Value
    Nombre de la directiva read-hivesampletable-devicemake
    Base de datos de Hive default
    table hivesampletable
    Columna de Hive clientid, devicemake
    Seleccionar usuario hiveuser2
    Permisos select

Creación de un origen de datos ODBC de Hive

Para instrucciones sobre cómo crear un origen de datos ODBC de Hive, consulte Creación de un origen de datos ODBC de Hive.

Propiedad Descripción
Data Source Name Asigne un nombre al origen de datos.
Host Escriba CLUSTERNAME.azurehdinsight.net. Por ejemplo, use myHDICluster.azurehdinsight.net.
Port Use 443. (Este puerto cambió de 563 a 443).
Base de datos Use el valor predeterminado
Hive Server Type Seleccione Hive Server 2.
Mechanism Seleccione Azure HDInsight Service.
HTTP Path Deje este parámetro en blanco.
Nombre de usuario Escriba hiveuser1@contoso158.onmicrosoft.com. Actualice el nombre de dominio si es diferente.
Contraseña Escriba la contraseña para hiveuser1.

Seleccione Probar antes de guardar el origen de datos.

Importación de datos en Excel desde HDInsight

En la última sección, configuró dos directivas: hiveuser1 tiene el permiso de selección en todas las columnas y hiveuser2 tiene este mismo permiso en dos columnas. En esta sección se suplanta a los dos usuarios para importar datos a Excel.

  1. Abra un libro de Excel nuevo o existente.

  2. En la pestaña Datos, vaya a Obtener datos>Desde otros orígenes>Desde ODBC para abrir la ventana Desde ODBC.

    Screenshot that shows the Open data connection wizard.

  3. En la lista desplegable, seleccione el nombre del origen de datos que creó en la sección anterior y, luego, seleccione Aceptar.

  4. Si es la primera vez que lo usa, se abre el cuadro de diálogo Controlador ODBC. Seleccione Windows en el menú izquierdo. Seleccione Conectar para abrir la ventana del Navegador.

  5. Espere a que se abra el cuadro de diálogo Seleccionar base de datos y tabla . Este paso puede tardar unos segundos.

  6. Seleccione hivesampletable>Siguiente.

  7. Seleccione Finalizar.

  8. En el cuadro de diálogo Importar datos , puede cambiar o especificar la consulta. Para ello, seleccione Propiedades. Este paso puede tardar unos segundos.

  9. Seleccione la pestaña Definición. El texto del comando es:

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

    Según las directivas de Ranger definidas, hiveuser1 tiene el permiso de selección en todas las columnas. Esta consulta funciona con las credenciales de hiveuser1, pero no con las credenciales de hiveuser2.

  10. Seleccione Aceptar para cerrar el cuadro de diálogo Propiedades de conexión.

  11. Seleccione Aceptar para cerrar el cuadro de diálogo Importar datos.

  12. Vuelva a escribir la contraseña de hiveuser1 y, luego, seleccione Aceptar. La importación de los datos a Excel tarda algunos segundos. Cuando acabe, verá 11 columnas de datos.

Para probar la segunda directiva (read-hivesampletable-devicemake) que creó en la última sección, siga estos pasos:

  1. Agregue una nueva hoja de Excel.

  2. Siga el último procedimiento para importar los datos. El único cambio que hace es usar las credenciales de hiveuser2 en lugar de hiveuser1. Esta acción genera un error, ya que hiveuser2 solo tiene permiso para ver dos columnas. Verá este 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. Siga el mismo procedimiento para importar los datos. Esta vez, use las credenciales de hiveuser2 y modifique también la instrucción select en:

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

    A:

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

    Cuando termine, verá dos columnas de datos importados.

Pasos siguientes