Efecto de auditoría de definiciones de Azure Policy
El efecto de audit
se utiliza para crear un evento de advertencia en el registro de actividad cuando se evalúa un recurso no compatible, pero no se detiene la solicitud.
Evaluación de audit
Audit es el último efecto que Azure Policy comprueba durante la creación o actualización de un recurso. Para un modo de Administrador de recursos, Azure Policy envía el recurso al proveedor de recursos. Al evaluar una solicitud de creación o actualización para un recurso, Azure Policy agrega una operación Microsoft.Authorization/policies/audit/action
al registro de actividad y marca el recurso como no compatible. Durante un ciclo de evaluación de cumplimiento estándar, solo se actualiza el estado de cumplimiento en el recurso.
Propiedades de audit
Para un modo de Resource Manager, el efecto de auditoría no tiene propiedades adicionales para su uso en la condición then
de la definición de directiva.
En el modo de Proveedor de recursos de Microsoft.Kubernetes.Data
, el efecto de auditoría tiene las siguientes subpropiedades de details
. El uso de templateInfo
es necesario para las definiciones de directiva nuevas o actualizadas, ya que constraintTemplate
está en desuso.
templateInfo
(obligatorio)- No se puede usar con
constraintTemplate
. sourceType
(obligatorio)Define el tipo de origen de la plantilla de restricciones. Valores permitidos:
PublicURL
oBase64Encoded
.Si
PublicURL
, emparejado con propiedadurl
para proporcionar la ubicación de la plantilla de restricción. La ubicación debe ser públicamente accesible.Advertencia
No use identificadores uniformes de recursos de SAS, tokens de dirección URL ni nada que pueda revelar secretos en texto sin formato.
Si
Base64Encoded
, emparejado con la propiedadcontent
para proporcionar la plantilla de restricción codificada en base 64. Consulte Creación de una definición de directiva a partir de una plantilla de restricción para crear una definición de directiva personalizada a partir de una plantilla de restricción Gatekeeper v3 de Open Policy Agent (OPA).
- No se puede usar con
constraint
(en desuso)- No se puede usar con
templateInfo
. - La implementación de CRD de la plantilla de restricción. Usa parámetros pasados a través de
values
como{{ .Values.<valuename> }}
. En el ejemplo 2 siguiente, estos valores son{{ .Values.excludedNamespaces }}
y{{ .Values.allowedContainerImagesRegex }}
.
- No se puede usar con
constraintTemplate
(en desuso)- No se puede usar con
templateInfo
. - Debe reemplazarse por
templateInfo
al crear o actualizar una definición de directiva. - La plantilla de restricción CustomResourceDefinition (CRD) que define nuevas restricciones. La plantilla define la lógica de Rego, el esquema de restricción y los parámetros de restricción que se pasan a través de
values
en Azure Policy. Para más información, vaya a Restricciones de Gatekeeper.
- No se puede usar con
constraintInfo
(opcional)- No puede ser usado con
constraint
,constraintTemplate
,apiGroups
,kinds
,scope
,namespaces
,excludedNamespaces
, olabelSelector
. - Si
constraintInfo
no se proporciona, la restricción se puede generar a partir detemplateInfo
y la directiva. sourceType
(obligatorio)Define el tipo de origen para la restricción. Valores permitidos:
PublicURL
oBase64Encoded
.Si
PublicURL
, emparejado con la propiedadurl
para proporcionar la ubicación de la restricción. La ubicación debe ser públicamente accesible.Advertencia
No use el URI de SAS ni tokens en
url
ni nada que pueda exponer un secreto.
- No puede ser usado con
namespaces
(opcional)- Una matriz de espacios de nombres de Kubernetes a la que limitar la evaluación de directivas.
- Un valor vacío o que falta hace que la evaluación de la directiva incluya todos los espacios de nombres no definidos en excludedNamespaces.
excludedNamespaces
(opcional)- Una matriz de espacios de nombres de Kubernetes que se excluirán de la evaluación de directivas.
labelSelector
(opcional)- Un objeto que incluye las propiedades matchLabels (objeto) y matchExpression (matriz) para permitir especificar qué recursos de Kubernetes se deben incluir para la evaluación de las directivas que coincidieron con las etiquetas y selectores proporcionados.
- Un valor vacío o que falta provoca que la evaluación de la directiva incluya todas las etiquetas y selectores, excepto los espacios de nombres definidos en excludedNamespaces.
scope
(opcional)- Una cadena que incluye la propiedad ámbito para permitir especificar si se buscan recursos de ámbito de clúster o de espacio de nombres.
apiGroups
(necesario al usar templateInfo)- Una matriz que incluye los grupos API que deben coincidir. Una matriz vacía (
[""]
) es el grupo de API principal. - No se permite definir
["*"]
para apiGroups.
- Una matriz que incluye los grupos API que deben coincidir. Una matriz vacía (
kinds
(necesario al usar templateInfo)- Una matriz que incluye el tipo de objeto de Kubernetes al que se debe limitar la evaluación.
- No se permite definir
["*"]
para kinds.
values
(opcional)- Define cualquier parámetro y valor para pasar a la restricción. Cada valor debe existir y coincidir con una propiedad de la sección
openAPIV3Schema
de validación de la plantilla de restricción CRD.
- Define cualquier parámetro y valor para pasar a la restricción. Cada valor debe existir y coincidir con una propiedad de la sección
Ejemplo de audit
Ejemplo 1: Uso del efecto audit para los modos de Administrador de recursos.
"then": {
"effect": "audit"
}
Ejemplo 2: Uso del efecto audit para un modo de Proveedor de recursos de Microsoft.Kubernetes.Data
. La información adicional de details.templateInfo
declara el uso de PublicURL
y establece url
en la ubicación de la plantilla Restricción que se va a usar en Kubernetes para limitar las imágenes de contenedor permitidas.
"then": {
"effect": "audit",
"details": {
"templateInfo": {
"sourceType": "PublicURL",
"url": "https://store.policy.core.windows.net/kubernetes/container-allowed-images/v1/template.yaml",
},
"values": {
"imageRegex": "[parameters('allowedContainerImagesRegex')]"
},
"apiGroups": [
""
],
"kinds": [
"Pod"
]
}
}
Pasos siguientes
- Puede consultar ejemplos en Ejemplos de Azure Policy.
- Revise la estructura de definición de Azure Policy.
- 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.
- Revise Grupos de administración de Azure.