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:
En un explorador, vaya a la interfaz de usuario de administrador de Ranger en
https://CLUSTERNAME.azurehdinsight.net/Ranger/
, dondeCLUSTERNAME
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.
Inicie sesión con el nombre de usuario y la contraseña de dominio del administrador del clúster:
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:
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.
En Hive, seleccione CLUSTERNAME_Hive. Verá dos directivas preconfiguradas.
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 .
Nota:
Si un usuario de dominio no se rellena en Seleccionar usuario, espere unos instantes para que Ranger se sincronice con Microsoft Entra ID.
Seleccione Agregar para guardar la directiva.
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.
Abra un libro de Excel nuevo o existente.
En la pestaña Datos, vaya a Obtener datos>Desde otros orígenes>Desde ODBC para abrir la ventana Desde ODBC.
En la lista desplegable, seleccione el nombre del origen de datos que creó en la sección anterior y, luego, seleccione Aceptar.
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.
Espere a que se abra el cuadro de diálogo
Select Database and Table
. Este paso puede tardar unos segundos.Seleccione hivesampletable>Siguiente.
Seleccione Finalizar.
En el cuadro de diálogo Importar datos , puede cambiar o especificar la consulta. Para ello, seleccione Propiedades. Este paso puede tardar unos segundos.
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 dehiveuser1
, pero no con las credenciales dehiveuser2
.Seleccione Aceptar para cerrar el cuadro de diálogo Propiedades de conexión.
Seleccione Aceptar para cerrar el cuadro de diálogo Importar datos.
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:
Agregue una nueva hoja de Excel.
Siga el último procedimiento para importar los datos. El único cambio que hace es usar las credenciales de
hiveuser2
en lugar dehiveuser1
. Esta acción genera un error, ya quehiveuser2
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 ...]'.
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
- Para configurar un clúster de HDInsight con ESP, consulte Configuración de clústeres de HDInsight con ESP.
- Para administrar un clúster de HDInsight con ESP, consulte Administración de clústeres de HDInsight con ESP.
- Para ejecutar consultas de Hive mediante Secure Shell (SSH) en clústeres de HDInsight con ESP, consulte Uso de SSH con HDInsight.
- Para conectar Hive mediante Java Database Connectivity (JDBC) de Hive, consulte Conexión a Apache Hive en Azure HDInsight con el controlador JDBC de Hive.
- Para conectar Excel a Hadoop con ODBC de Hive, consulte Conexión de Excel a Apache Hadoop con el controlador ODBC de Microsoft Hive.
- Para conectar Excel a Hadoop con Power Query, consulte Conexión de Excel a Apache Hadoop con Power Query.