Evaluación del efecto de una nueva definición de Azure Policy

Azure Policy es una herramienta eficaz para administrar los recursos de Azure de forma que se cumplan las necesidades de cumplimiento normativo de los estándares empresariales. Cuando las personas, los procesos o las canalizaciones crean o actualizan recursos, Azure Policy revisa la solicitud. Cuando el efecto de la definición de la directiva es Modify, Append o DeployIfNotExists, la directiva modifica la solicitud o la agrega. Cuando el efecto de la definición de la directiva es Audit o AuditIfNotExists, la directiva provoca la creación de una entrada del registro de actividad para los recursos nuevos y actualizados. Y cuando el efecto de la definición de directiva es Deny o DenyAction, la directiva detiene la creación o modificación de la solicitud.

Estos resultados son exactamente lo que se desea cuando se sabe que la directiva se ha definido correctamente. Sin embargo, es importante validar que una nueva directiva funciona según lo previsto antes de permitirle cambiar o bloquear el trabajo. La validación debe asegurarse de que solo se determina que los recursos deseados no son compatibles y que no se incluyen correctamente los recursos compatibles (lo que se conoce como falso positivo) en los resultados.

El enfoque recomendado para validar una nueva definición de directiva es seguir estos pasos:

  • Definición de la directiva de forma estricta
  • Prueba de la eficacia de la directiva
  • Auditoría de las solicitudes de recursos nuevas o actualizadas
  • Implementación de la directiva en los recursos
  • Supervisión continua

Definición de la directiva de forma estricta

Es importante comprender cómo se implementa la directiva empresarial como una definición de directiva y la relación de los recursos de Azure con otros servicios de Azure. Este paso se realiza mediante la identificación de los requisitos y la determinación de las propiedades del recurso. Pero también es importante ver más allá de la definición de directiva empresarial. ¿Su estado de directiva es que "Todas las máquinas virtuales tienen que..."? ¿Qué ocurre con otros servicios de Azure que hacen uso de máquinas virtuales, como HDInsight o AKS? Al definir una directiva, debemos tener en cuenta cómo afecta esta directiva a los recursos utilizados por otros servicios.

Por esta razón, las definiciones de directiva deben ser tan definidas y centradas en los recursos y las propiedades que se necesitan para evaluar su cumplimiento como sea posible.

Prueba de la eficacia de la directiva

Antes de considerar la administración de recursos nuevos o actualizados con la nueva definición de directiva, es mejor ver cómo evalúa un subconjunto limitado de recursos existentes, como un grupo de recursos de prueba. La extensión VS Code de Azure Policy permite realizar pruebas aisladas de las definiciones en los recursos de Azure existentes mediante el examen de evaluación a petición. También puede asignar la definición en un entorno de desarrollo mediante el modo de cumplimientoDisabled (DoNotEnforce) en la asignación de directiva para impedir el efecto de desencadenar o crear entradas de registros de actividad.

Este paso le ofrece la oportunidad de evaluar los resultados de cumplimiento de la nueva directiva en los recursos existentes sin afectar al flujo de trabajo. Compruebe que los recursos no conformes se muestren como tal (falso positivo) y que todos los recursos que espera que sean no conformes estén marcados correctamente. Una vez que el subconjunto inicial de recursos se valide según lo previsto, amplíe lentamente la evaluación a más recursos existentes y más ámbitos.

La evaluación de los recursos existentes de esta manera también ofrece la posibilidad de corregir recursos no compatibles antes de la implementación completa de la nueva directiva. Esta limpieza puede realizarse manualmente o a través de una tarea de corrección si el efecto de definición de directiva es DeployIfNotExists o Modify.

Las definiciones de directiva con un valor DeployIfNotExist deben aprovechar la plantilla de Azure Resource Manager what-if para validar y probar los cambios que se producen al implementar la plantilla de ARM.

Auditoría de recursos nuevos o actualizados

Cuando haya validado la nueva definición de directiva que se está notificando correctamente en los recursos existentes, es el momento de examinar el impacto de la directiva cuando se crean o actualizan recursos. Si la definición de directiva admite la parametrización de efectos, use Audit o AuditIfNotExist. Esta configuración permite supervisar la creación y actualización de recursos para ver si la nueva definición de directiva desencadena una entrada en el registro de actividad de Azure para un recurso que no es compatible sin que afecte a las solicitudes o al trabajo existente.

Se recomienda que actualice y cree recursos que coincidan con la definición de directiva para ver que el efecto Audit o AuditIfNotExist se desencadena correctamente cuando se espera. Esté atento a las solicitudes de recursos que no deben verse afectadas por la nueva definición de directiva que desencadena el efecto Audit o AuditIfNotExist. Estos recursos afectados son otro ejemplo de falsos positivos y deben corregirse en la definición de directiva antes de la implementación completa.

Si la definición de directiva se cambia en esta fase de pruebas, se recomienda comenzar el proceso de validación con la auditoría de los recursos existentes. Es probable que un cambio en la definición de directiva para un falso positivo en los recursos nuevos o actualizados también afecte a los recursos existentes.

Implementación de la directiva en los recursos

Después de completar la validación de la nueva definición de directiva con los recursos existentes y las solicitudes de recursos nuevos o actualizados, comienza el proceso de implementación de directiva. Se recomienda crear en primer lugar la asignación de directiva para la nueva definición de directiva en un subconjunto de todos los recursos, como un grupo de recursos. Puede filtrar aún más por tipo de recurso o ubicación si usa la propiedad resourceSelectors dentro de la asignación de directiva. Después de validar la implementación inicial, amplíe el ámbito de la directiva a un grupo de recursos más amplio. Una vez validada la implementación inicial, expanda el impacto de la directiva mediante el ajuste de los filtros resourceSelector para dirigirse a más ubicaciones o tipos de recursos, o quitando la asignación y reemplazándola por una nueva en ámbitos más amplios, como grupos de administración y suscripciones. Continúe con esta implementación gradual hasta que se asigne al ámbito completo de los recursos que debe cubrir la nueva definición de directiva.

Durante el lanzamiento, si se encuentran recursos que deben estar exentos de la nueva definición de directiva, puede solucionarlos de una de las siguientes maneras:

  • Actualización de la definición de directiva para que sea más explícita para reducir el impacto imprevisto
  • Cambio del ámbito de la asignación de directivas (al eliminar y crear una nueva asignación)
  • Adición del grupo de recursos a la lista de exclusión para la asignación de directivas

Cualquier cambio en el ámbito (nivel o exclusiones) debe validarse y comunicarse completamente con las organizaciones de seguridad y cumplimiento para garantizar que no haya lagunas en la cobertura.

Supervisión de la directiva y cumplimiento

La implementación y asignación de la definición de directiva no es el paso final. Supervise continuamente el nivel de cumplimiento de los recursos con la nueva definición de directiva y configure las alertas y notificaciones de Azure Monitor adecuadas para la configuración de los dispositivos no compatibles. También se recomienda evaluar la definición de directiva y las asignaciones relacionadas de forma programada para validar que la definición de directiva cumple las necesidades de cumplimiento y directivas empresariales. Las directivas deben quitarse si ya no se necesitan. Las directivas también necesitan actualizarse de vez en cuando a medida que los recursos de Azure subyacentes evolucionan y agregan nuevas propiedades y funcionalidades.

Pasos siguientes