Tutorial: Configuración de directivas de Apache HBase en HDInsight con Enterprise Security Package
Aprenda cómo se configuran las directivas de Apache Ranger para los clústeres de Apache HBase de Enterprise Security Package (ESP). Los clústeres de ESP se conectan a un dominio, lo que permite a los usuarios autenticarse con credenciales de dominio. En este tutorial, creará dos directivas de Ranger para restringir el acceso a diferentes familias de columnas en una tabla de HBase.
En este tutorial, aprenderá a:
- Crear usuarios de dominio.
- Crear directivas de Ranger.
- Crear tablas en un clúster de HBase.
- Probar las directivas de Ranger.
Antes de empezar
- Si no tiene una suscripción a Azure, cree una cuenta gratuita.
- Inicie sesión en Azure Portal.
- Cree un clúster de HBase en HDInsight con Enterprise Security Package.
Conexión a la interfaz de usuario administrador de Apache Ranger
En un explorador, conéctese a la interfaz de usuario de administrador de Ranger desde la dirección URL
https://<ClusterName>.azurehdinsight.net/Ranger/
. No olvide cambiar<ClusterName>
por el nombre del clúster de HBase.Nota:
Las credenciales de Ranger no son las mismas que las del clúster de Hadoop. Para evitar que los exploradores usen credenciales almacenadas en caché de Hadoop, use una nueva ventana del explorador InPrivate para conectarse a la interfaz de usuario administrador de Ranger.
Inicie sesión con sus credenciales de administrador de Microsoft Entra. Las credenciales de administrador de Microsoft Entra no son las mismas que las credenciales del clúster de HDInsight ni las credenciales de Secure Shell (SSH) del nodo de HDInsight en Linux.
Crear usuarios de dominio
Para aprender a crear los usuarios de dominio sales_user1 y marketing_user1, consulte Creación de un clúster de HDInsight con Enterprise Security Package. En un escenario de producción, los usuarios del dominio proceden de su inquilino de Active Directory.
Creación de tablas de HBase e importación de datos de ejemplo
Puede usar SSH para conectarse a los clústeres de HBase y, después, usar el shell de Apache HBase para crear tablas de HBase e insertar y consultar datos. Para más información, consulte Uso SSH con HDInsight.
Usar el shell de HBase
Desde SSH ejecute el siguiente comando de HBase:
hbase shell
Cree una tabla de HBase
Customers
con dos familias de columnas:Name
yContact
.create 'Customers', 'Name', 'Contact' list
Inserte algunos datos:
put 'Customers','1001','Name:First','Alice' put 'Customers','1001','Name:Last','Johnson' put 'Customers','1001','Contact:Phone','333-333-3333' put 'Customers','1001','Contact:Address','313 133rd Place' put 'Customers','1001','Contact:City','Redmond' put 'Customers','1001','Contact:State','WA' put 'Customers','1001','Contact:ZipCode','98052' put 'Customers','1002','Name:First','Robert' put 'Customers','1002','Name:Last','Stevens' put 'Customers','1002','Contact:Phone','777-777-7777' put 'Customers','1002','Contact:Address','717 177th Ave' put 'Customers','1002','Contact:City','Bellevue' put 'Customers','1002','Contact:State','WA' put 'Customers','1002','Contact:ZipCode','98008'
Vea el contenido de la tabla:
scan 'Customers'
Creación de directivas de Ranger
Cree una directiva de Ranger para sales_user1 y marketing_user1.
Abra la Interfaz de usuario administrador de Ranger. En HBase, seleccione <ClusterName>_hbase.
La pantalla Lista de directivas muestra todas las directivas de Ranger creadas para este clúster. Puede aparecer una directiva configurada previamente. Seleccione Agregar nueva directiva.
En la pantalla
Create Policy
, escriba los siguientes valores:Configuración Valor sugerido Nombre de la directiva sales_customers_name_contact HBase Table Clientes HBase Column-family Name, Contact HBase Column * Select Group Seleccionar usuario sales_user1 Permisos Lectura Los siguientes caracteres comodín se pueden incluir en el nombre del tema:
*
indica ninguna o más repeticiones de caracteres.?
indica cualquier carácter individual.
Nota:
Si un usuario del dominio no se rellena automáticamente en Seleccionar usuario, espere unos instantes a que Ranger se sincronice con Microsoft Entra ID.
Seleccione Agregar para guardar la directiva.
Seleccione Agregar nueva directiva y escriba los siguientes valores:
Configuración Valor sugerido Nombre de la directiva marketing_customers_contact HBase Table Clientes HBase Column-family Contacto HBase Column * Select Group Seleccionar usuario marketing_user1 Permisos Lectura Seleccione Agregar para guardar la directiva.
Prueba de las directivas de Ranger
Según las directivas de Ranger configuradas, sales_user1 puede ver todos los datos de las columnas de ambas familias de columnas: Name
y Contact
. marketing_user1 solo puede ver los datos de la familia de columnas Contact
.
Acceso a los datos como sales_user1
Abra una nueva conexión SSH al clúster. Use el siguiente comandos para iniciar sesión en el clúster:
ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
Use el comando
kinit
para cambiar al contexto del usuario deseado:kinit sales_user1
Abra el shell de HBase y examine la tabla
Customers
:hbase shell scan `Customers`
Observe que el usuario de ventas puede ver todas las columnas de la tabla
Customers
. El usuario puede ver las dos columnas de la familia de columnasName
y las cinco columnas de la familia de columnasContact
.ROW COLUMN+CELL 1001 column=Contact:Address, timestamp=1548894873820, value=313 133rd Place 1001 column=Contact:City, timestamp=1548895061523, value=Redmond 1001 column=Contact:Phone, timestamp=1548894871759, value=333-333-3333 1001 column=Contact:State, timestamp=1548895061613, value=WA 1001 column=Contact:ZipCode, timestamp=1548895063111, value=98052 1001 column=Name:First, timestamp=1548894871561, value=Alice 1001 column=Name:Last, timestamp=1548894871707, value=Johnson 1002 column=Contact:Address, timestamp=1548894899174, value=717 177th Ave 1002 column=Contact:City, timestamp=1548895103129, value=Bellevue 1002 column=Contact:Phone, timestamp=1548894897524, value=777-777-7777 1002 column=Contact:State, timestamp=1548895103231, value=WA 1002 column=Contact:ZipCode, timestamp=1548895104804, value=98008 1002 column=Name:First, timestamp=1548894897419, value=Robert 1002 column=Name:Last, timestamp=1548894897487, value=Stevens 2 row(s) in 0.1000 seconds
Acceso a los datos como marketing_user1
Abra una nueva conexión SSH al clúster. Use el siguiente comando para iniciar sesión como marketing_user1:
ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
Use el comando
kinit
para cambiar al contexto de nuestro usuario deseado:kinit marketing_user1
Abra el shell de HBase y examine la tabla
Customers
:hbase shell scan `Customers`
Tenga en cuenta que el usuario marketing solo puede ver las cinco columnas de la familia de columnas
Contact
.ROW COLUMN+CELL 1001 column=Contact:Address, timestamp=1548894873820, value=313 133rd Place 1001 column=Contact:City, timestamp=1548895061523, value=Redmond 1001 column=Contact:Phone, timestamp=1548894871759, value=333-333-3333 1001 column=Contact:State, timestamp=1548895061613, value=WA 1001 column=Contact:ZipCode, timestamp=1548895063111, value=98052 1002 column=Contact:Address, timestamp=1548894899174, value=717 177th Ave 1002 column=Contact:City, timestamp=1548895103129, value=Bellevue 1002 column=Contact:Phone, timestamp=1548894897524, value=777-777-7777 1002 column=Contact:State, timestamp=1548895103231, value=WA 1002 column=Contact:ZipCode, timestamp=1548895104804, value=98008 2 row(s) in 0.0730 seconds
Vea los eventos de acceso de auditoría desde la interfaz de usuario de Ranger.
Limpieza de recursos
Si no va a seguir utilizando esta aplicación, elimine el clúster de HBase que creó:
- Inicie sesión en Azure Portal.
- En el cuadro Buscar de la parte superior, escriba HDInsight.
- En Servicios, seleccione Clústeres de HDInsight.
- En la lista de clústeres de HDInsight que aparece, seleccione el signo ... situado junto al clúster que ha creado para este tutorial.
- Seleccione Eliminar>Sí.