Dar permisos en un Azure Data Lake Gen 1

Sitio dedicado a Microsoft Azure y otras tecnologías Cloud

What the fuck

Hay cosas que pueden poner a cualquiera «de los nervios» como los permisos de acceso en la generación 1 del servicio Data Lake en Azure.

Ciertamente los han situado en un sitio la mar de raro.

El contexto de trabajo

He creado un servicio de DataFactory que quiero que mueva un fichero de texto desde un Data Lake de generación 1 a un Data Lake de segunda generación, que está basado en una Cuenta de Almacenamiento.

En unos 5 minutos está el sistema configurado, Continuo con el enlace del Data Factory con el Data Lake Gen1 para que lea el fichero. Y no hay forma porque continuadamente me salta un error de permisos al utilizar la Identidad Gestionada (Managed Identity) para validarme.

Mi primera aproximación a la resolución es intentar de alta la MI del Data Factory en el IAM del Data Lake; pero esto no es posible ya que en listado de permisos y accesos solo me permite Identidades Gestionadas de Usuario.

Otra solución es utilizar un Service Principal (mi querido Robotijo), si tengo el IdObject y el IdSecret; y que he comprobado que funciona corréctamente con el rol adecuado en el IAM.

¿Qué demonios hace esto aquí?

Data Lake Gen1 permisos

Sin embargo esto no me satisface del todo, ya que es más óptimo y seguro utilizar la Managed Identity de la Factoria de Datos en vez andar configurando un Service Principal, con el aumento de la complejidad y gestión que implica.

Y aquí me llevo una sorpresa cuando encuentro que la configuración de seguridad en los Data Lake de primera generación están en un lugar bastante escondido:

Data Lake Gen 1 -> Overview -> Data Explorer -> Access -> Add
Data Lake Gen1 permisos

En esta configuración debo seleccionar un grupo o usuario pero, curiosamente, también permite acceder a las identidades gestionadas de los servicios, entre ellos el del Data Lake; eso sí, por alguna inexplicable razón no utiliza permisos RBAC.

Data Lake Gen1 permisos

Con esto, ahora sí, puedo realizar las operaciones desde el Data Factory sin mayores problemas. En los Data Lake Gen 2, este absurdo se corrige.

Espero que sea de utilidad.

 

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.