Azure Policy: agrupa tus políticas en iniciativas

Ya te conté para qué sirve Azure Policy y cómo puedes definir qué se puede hacer, y qué no, en tus suscripciones de Microsoft Azure. Si has jugado un poco más, te habrás fijado que también existe algo llamado iniciativas dentro del servicio. Estas no son más que grupos de políticas, lo cual nos facilita la asignación en los recursos. En este artículo vamos a ver cómo asignarlas e interpretarlas.

Asignar iniciativa

Para este ejemplo vamos a utilizar una de las iniciativas predefinidas, pero puedes agrupar las que tú elijas en el apartado Definitions. Accede al apartado Compliance y haz clic en Assign initiative.

Azure Policy – Assign initiative

Verás que el asistente de creación es bastante similar al de las políticas, solo que las definiciones son bastante menos. Para este ejemplo voy a seleccionar la llamada “Audit Windows VMs that have the specified applications installed e indicaré que quiero que busque aquellas máquinas que tengan instalado cualquier Visual Studio, gracias a que esta política nos permite utilizar wildcards.

Lo primero que he modificado es el Scope de la iniciativa a un management group llamado IT, que cree en un artículo anterior. Después he elegido la iniciativa que quiero asignar y he especificado que hay que buscar por Visual Studio*, ya que queremos comprobar tanto si es un Visual Studio 2017, 2019, Code, etcétera. Por último, he modificado la ubicación de la identidad manejada a North Europe y hago clic en el botón Assing. Pasados unos minutos, verás que la iniciativa ya se ha iniciado y aparecerá como Non complaint en el apartado Overview.

Si accedes a ella verás que dentro hay dos políticas:

La de tipo DeployIfNotExists es la que despliega la extensión que permite hacer las comprobaciones pertinentes en las máquinas virtuales. La de tipo Audit es la que establece qué se audita. Para que esta comprobación se pueda realizar, primero tienes que consentir la instalación de esta extensión, lo cual hay que hacer de manera manual a día de hoy.

Crear una tarea de remediación para las políticas de tipo DeployIfNotExists

Haz clic en la opción Create Remediation Task del menú superior.

Puedes filtrar tanto por región como por ubicación qué maquinas serán parte de la tarea de remediación. Haz clic en el botón Remediate para que comience a ejecutarse la tarea. Una vez pulsado te redirigirá al apartado Remediation tasks de la política, donde aparecerá su estado en In progress.

Una vez finalizado, podrás ver en cualquiera de las máquinas afectadas, en el apartado Extensions, una nueva extensión llamada AzurePolicyforWindows.

La extensión AzurePolicyforWindows es instalada en las máquinas virtuales

Para que esto ocurra, todas las máquinas deben de estar arrancadas. Si alguna estuviera parada quedaría marcada como fallida. Si te ocurre esto puedes arrancar las máquinas y crear una nueva tarea de remediación para solucionarlo.

Los resultados

Pasada la primera política, se procederá a comprobar la segunda, que es la de auditoria. Dependiendo de cuántas sean las que cumplan la regla la foto puede diferir de la mía:

Si accedes a cualquiera de las máquinas non-compliant y haces clic en la opción View Resource del menú superior podrás ver qué aplicaciones ha detectado en la misma:

Si accedes a View Resource podrás ver el motivo de por qué es non-compliant

Si cambias el combo a compliant verás aquellas que no tienen instalado ningún Visual Studio.

Si cambias el combo a Compliant verás aquellas que no tienen nada instalado

Este es solo un ejemplo de cómo funcionan las iniciativas dentro de Azure Policy, pero lo interesante es que puedes montar tus propias iniciativas con aquellas políticas que tú decidas. Debes tener en cuenta que las comprobaciones no son instantáneas, pueden tardar hasta 30 minutos en aparecer.

¡Saludos!