Eventos
Realizar el desafío de Microsoft Learn
19 nov, 23 - 10 ene, 23
Ignite Edition: cree aptitudes en Microsoft Azure y obtenga un distintivo digital el 10 de enero.
Regístrese ahoraEste explorador ya no se admite.
Actualice a Microsoft Edge para aprovechar las características y actualizaciones de seguridad más recientes, y disponer de soporte técnico.
Antes de usar directivas, debe saber dónde se usan en las implementaciones de referencia de la zona de aterrizaje de Azure y porqué. Este artículo le ayudará a comprender si desea impedir que las directivas DeployIfNotExists (DINE) o Modify realicen cambios en el entorno de Azure.
Las directivas DINE y Modify forman parte de las implementaciones de referencia de la zona de aterrizaje de Azure. Le ayudan a usted y a su organización a garantizar que las zonas de aterrizaje, que también se conocen como suscripciones, y los recursos que se encuentran en ellas sean compatibles. Estas directivas también eliminan la carga operativa de los equipos de plataforma y zona de aterrizaje a medida que se escala el entorno de Azure.
Por ejemplo, considere un escenario en el que se aprovisiona una nueva suscripción de zona de aterrizaje y se coloca en el grupo de administración "corp". Después, las directivas DINE y Modify llevan a cabo las siguientes acciones para la suscripción a la zona de aterrizaje:
Nota
Puede deshabilitar las opciones anteriores en cualquier momento o durante la puesta en práctica de las implementaciones de referencia de la zona de aterrizaje de Azure.
En la lista anterior se muestra un subconjunto de todas las directivas que se asignan como parte del acelerador de zona de aterrizaje de Azure. Para obtener una lista completa de las directivas que se pueden asignar mediante la implementación de referencia de la zona de aterrizaje de Azure, consulte Directivas incluidas en las implementaciones de referencia de zonas de aterrizaje.
El repositorio de Bicep de zonas de aterrizaje de Azure es modular. Las directivas predeterminadas anteriores se pueden implementar con el módulo Asignaciones de directivas predeterminadas de ALZ.
Todas las directivas asignadas le ayudan a usted y a los propietarios de la zona de aterrizaje a seguir siendo compatibles. No se implementan recursos de carga de trabajo reales a través de las directivas DINE o Modify. Esta opción no se recomienda. Para más información, consulte ¿Debemos usar Azure Policy para implementar cargas de trabajo?. Solo los recursos o valores auxiliares o de apoyo se implementan o configuran mediante estas directivas DINE.
Las implementaciones de referencia de las zonas de aterrizaje de Azure usan directivas de Azure DINE para ayudarle a lograr una gobernanza controlada por directivas dentro de su entorno de Azure. Sin embargo, es posible que no pueda usar las directivas DINE o Modify o que no esté listo para habilitar este tipo de efecto de directiva de Azure debido a lo siguiente:
Si se ajusta a los ejemplos anteriores o a escenarios similares, este artículo le ayudará a comprender cómo adoptar la arquitectura conceptual de la zona de aterrizaje de Azure y a cumplir sus principios de diseño. Aunque inicialmente no usará ciertas directivas, puede optar por habilitarlas gradualmente en el futuro. El objetivo es ayudarle a lograr una gobernanza controlada por directivas.
Importante
En este artículo, verá dos valores posibles que se usan para los términos del modo de cumplimiento:
Azure Portal usa Deshabilitado y Habilitado para el modo de cumplimiento. Las plantillas de Azure Resource Manager (ARM) y otras interfaces de API usan DoNotEnforce y Predeterminado para las mismas opciones.
Para más información, consulte Modo de cumplimiento.
Si todavía está seguro de que su organización no puede usar las directivas DINE o Modify, en este artículo se explica cómo evitar (también conocida como deshabilitación) que las directivas realicen cambios automáticos en el entorno de Azure.
Nota
Esta operación no es permanente. Un miembro del equipo de la plataforma puede volver a habilitar las directivas en cualquier momento si posteriormente decide usar las directivas DINE o Modify.
Para obtener más información, consulte la fase 2 y la fase 3.
La compatibilidad con selectores de recursos también es aplicable a la gobernanza controlada por directivas para asegurarse de que se cumplen los procedimientos de implementación seguros (SDP). Los selectores de recursos proporcionan la funcionalidad de la implementación gradual de asignaciones de directivas en función de factores como la ubicación del recurso, el tipo de recurso o si el recurso tiene una ubicación. Puede encontrar más en este documento.
En el diagrama siguiente se resume el enfoque por fases sugerido:
DoNotEnforce
en Asignaciones de directiva: Default
en Asignaciones de directivas para volver a habilitar la corrección automática de asignaciones de directivas DINE en un ámbito reducido: Default
en Asignaciones de directiva en las directivas DINE restantes en todo el entorno de Azure.Debido a las restricciones de cumplimiento normativo, algunos clientes nunca pueden pasar de la fase 1. Esto no es un problema y se admite la permanencia en este estado, si es necesario. Otros clientes puedan avanzar a las fases 2 y 3 para adoptar completamente las directivas DINE y Modify para ayudar con la gobernanza controlada por directivas para su entorno de Azure.
Nota
El escenario y enfoque descritos en este artículo no están pensados ni recomendados para la mayoría de los clientes. Revise la sección ¿Por qué usar las directivas DINE y Modify? antes de decidir si estas directivas son adecuadas y necesarias para su entorno.
Al asignar una directiva, se aplicará de manera predeterminada el efecto definido en la definición de directiva. Se recomienda dejar la definición de directiva tal y como está. Por ejemplo, deje el efecto de asignación de directiva como DeployIfNotExists
.
En lugar de cambiar la definición de la directiva o su efecto, puede influir en este comportamiento con un esfuerzo mínimo mediante el uso de la característica en las asignaciones de directivas.
En esta captura de pantalla se muestra cómo usar Azure Portal para establecer el modo de cumplimiento en Deshabilitado en una asignación de directiva. Deshabilitado también se conoce como DoNotEnforce.
En este ejemplo de código se muestra cómo usar una plantilla de ARM para establecer enforcementMode
en DoNotEnforce
en una asignación de directiva. DoNotEnforce
también se conoce como Disabled
.
{
"type": "Microsoft.Authorization/policyAssignments",
"apiVersion": "2019-09-01",
"name": "PolicyAssignmentName",
"location": "[deployment().location]",
"properties": {
"description": "PolicyAssignmentDescription",
"policyDefinitionId": "[parameters('policyDefinitionId')]",
"enforcementMode": "DoNotEnforce"
… // other properties removed for display purposes
}
}
Al usar el Modo de cumplimiento, puede ver el efecto de una directiva en los recursos existentes sin necesidad de iniciarla ni de desencadenar entradas en el registro de actividad de Azure. Este escenario se conoce comúnmente como "What If" y se alinea con las prácticas de implementación segura.
Incluso cuando el modo de cumplimiento está establecido en DoNotEnforce
, las tareas de corrección se pueden desencadenar manualmente. Puede corregir recursos no compatibles específicos. También puede ver lo que habría hecho la directiva DINE o Modify si el modo de cumplimiento se hubiera establecido en Default
.
Importante
Cuando el modo de cumplimiento está establecido en DoNotEnforce
, no se generan entradas en el registro de actividad de Azure. Tenga en cuenta este factor si desea recibir una notificación cuando se cree un recurso no compatible.
Como se mencionó en la sección Información general del enfoque, es posible que algunos clientes deban permanecer en la fase 1 durante un largo período o incluso de forma permanente debido a sus requisitos. Este estado es válido y los clientes pueden permanecer en él durante cualquier período de tiempo.
Quizás necesite permanecer en este estado de forma permanente o durante un largo período, como años. En ese caso, puede que sea mejor que adopte el efecto de directiva AuditIfNotExists
(AINE) y las definiciones asociadas, y que vuelva a establecer el modo de cumplimiento en Default
.
Nota
Al cambiar para usar una directiva AINE y establecer el Modo de cumplimiento en Default
, seguirá logrando el mismo objetivo de deshabilitar DINE.
Al cambiar de DINE a AINE y volver a establecer el modo de cumplimiento en Default
como un enfoque a largo plazo o permanente para la fase 1, recuperará las entradas del registro de actividad de Azure para los estados de cumplimiento de directivas. Puede compilar flujos de trabajo de automatización a partir de estas entradas de registro en las operaciones generales de administración de la plataforma.
Perderá la capacidad de realizar tareas de corrección manual. A diferencia de las directivas DINE, las directivas AINE no realizan ninguna implementación, ya sea automatizada o manual.
No olvide actualizar la definición de directiva para aceptar y permitir el efecto de asignación de directiva AuditIfNotExists
.
En la tabla siguiente se resumen las opciones y consecuencias para la combinación de los distintos tipos de efectos de directiva y modo de cumplimiento:
Efecto de la directiva | Modo de cumplimiento | Entrada de registro de actividad | Acción correctiva |
---|---|---|---|
DINE | Habilitado o Predeterminado | Sí | Corrección desencadenada por la plataforma en el examen después de la creación o actualización de recursos. Se requiere la creación manual de una tarea de corrección si el recurso dependiente se modifica o ya existe antes de la asignación de directiva. |
DINE | Deshabilitado o DoNotEnforce | No | Se requiere la creación manual de una tarea de corrección. |
Modificar | Habilitado o Predeterminado | Sí | Corrección automática durante la creación o actualización. |
Modificar | Deshabilitado o DoNotEnforce | No | Se requiere la creación manual de una tarea de corrección. |
Denegar | Habilitado o Predeterminado | Sí | Creación o actualización denegadas. |
Denegar | Deshabilitado o DoNotEnforce | No | Creación o actualización permitidas. Se requiere una corrección manual. |
Audit/AINE | Habilitado o Predeterminado | Sí | Se requiere una corrección manual. |
Audit/AINE | Deshabilitado o DoNotEnforce | No | Se requiere una corrección manual. |
Nota
Revise las instrucciones de Reacción a los eventos de cambio de estado de Azure Policy para saber si el uso de la integración de Azure Event Grid en Azure Policy ofrece un enfoque adecuado si planea crear su propia automatización basada en eventos de estado de directiva.
En esta fase, aprenderá a establecer el modo de cumplimiento en Default
en las asignaciones de directivas.
Después de haber completado la fase 1, decide que quiere probar todas las funcionalidades de automatización de las directivas DINE y Modify en una directiva específica o en un ámbito reducido. Quiere usar el grupo de administración de espacio aislado o una suscripción de carga de trabajo que no es de producción.
Para realizar este procedimiento, primero tendrá que identificar la directiva o el ámbito reducido que se usarán para probar y comprobar las funcionalidades de automatización completa de las directivas DINE y Modify.
Nota
Es posible que quiera revisar e implementar un enfoque de pruebas para una plataforma de escala empresarial. De esta manera, puede probar las directivas y otros cambios de plataforma en una jerarquía de grupos de administración separada dentro del mismo inquilino.
Este enfoque también se conoce como una implementación de "valor controlado".
En la tabla siguiente se muestran algunos ejemplos sugeridos de ámbitos y directivas:
Si desea... | Elija uno de estos ámbitos | Directivas de ejemplo para usar |
---|---|---|
- Probar las funcionalidades de corrección automatizada de DINE/Modify. - Comprobar cómo pueden verse afectados los procesos de implementación completos y las canalizaciones de CI/CD (incluidas las pruebas). - Comprobar cómo puede verse afectada la carga de trabajo. |
- Suscripción a espacio aislado - Grupo de administración de espacio aislado - Suscripción a zona de aterrizaje de cargas de trabajo que no son de producción - Entorno de "valor controlado" a escala empresarial |
- Configure registros de actividad de Azure para transmitirlos al área de trabajo especificada de Log Analytics. - Implemente la configuración de Defender for Cloud. - Habilite Azure Monitor para VM o Virtual Machine Scale Sets. - Implemente la configuración diagnóstico en los servicios de Azure. - Posiblemente solo se habilite para servicios específicos dentro de la iniciativa. |
También puede decidir usar una tarea de corrección manual en un ámbito o conjunto limitado de recursos para probar cómo afectarán estas directivas a su entorno. Para obtener más información sobre cómo crear una tarea de corrección, vea la documentación de Azure Policy Creación de una tarea de corrección.
Después de identificar una directiva, o directivas, y el ámbito reducido para asignarlas, el siguiente paso es asignar la directiva y establecer el modo de cumplimiento en Default
. Deje el efecto de la directiva, por ejemplo, DeployIfNotExists
o Modify
, tal como está en el ámbito reducido que ha seleccionado.
En esta captura de pantalla se muestra cómo usar Azure Portal para establecer el modo de cumplimiento en Habilitado en una asignación de directiva. Habilitado también se conoce como Predeterminado.
En este ejemplo de código se muestra cómo usar una plantilla de ARM para establecer enforcementMode
en Default
en una asignación de directiva. Default
también se conoce como Enabled
.
{
"type": "Microsoft.Authorization/policyAssignments",
"apiVersion": "2019-09-01",
"name": "PolicyAssignmentName",
"location": "[deployment().location]",
"properties": {
"description": "PolicyAssignmentDescription",
"policyDefinitionId": "[parameters('policyDefinitionId')]",
"enforcementMode": "Default"
… // other properties removed for display purposes
}
}
El último paso de esta fase es realizar las pruebas necesarias. Debe comprobar si las directivas DINE o Modify pueden haber afectado a las cargas de trabajo, el código, las herramientas y los procesos y si han realizado cambios en estos elementos.
Realice varias pruebas para capturar todo el ciclo de vida de la carga de trabajo. Debe asegurarse de que comprende totalmente si las directivas DINE o Modify realizaron cambios y cómo lo hicieron.
Algunos ejemplos de pruebas son:
En esta fase, aprenderá a establecer el modo de cumplimiento en Default
en las asignaciones de directivas.
Se supone que las pruebas al final de la fase 2 se realizaron correctamente. O bien, quizás esté satisfecho de que ahora comprende cómo interactúan las directivas DINE o Modify con la carga de trabajo. Ahora puede expandir el uso de las directivas DINE y Modify en el resto del entorno de Azure.
Para continuar, siga los pasos que son similares a los pasos de la fase 2. Esta vez, establecerá el modo de cumplimiento en Default
en todas las asignaciones de directivas DINE y Modify en todo el entorno de Azure.
Esta es una introducción de alto nivel de los pasos que se hacen en esta fase:
Default
. Este proceso se muestra en los ejemplos de la fase 2.Aunque en la fase 3 se recomienda establecer el modo de cumplimiento en Default
para todas las directivas DINE y Modify en el entorno de Azure, esta opción sigue siendo opcional. Puede elegir esta opción por directiva para satisfacer sus necesidades y requisitos.
Para la administración avanzada de Azure Policy a gran escala, considere la posibilidad de implementar Enterprise Policy as Code (EPAC) para administrar la directiva. EPAC proporciona una experiencia de administración con estado que usa IaC. Por lo general, se adapta a grandes escenarios de administración de directivas con requisitos complejos.
Eventos
Realizar el desafío de Microsoft Learn
19 nov, 23 - 10 ene, 23
Ignite Edition: cree aptitudes en Microsoft Azure y obtenga un distintivo digital el 10 de enero.
Regístrese ahora