Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
L’effet deny est utilisé pour empêcher une demande de ressource qui ne correspond pas aux normes définies par le biais d’une définition de stratégie et échoue la requête.
Refuser l’évaluation
Lors de la création ou de la mise à jour d’une ressource mise en correspondance en mode Resource Manager, le refus empêche la demande avant d’être envoyée au fournisseur de ressources. La requête renvoie une erreur 403 (Forbidden). Dans le portail, l’état Forbidden peut être considéré comme un état de déploiement empêché par l’attribution de stratégie. Pour un mode Fournisseur de ressources, le fournisseur de ressources gère l’évaluation de la ressource.
Lors de l’évaluation des ressources existantes, les ressources qui correspondent à une deny définition de stratégie sont marquées comme non conformes.
Propriétés de Deny
Pour un mode Resource Manager, l’effet deny n’a plus de propriétés à utiliser dans la then condition de la définition de stratégie.
Pour un mode fournisseur de ressources de Microsoft.Kubernetes.Data, l’effet deny 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 car constraintTemplate est obsolète.
-
templateInfo(requis)- Impossible à utiliser avec
constraintTemplate. -
sourceType(requis)Définit le type de source du modèle de contrainte. Valeurs autorisées :
PublicURLouBase64Encoded.Si
PublicURLest associé à la propriétéurl, cela permet de fournir l’emplacement du modèle de contrainte. L'emplacement doit être accessible publiquement.Avertissement
N’utilisez pas d’URI ou de jetons SAS dans
urlou tout autre élément susceptible d’exposer un secret.Si
Base64Encoded, associé à la propriétécontentpour 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 contrainte OPA (Open Policy Agent) Gatekeeper v3 existant.
- Impossible à utiliser avec
-
constraint(facultatif)- Impossible à utiliser avec
templateInfo. - Implémentation CRD du modèle de contrainte. Utilise les paramètres transmis via
valuesas{{ .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é
templateInfopar 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 à
valuespartir d’Azure Policy. Pour plus d’informations, consultez les contraintes Gatekeeper.
- Impossible à utiliser avec
-
constraintInfo(facultatif)- Ne peut pas être utilisé avec
constraint,constraintTemplate,apiGroupsoukinds. - Si
constraintInfon’est pas fourni, la contrainte peut être générée à partir detemplateInfoet de la stratégie. -
sourceType(requis)Définit le type de source pour la contrainte. Valeurs autorisées :
PublicURLouBase64Encoded.Si
PublicURL, jumelé à la propriétéurlpour fournir l’emplacement de la contrainte. L'emplacement doit être accessible publiquement.Avertissement
N’utilisez pas d’URI ou de jetons SAS dans
urlou 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.
- Lorsqu'une valeur est vide ou manquante, l'évaluation de la stratégie inclut tous les espaces de noms, sauf ceux définis dans
excludedNamespaces.
-
excludedNamespaces(requis)- Tableau des espaces de noms Kubernetes à exclure de l’évaluation de la stratégie.
-
labelSelector(requis)- Objet qui inclut des propriétés (objet) et
matchLabels(tableau) permettant de spécifier quelles ressources Kubernetes inclure pour l'évaluation de politique correspondant auxmatchExpressionfournis. - En cas de valeur vide ou manquante, l’évaluation de la stratégie inclut tous les sélecteurs et étiquettes, à l’exception des espaces de noms définis dans
excludedNamespaces.
- Objet qui inclut des propriétés (objet) et
-
apiGroups(obligatoire lors de l’utilisation de templateInfo)-
Tableau qui inclut les groupes d’API à mettre en correspondance. Un tableau vide (
[""]) est le groupe d’API principal. - La définition
["*"]des 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
["*"]des types n’est pas autorisée.
-
values(facultatif)- Définit tous les paramètres et valeurs à passer à la contrainte. Chaque valeur doit exister dans le modèle de contrainte CRD.
Exemple Deny
Exemple 1 : Utilisation de l’effet deny pour les modes du Resource Manager.
"then": {
"effect": "deny"
}
Exemple 2 : Utilisation de l’effet deny pour un mode fournisseur de ressources de Microsoft.Kubernetes.Data. Les informations supplémentaires 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": "deny",
"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 les groupes d’administration Azure.