Effet d’audit des définitions Azure Policy
L’effet audit
est utilisé pour créer un événement d’avertissement dans le journal d’activité lors de l’évaluation d’une ressource non conforme, mais il n’arrête pas la requête.
Évaluation Audit
Audit est le dernier effet vérifié par Azure Policy pendant la création ou la mise à jour d’une ressource. Pour un mode Gestionnaire des ressources, Azure Policy envoie ensuite la ressource au fournisseur de ressources. Lors de l’évaluation d’une requête de création ou de mise à jour pour une ressource, Azure Policy ajoute une opération Microsoft.Authorization/policies/audit/action
au journal d’activité et marque la ressource comme non conforme. Pendant un cycle d’évaluation de conformité standard, seul l’état de conformité de la ressource est mis à jour.
Propriétés d’Audit
Pour un mode Resource Manager, l’effet d’audit n’a aucune autre propriété à utiliser dans la condition then
de la définition de stratégie.
Pour un mode fournisseur de ressources de Microsoft.Kubernetes.Data
, l’effet d’audit a les sous-propriétés suivantes de details
. L’utilisation de templateInfo
est requise pour les définitions de stratégie nouvelles ou mises à jour, compte tenu du fait que constraintTemplate
est déconseillé.
templateInfo
(requis)- Impossible à utiliser avec
constraintTemplate
. sourceType
(requis)Définit le type de source pour le modèle de contrainte. Valeurs autorisées :
PublicURL
ouBase64Encoded
.Si
PublicURL
, associé à la propriétéurl
pour fournir l’emplacement du modèle de contrainte. L'emplacement doit être accessible publiquement.Avertissement
N’utilisez pas d’URI SAS, de jetons d’URL ou d’autres éléments susceptibles d’exposer des secrets en texte brut.
Si
Base64Encoded
, associé à la propriétécontent
pour fournir le modèle de contrainte encodé en base 64. Consultez Créer une définition de stratégie à partir d’un modèle de contrainte pour créer une définition personnalisée à partir d’un modèle de contrainteOpen Policy Agent (OPA) Gatekeeper v3.
- Impossible à utiliser avec
constraint
(déconseillé)- Impossible à utiliser avec
templateInfo
. - Implémentation CRD du modèle de contrainte. Utilise les paramètres transmis via
values
en tant que{{ .Values.<valuename> }}
. Dans l’exemple 2 ci-dessous, ces valeurs sont{{ .Values.excludedNamespaces }}
et{{ .Values.allowedContainerImagesRegex }}
.
- Impossible à utiliser avec
constraintTemplate
(déconseillé)- Impossible à utiliser avec
templateInfo
. - Doit être remplacé par
templateInfo
lors de la création ou de la mise à jour d’une définition de stratégie. - Modèle de contrainte CustomResourceDefinition (CRD) qui définit de nouvelles contraintes. Le modèle définit la logique Rego, le schéma de contrainte et les paramètres de contrainte transmis via
values
à partir d’Azure Policy. Pour plus d’informations, consultez Contraintes Gatekeeper.
- Impossible à utiliser avec
constraintInfo
(facultatif)- Ne peut pas être utilisé avec
constraint
,constraintTemplate
,apiGroups
,kinds
,scope
,namespaces
,excludedNamespaces
, oulabelSelector
. - Si
constraintInfo
n’est pas fourni, la contrainte peut être générée à partir detemplateInfo
et de la stratégie. sourceType
(requis)Définit le type de source pour la contrainte. Valeurs autorisées :
PublicURL
ouBase64Encoded
.Si
PublicURL
, associé à la propriétéurl
pour fournir l’emplacement de la contrainte. L'emplacement doit être accessible publiquement.Avertissement
N’utilisez pas d’URI ou de jetons SAS dans
url
ou tout autre élément susceptible d’exposer un secret.
- Ne peut pas être utilisé avec
namespaces
(facultatif)- Tableau des espaces de noms Kubernetes auxquels limiter l’évaluation de la stratégie.
- En cas de valeur vide ou manquante, l’évaluation de la stratégie inclut tous les espaces de noms non définis dans excludedNamespaces.
excludedNamespaces
(facultatif)- Tableau des espaces de noms Kubernetes à exclure de l’évaluation de la stratégie.
labelSelector
(facultatif)- Objet qui inclut des propriétés matchLabels (objet) et MatchExpression (tableau) pour permettre de spécifier les ressources Kubernetes à inclure pour l’évaluation de stratégie correspondant aux étiquettes et aux sélecteurs fournis.
- En cas de valeur vide ou manquante, l’évaluation de la stratégie inclut tous les sélecteurs et étiquettes, à l’exception de espaces de noms définis dans excludedNamespaces.
scope
(facultatif)- Une chaîne contenant la propriété étendue pour permettre de spécifier si les ressources étendues au cluster ou à l’espace de noms sont mises en correspondance.
apiGroups
(obligatoire lors de l’utilisation de templateInfo)- Tableau qui inclut les groupes d’API à mettre en correspondance. Un tableau vide (
[""]
) correspond au groupe d’API principal. - La définition de
["*"]
pour apiGroups n’est pas autorisée.
- Tableau qui inclut les groupes d’API à mettre en correspondance. Un tableau vide (
kinds
(obligatoire lors de l’utilisation de templateInfo)- Tableau qui inclut le type d’objet Kubernetes auquel limiter l’évaluation.
- La définition de
["*"]
pour kinds n’est pas autorisée.
values
(facultatif)- Définit des paramètres et valeurs à transmettre à la contrainte. Chaque valeur doit exister et correspondre à une propriété dans la section de validation
openAPIV3Schema
du modèle de contrainte CRD.
- Définit des paramètres et valeurs à transmettre à la contrainte. Chaque valeur doit exister et correspondre à une propriété dans la section de validation
Exemple Audit
Exemple 1 : Utilisation de l’effet audit pour les modes Gestionnaire des ressources.
"then": {
"effect": "audit"
}
Exemple 2 : Utilisation de l’effet audit pour le mode Fournisseur de ressources Microsoft.Kubernetes.Data
. Les informations supplémentaires contenues dans details.templateInfo
déclarent l’utilisation de PublicURL
et définissent url
à l’emplacement du modèle de contrainte à utiliser dans Kubernetes pour limiter les images conteneur autorisées.
"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"
]
}
}
Étapes suivantes
- Consultez des exemples à la page Exemples Azure Policy.
- Consultez la Structure de définition Azure Policy.
- Découvrez comment créer des stratégies par programmation.
- Découvrez comment obtenir des données de conformité.
- Découvrez comment corriger des ressources non conformes.
- Passez en revue Groupes d’administration Azure.