Estructura de exención de Azure Policy
La característica de exenciones de Azure Policy (versión preliminar) se usa para eximir una jerarquía de recursos o un recurso individual de la evaluación de iniciativas o definiciones. Los recursos que están exentos cuentan para el cumplimiento general, pero no se pueden evaluar ni tienen una renuncia temporal. Para obtener más información, vea Descripción del ámbito de Azure Policy. Las exenciones de Azure Policy solo funcionan con los modos de Resource Manager y no con los modos del proveedor de recursos.
Importante
Esta característica es gratuita durante la versión preliminar. Para obtener información detallada sobre los precios, vea Precios de Azure Policy. Para más información sobre las versiones preliminares, consulte Términos de uso complementarios de las versiones preliminares de Microsoft Azure.
Use JSON para crear una exención de directiva. La exención de directiva contiene elementos para:
- nombre para mostrar
- description
- metadata
- asignación de directiva
- definiciones de directivas en una iniciativa
- categoría de exención
- expiration
Nota
Una exención de directiva se crea como un objeto secundario en la jerarquía de recursos o el recurso individual a los que se ha concedido la exención, por lo que el destino no está incluido en la definición de la exención.
Por ejemplo, en el siguiente JSON se puede ver una exención de directiva de la categoría de renuncia de un recurso en una asignación de iniciativa denominada resourceShouldBeCompliantInit. El recurso está exento solo de dos de las definiciones de directiva de la iniciativa, la definición de directiva personalizada customOrgPolicy (referencia requiredTags) y la definición de directiva integrada "Allowed locations" (id.: e56962a6-4747-49cd-b67b-bf8b01975c4c, referencia allowedLocations):
{
"id": "/subscriptions/{subId}/resourceGroups/ExemptRG/providers/Microsoft.Authorization/policyExemptions/resourceIsNotApplicable",
"name": "resourceIsNotApplicable",
"type": "Microsoft.Authorization/policyExemptions",
"properties": {
"displayName": "This resource is scheduled for deletion",
"description": "This resources is planned to be deleted by end of quarter and has been granted a waiver to the policy.",
"metadata": {
"requestedBy": "Storage team",
"approvedBy": "IA",
"approvedOn": "2020-07-26T08:02:32.0000000Z",
"ticketRef": "4baf214c-8d54-4646-be3f-eb6ec7b9bc4f"
},
"policyAssignmentId": "/subscriptions/{mySubscriptionID}/providers/Microsoft.Authorization/policyAssignments/resourceShouldBeCompliantInit",
"policyDefinitionReferenceIds": [
"requiredTags",
"allowedLocations"
],
"exemptionCategory": "waiver",
"expiresOn": "2020-12-31T23:59:00.0000000Z"
}
}
Fragmento de código de la iniciativa relacionada con el elemento policyDefinitionReferenceIds coincidente usado por la exención de directiva:
"policyDefinitions": [
{
"policyDefinitionId": "/subscriptions/{mySubscriptionID}/providers/Microsoft.Authorization/policyDefinitions/customOrgPolicy",
"policyDefinitionReferenceId": "requiredTags",
"parameters": {
"reqTags": {
"value": "[parameters('init_reqTags')]"
}
}
},
{
"policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/e56962a6-4747-49cd-b67b-bf8b01975c4c",
"policyDefinitionReferenceId": "allowedLocations",
"parameters": {
"listOfAllowedLocations": {
"value": "[parameters('init_listOfAllowedLocations')]"
}
}
}
]
Nombre para mostrar y descripción
Use displayName y description para identificar la exención de directiva y proporcionar contexto para su uso con el recurso específico. displayName tiene una longitud máxima de 128 caracteres y description tiene una longitud máxima de 512 caracteres.
Metadatos
La propiedad metadata permite crear cualquier propiedad secundaria necesaria para almacenar información relevante. En el ejemplo anterior, las propiedades requestedBy, approvedBy, approvedOn y ticketRef contienen valores del cliente para proporcionar información sobre quién ha solicitado la exención, quién y cuándo la ha aprobado, y un vale de seguimiento interno de la solicitud. Estas propiedades metadata son ejemplos, pero no son necesarias, y metadata no se limita a estas propiedades secundarias.
Id. de asignación de directiva
Este campo debe ser el nombre de la ruta de acceso completa de una asignación de directiva o una asignación de iniciativa.
policyAssignmentId es una cadena y no una matriz. Esta propiedad define de qué asignación está exenta la jerarquía de recursos primaria o el recurso individual.
Identificadores de definición de directiva
Si policyAssignmentId corresponde a una asignación de iniciativa, se puede usar la propiedad policyDefinitionReferenceIds para especificar las definiciones de directiva de la iniciativa en las que el recurso del asunto tiene una exención. Como el recurso puede estar exento de una o varias definiciones de directivas incluidas, esta propiedad es una matriz. Los valores deben coincidir con los valores de la definición de iniciativa de los campos policyDefinitions.policyDefinitionReferenceId.
Categoría de exención
Existen dos categorías de exención y se usan para agrupar las exenciones:
- Mitigada: Se concede la exención porque la intención de la directiva se alcanza a través de otro método.
- Renuncia: Se concede la exención porque el estado de no cumplimiento del recurso se acepta temporalmente. Otra razón para usar esta categoría es para una jerarquía de recursos o recursos que se debe excluir de una o más definiciones en una iniciativa, pero no debe excluirse de toda la iniciativa.
Expiration
Para establecer cuándo una jerarquía de recursos o un recurso individual ya no están exentos de una asignación, establezca la propiedad expiresOn. Esta propiedad opcional debe tener el formato DateTime universal ISO 8601 yyyy-MM-ddTHH:mm:ss.fffffffZ.
Nota
Las exenciones de directiva no se eliminan cuando se alcanza la fecha expiresOn. El objeto se conserva para el mantenimiento de registros, pero ya no se respeta la exención.
Permisos necesarios
Los permisos RBAC de Azure necesarios para administrar objetos de exención de directiva se encuentran en el grupo de operaciones Microsoft.Authorization/policyExemptions. Los roles integrados Colaborador de la directiva de recursos y Administrador de seguridad tienen los permisos read y write, y Escritor de datos de Policy Insights (versión preliminar) tiene el permiso read.
Las exenciones tienen medidas de seguridad adicionales debido al impacto de la concesión de una exención. Además de exigir la operación Microsoft.Authorization/policyExemptions/write en la jerarquía de recursos o el recurso individual, el creador de una exención debe tener el verbo exempt/Action en la asignación de destino.
Pasos siguientes
- Más información sobre la estructura de la definición de directiva.
- Obtenga información acerca de cómo se pueden crear directivas mediante programación.
- Obtenga información sobre cómo obtener datos de cumplimiento.
- Obtenga información sobre cómo corregir recursos no compatibles.
- En Organización de los recursos con grupos de administración de Azure, obtendrá información sobre lo que es un grupo de administración.