Haz inventario de Microsoft Azure con CloudQuery

Gisela Torres
Computación en la nube
he descubierto una herramienta que en diferentes escenarios, sobre todo en el inventariado, puede sernos útil. Se llama CloudQuery y te permite exportar los datos de los recursos de tus suscripciones, de los diferentes

Haz inventario de Microsoft Azure con CloudQuery

Recientemente he descubierto una herramienta que en diferentes escenarios, sobre todo en el inventariado, puede sernos útil. Se llama CloudQuery y te permite exportar los datos de los recursos de tus suscripciones, de los diferentes proveedores cloud, para poder ejecutar consultas sobre ello lanzando sentencias SQL, ya que el resultado se almacena en un Postgres. En este artículo te cuento cómo configurarlo para Microsoft Azure.

Instalar CloudQuery

Lo primero que necesitas hacer es instalar la herramienta de CloudQuery en tu máquina. En mi caso estoy utilizando Mac, por lo que he ejecutado el siguiente comando usando Homebrew:

Si utilizas otro sistema operativo puedes ver las diferentes releases aquí.

Iniciar CloudQuery

Ahora que ya tienes la herramienta de CloudQuery instalada en tu máquina, crea un directorio, yo lo he llamado cloudquery, e inicializa la configuración dentro de él, con el siguiente comando:

Al hacer esto genera un archivo llamado config.hcl el cual podemos personalizar, indicando de qué suscripciones queremos traernos los datos, qué tipos de recursos, etcétera.

cloudquery init genera el archivo config.hcl

Si no modificamos nada se traerá todos los recursos de todas las suscripciones a las que se tengan acceso. Ahora ya tenemos nuestro proyecto listo para recuperar la información de nuestras suscripciones.

Crear una base de datos Postgres en Docker

Como ya te comenté al inicio de este artículo, la información recuperada se exporta a una base de datos de tipo Postgres, por lo que vamos a necesitar una. La forma sencilla es usando un contenedor de Docker:

Crear un Service Principal

Ahora que ya sabemos que queremos recuperar la información de Azure, para poder hacerlo necesitamos crear un service principal que tenga acceso a las suscripciones que queremos exportar:

Una vez creado, y almacenada la respuesta en el archivo auth.json, utilizo la herramienta jq para almacenar la información del service principal en estas variables de entorno:

Asignar el service principal al rol «Application Administrator» de Azure AD

Para finalizar la configuración, necesitamos que el service principal que acabamos de crear esté asociado a un rol de Azure Active Directory llamado Application administrator, que puedes encontrarlo en el recurso de Azure AD, en el apartado Roles and administrators:

Azure AD – Roles and administrators – Application Administrator

Una vez en él, busca el service principal que hemos llamado cloudquery, a través del botón Add assignments, y asócialo de manera permanente.

Agregar el service principal al rol Application Administrator

Volcar la información en el Postgres con CloudQuery

Ahora, lo único que falta es recuperar la información con CloudQuery. Para ello sólo tienes que ejecutar un único comando:

Este utiliza las variables de entorno que hemos configurado anteriormente, con la información de nuestro service principal, y el postgres que hemos generado en Docker. Una vez que el proceso finalice, verás que tienes un montón de tablas generadas (para este ejemplo he usado DataGrip como GUI):

92 tablas generadas CloudQuery en Postgres

Podrás hacer consultas como estas, simplemente para recuperar recursos de un tipo concreto:

O ir más allá y consultar sobre estos aspectos que para ti pueden ser importante y necesitas validar o generar un informe sobre ellos. Como por ejemplo: «Dime qué cuentas de almacenamientos tienen habilitado el acceso público». Sería algo tan sencillo como esto:

¡Saludos!

Puedes ver el articulo original haciendo click Aqui>

Gisela Torres

Gisela Torres trabaja en Microsoft como Cloud Solution Architect. Se trata de un puesto técnico cuya misión es apoyar y asesorar sobre soluciones y arquitecturas cloud utilizando Microsoft Azure como plataforma. Antes de eso trabajo como arquitecta de software y desarrolladora de aplicaciones en varias empresas. Durante esos años recibio varios premios por ejemplo Most Valuable Professional en Microsoft Azure. Le encanta programar y la tecnología en general.

Más artículos de Gisela en su blog - https://www.returngis.net/

Related Posts

Únete a nuestra Newsletter

Lidera la Conversación en la Nube