Cifrado de la Base de Datos
Prerrequisitos
El procedimiento descrito en este manual depende de los siguientes requisitos:
Crear clave para cifrado
Permiso de usuario
Para cifrar HBase, es necesario agregar permisos para el usuario que administra el HDFS.
En el navegador, acceda a Ranger en http://<host>:6080.
Usuario:
keyadminContraseña:
<contraseña definida en el procedimiento de instalación de Ranger Admin>
En este ejemplo, usaremos el usuario hadoop
Al acceder al Panel de Ranger KMS, haga clic en el repositorio kmsdev del KMS, que redirigirá a la página de policies de kmsdev.
Haga clic para editar la police 1. Al ser redirigido, haga clic en el ícono + dentro de Allow Conditions y complete de la siguiente forma:
Select Role: Sin cambios
Select Group: Sin cambios
Select User:
hadoopPermissions:
Decrypt EEK,Generate EEK,Get,Get Keys,Get MetadataDelegate Admin: Checked
Para probar el acceso al servidor, ejecute los siguientes comandos para listar las claves y los metadatos de la clave, en caso de que exista una:
El objetivo de la prueba es garantizar que el acceso no será denegado, haya clave o no.
Crear clave
Aún en el panel de Ranger KMS, haga clic en Encryption y, luego, en Key Manager.
En Select Service, seleccione el repositorio kmsdev.
Para crear una clave, haga clic en Add New Key y complete de la siguiente forma:
Key Name:
hbaseCipher: No realizar cambios
Length:
256Description: campo opcional
Attributes: No realizar cambios
Al hacer clic en save, la clave será creada y podrá ser accesada por el servidor para encriptación. Para verificar, conéctese al servidor con el usuario que tiene permiso de get key y ejecute los siguientes comandos:
Crear zona de cifrado
Para cifrar la base de datos de Hadoop, es necesario crear una zona de cifrado. De esta forma, todos los datos insertados en esta zona serán redirigidos por el HDFS al KMS para cifrado o descifrado, dependiendo de la petición enviada y de los permisos del usuario en el KMS.
Para crear una zona de cifrado, es necesario que la ruta esté vacía. Por lo tanto, es necesario renombrar la carpeta data de HBase y crear una carpeta con el mismo nombre.
Entonces ejecute el siguiente comando para definir la ruta /apps/hbase/data como una zona de cifrado:
La respuesta debe ser:
Para verificar, ejecute el comando para listar las zonas:
Este comando debe devolver el siguiente mensaje:
Siendo /apps/hbase/data la zona de cifrado y hbase la clave.
Después de definir la zona de cifrado, copie todo el contenido de la carpeta /apps/hbase/data-bkp dentro de la zona de cifrado /apps/hbase/data.
Para verificar el funcionamiento del cifrado, inicie HBase y conéctese al HBase Shell, entonces ejecute los siguientes comandos de lectura de archivo:
Dentro de la zona de cifrado:
La respuesta debe ser:
Fuera de la zona de cifrado:
La respuesta debe ser:
Para obtener información sobre el cifrado del archivo, ejecute el siguiente comando:
La respuesta debe ser:
Procedimiento de cambio de clave
No es necesario detener los servicios para el cambio de clave y re-cifrado. Lea el procedimiento completo a continuación para más información.
Procedimiento de Rollover de la clave
Para crear una clave, haga clic en Add New Key y complete de la siguiente forma:
Para cambiar la clave de cifrado, acceda al panel de Ranger KMS y haga clic en Encryption y, luego, en Key Manager.
En Select Service, seleccione el repositorio kmsdev.
En la clave utilizada para la zona de cifrado, en el lado derecho de la pantalla en Action, haga clic en el ícono descrito como Rollover.
Al hacer clic en Rollover, será necesario confirmar la operación en un pop-up.
Después de confirmar el Rollover, Hadoop continuará usando la clave anterior, pero la clave nueva también estará disponible en Ranger KMS. Por este motivo no es necesaria la detención de los servicios para este procedimiento.
Para verificar la disponibilidad de las claves y sus respectivas versiones, ejecute el siguiente comando:
La respuesta debe ser:
En esta respuesta, se observa que Hadoop está usando la clave hbase@0, sin embargo ya está disponible la clave hbase@1 en el KMS.
Procedimiento de re-cifrado
El procedimiento de re-cifrado puede realizarse durante el funcionamiento pleno del sistema por dos puntos:
El tipo de cifrado
Hadoop utiliza cifrado del tipo TDE (transparent data encryption). Este tipo de cifrado actúa en la base de datos solo a nivel de archivo, permitiendo que los datos estén disponibles para las aplicaciones sin la necesidad de cifrar o descifrar en cada operación.
Información de cifrado en el archivo
Cada archivo cifrado posee un encabezado o paquete con la información del cifrado, incluyendo la versión de la clave utilizada. Esta información se consulta directamente en cualquier procedimiento de cifrado.
Para verificar la información de cifrado en el archivo, ejecute el siguiente comando:
La respuesta debe ser:
Para re-cifrar la zona de cifrado después del Rollover de la clave, ejecute los siguientes comandos:
Para listar las zonas de cifrado:
Para re-cifrar la zona deseada con la nueva clave:
La respuesta debe ser un mensaje confirmando la solicitud de re-cifrado:
Después de la solicitud, Hadoop iniciará el re-cifrado de los datos con la clave actualizada proporcionada por Ranger KMS.
Para comprobar el estado del re-cifrado, ejecute el siguiente comando:
La respuesta debe ser un informe con el estado de la operación:
Para verificar si la información de cifrado fue actualizada en los archivos, ejecute nuevamente el comando -getFileEncryptionInfo:
Si el cambio de las claves se realizó con éxito, el campo ezKeyVersionName reflejará el nombre de la nueva versión:
Última actualización
¿Te fue útil?

