Información sobre las directivas
La aplicación de una directiva a los recursos con Azure Policy implica los siguientes pasos de alto nivel:
- Definición de la directiva. Crear una definición de directiva
- Asignación de la directiva. Asignación de una definición a un ámbito de recursos.
- Corrección. Revisión de los resultados de la evaluación de la directiva y solución de los incumplimientos.
Definición de directiva
Una definición de directiva especifica los recursos que se evaluarán y las acciones que se deben realizar en ellos. Por ejemplo, podría impedir que las VM se implementaran en el caso de estar expuestas a una dirección IP pública. También podría impedir la implementación de VM de un disco duro específico para controlar los costos. Las directivas se definen en el formato de notación de objetos JavaScript (JSON).
En el ejemplo siguiente se define una directiva que limita dónde se pueden implementar los recursos:
{
"properties": {
"mode": "all",
"parameters": {
"allowedLocations": {
"type": "array",
"metadata": {
"description": "The list of locations that can be specified when deploying resources",
"strongType": "location",
"displayName": "Allowed locations"
}
}
},
"displayName": "Allowed locations",
"description": "This policy enables you to restrict the locations your organization can specify when deploying resources.",
"policyRule": {
"if": {
"not": {
"field": "location",
"in": "[parameters('allowedLocations')]"
}
},
"then": {
"effect": "deny"
}
}
}
}
En la lista siguiente se muestra un ejemplo de definiciones de directiva:
- Allowed Storage Account SKUs (SKU permitidas de cuentas de almacenamiento) (denegar): determina si una cuenta de almacenamiento que se va a implementar se engloba dentro de un conjunto de tamaños de SKU. Su efecto es denegar todas las cuentas de almacenamiento que no cumplen el conjunto de tamaños de SKU definidos.
- Allowed Resource Type (Tipo de recurso permitido) (denegar): define los tipos de recursos que se pueden implementar. Su efecto es denegar todos los recursos que no forman parte de esta lista definida.
- Ubicaciones permitidas (denegar): restringe las ubicaciones disponibles para los nuevos recursos. Su efecto se utiliza para exigir los requisitos de cumplimiento de replicación geográfica.
- SKU de máquina virtual permitidas (denegar): especifica un conjunto de SKU de máquina virtual que se pueden implementar.
- Agregar una etiqueta a los recursos (modificar): aplica una etiqueta obligatoria y su valor predeterminado si la solicitud de implementación no la especifica.
- Not allowed resource types (Tipos de recursos no permitidos) (denegar): impide la implementación de una lista de tipos de recursos.
Asignación de directiva
Es necesario asignar definiciones de directivas, ya sean personalizadas o integradas.
Una asignación de directiva es una definición de directiva que se ha asignado a ámbito específico. Los ámbitos pueden abarcar desde un grupo de administración a un grupo de recursos.
Los recursos secundarios heredarán las asignaciones de directivas aplicadas a sus elementos principales.
Esto significa que si una directiva se aplica a un grupo de recursos, se aplica también a todos los recursos dentro del grupo.
Sin embargo, puede definir ámbitos secundarios para excluir recursos de las asignaciones de directivas.
Puede asignar directivas a través de:
- Azure Portal.
- Azure CLI.
- PowerShell.
Corrección
Los recursos que no sigan una condición de directiva deployIfNotExists o modify se pueden poner en un estado conforme a través de la corrección.
La corrección indica a Azure Policy que ejecute el efecto de deployIfNotExists o las operaciones de etiqueta de la directiva en los recursos existentes.
Para minimizar el desfase de la configuración, puede llevar los recursos al cumplimiento mediante la corrección masiva automatizada en lugar revisarlos de uno en uno.
Puede leer más sobre Azure Policy en la página web de Azure Policy.