Agregando LDAP a Hive
Hive con LDAP como sistema de autenticacion
Hive permite varios sistemas de autenticacion, normalmente se usa kerberos para
estos menesteres, aunque a mi no me gusta kerberos. Demasiado overhead de complejidad
cuando tenemos SSL y podemos fortificar todo el cluster usando KNOX.
Asi que ahi va mi receta para hacerlo de forma facil con LDAP, luego a eso le sumamos
RANGER para la autorizacion y lo tenemos listo.
Nos vamos al Ambari a la configuracion de Hive y seleccionamos en la pestana
de security
- Hive2Server > Authentication LDAP
- run as end user instead hive user > true
Ahora en Advanced, vamos a crear algunas propiedades
- creamos en custom hive-site
- hive.server2.authentication.ldap.baseDN DC=domain,DC=tld
- hive.server2.authentication.ldap.url = Server ldap en formato ldap(s)://server:port
- Cambiamos a DEBUG logging para ver que todo esta bien
- Reiniciamos
- Abrimos el log de hive y ejecutamos una prueba de conexion
- SIN zooKeeper > jdbc:hive2://hive2.server:10000
- CON zooKeeper > jdbc:hive2://zooKeerNode:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2
- Usuario: usuario@dominio.tld y password de dominio
- Conectamos y vemos el contenido
Si todo esta bien, desactivar el DEBUG para que nose llene de basura. En mi caso,
en unos de los entornos el registro del Hive2Server con ZooKeeper no iba y tuve
que ponerlo directo, en otro si. Cuestiones de tener un entorno manoseado.
Pero, pensando a futuro en la segregacion de servicios, pondremos 2 servidores de Hive
en HA corriendo solo eso en dos nodos.
El siguiente paso serán:
- Asegurar la consulta LDAP con LDAPS
- Habilitar Ranger y proveer de autorizacion a los diferentes recursos
- Instalar KNOX y convertir todo el cluster en una blackbox para el mundo exterior
;)