Partager via


Policy Restrictions - Check At Subscription Scope

Vérifie quelles restrictions Azure Policy imposera à une ressource au sein d’un abonnement.

POST https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/checkPolicyRestrictions?api-version=2024-10-01

Paramètres URI

Nom Dans Obligatoire Type Description
subscriptionId
path True

string

minLength: 1

ID de l’abonnement cible.

api-version
query True

string

minLength: 1

Version de l’API à utiliser pour cette opération.

Corps de la demande

Nom Obligatoire Type Description
resourceDetails True

CheckRestrictionsResourceDetails

Informations sur la ressource qui sera évaluée.

includeAuditEffect

boolean

Indique s’il faut inclure des stratégies avec l’effet « audit » dans les résultats. La valeur par défaut est false.

pendingFields

PendingField[]

Liste des champs et des valeurs qui doivent être évalués pour les restrictions potentielles.

Réponses

Nom Type Description
200 OK

CheckRestrictionsResult

Les restrictions qui seront imposées à la ressource par Azure Policy.

Other Status Codes

ErrorResponse

Réponse d’erreur décrivant pourquoi l’opération a échoué.

Sécurité

azure_auth

Azure Active Directory OAuth2 Flow

Type: oauth2
Flux: implicit
URL d’autorisation: https://login.microsoftonline.com/common/oauth2/authorize

Étendues

Nom Description
user_impersonation emprunter l’identité de votre compte d’utilisateur

Exemples

Check policy restrictions at subscription scope
Check policy restrictions at subscription scope including audit effect

Check policy restrictions at subscription scope

Exemple de requête

POST https://management.azure.com/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/providers/Microsoft.PolicyInsights/checkPolicyRestrictions?api-version=2024-10-01

{
  "resourceDetails": {
    "resourceContent": {
      "type": "Microsoft.Compute/virtualMachines",
      "properties": {
        "priority": "Spot"
      }
    },
    "apiVersion": "2019-12-01"
  },
  "pendingFields": [
    {
      "field": "name",
      "values": [
        "myVMName"
      ]
    },
    {
      "field": "location",
      "values": [
        "eastus",
        "westus",
        "westus2",
        "westeurope"
      ]
    },
    {
      "field": "tags"
    }
  ]
}

Exemple de réponse

{
  "fieldRestrictions": [
    {
      "field": "tags.newtag",
      "restrictions": [
        {
          "result": "Required",
          "defaultValue": "defaultVal",
          "policy": {
            "policyDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyDefinitions/1D0906C3",
            "policyAssignmentId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyAssignments/57DAC8A0",
            "policySetDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policySetDefinitions/05D92080",
            "policyDefinitionReferenceId": "DefRef"
          },
          "policyEffect": "Deny",
          "reason": "tags.newtag is required"
        }
      ]
    },
    {
      "field": "tags.environment",
      "restrictions": [
        {
          "result": "Required",
          "values": [
            "Prod",
            "Int",
            "Test"
          ],
          "policy": {
            "policyDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyDefinitions/30BD79F6",
            "policyAssignmentId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyAssignments/7EB1508A",
            "policySetDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policySetDefinitions/735551F1",
            "policyDefinitionReferenceId": "DefRef"
          },
          "policyEffect": "Deny",
          "reason": "tags.environment is required"
        }
      ]
    },
    {
      "field": "location",
      "restrictions": [
        {
          "result": "Deny",
          "values": [
            "west europe"
          ],
          "policy": {
            "policyDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyDefinitions/0711CCC1",
            "policyAssignmentId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyAssignments/1563EBD3",
            "policySetDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policySetDefinitions/1E17783A",
            "policyDefinitionReferenceId": "DefRef"
          },
          "policyEffect": "Deny",
          "reason": "location must be one of the following: eastus, westus, westus2"
        },
        {
          "result": "Deny",
          "values": [
            "eastus",
            "westus"
          ],
          "policy": {
            "policyDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyDefinitions/25C9F66B",
            "policyAssignmentId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyAssignments/5382A69D",
            "policySetDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policySetDefinitions/392D107B",
            "policyDefinitionReferenceId": "DefRef"
          },
          "policyEffect": "Deny",
          "reason": "location must be one of the following: westus2"
        }
      ]
    }
  ],
  "contentEvaluationResult": {
    "policyEvaluations": [
      {
        "policyInfo": {
          "policyDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyDefinitions/435CAE41",
          "policySetDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policySetDefinitions/2162358E",
          "policyDefinitionReferenceId": "defref222",
          "policyAssignmentId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyAssignments/2FF66C37"
        },
        "evaluationResult": "NonCompliant",
        "evaluationDetails": {
          "evaluatedExpressions": [
            {
              "result": "True",
              "expressionKind": "field",
              "expression": "type",
              "path": "type",
              "expressionValue": "microsoft.compute/virtualmachines",
              "targetValue": "microsoft.compute/virtualmachines",
              "operator": "equals"
            }
          ]
        },
        "effectDetails": {
          "policyEffect": "Deny"
        }
      }
    ]
  }
}

Check policy restrictions at subscription scope including audit effect

Exemple de requête

POST https://management.azure.com/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/providers/Microsoft.PolicyInsights/checkPolicyRestrictions?api-version=2024-10-01

{
  "resourceDetails": {
    "resourceContent": {
      "type": "Microsoft.Compute/virtualMachines",
      "properties": {
        "priority": "Spot"
      }
    },
    "apiVersion": "2019-12-01"
  },
  "pendingFields": [
    {
      "field": "name",
      "values": [
        "myVMName"
      ]
    },
    {
      "field": "location",
      "values": [
        "eastus",
        "westus",
        "westus2",
        "westeurope"
      ]
    },
    {
      "field": "tags"
    }
  ],
  "includeAuditEffect": true
}

Exemple de réponse

{
  "fieldRestrictions": [
    {
      "field": "tags.newtag",
      "restrictions": [
        {
          "result": "Required",
          "defaultValue": "defaultVal",
          "policy": {
            "policyDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyDefinitions/1D0906C3",
            "policyAssignmentId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyAssignments/57DAC8A0",
            "policySetDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policySetDefinitions/05D92080",
            "policyDefinitionReferenceId": "DefRef"
          },
          "policyEffect": "Deny",
          "reason": "tags.newtag is required"
        }
      ]
    },
    {
      "field": "tags.environment",
      "restrictions": [
        {
          "result": "Required",
          "values": [
            "Prod",
            "Int",
            "Test"
          ],
          "policy": {
            "policyDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyDefinitions/30BD79F6",
            "policyAssignmentId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyAssignments/7EB1508A",
            "policySetDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policySetDefinitions/735551F1",
            "policyDefinitionReferenceId": "DefRef"
          },
          "policyEffect": "Audit",
          "reason": "tags.environment is required"
        }
      ]
    },
    {
      "field": "location",
      "restrictions": [
        {
          "result": "Deny",
          "values": [
            "west europe"
          ],
          "policy": {
            "policyDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyDefinitions/0711CCC1",
            "policyAssignmentId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyAssignments/1563EBD3",
            "policySetDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policySetDefinitions/1E17783A",
            "policyDefinitionReferenceId": "DefRef"
          },
          "policyEffect": "Deny",
          "reason": "The selected location is not allowed"
        },
        {
          "result": "Audit",
          "values": [
            "eastus",
            "westus"
          ],
          "policy": {
            "policyDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyDefinitions/25C9F66B",
            "policyAssignmentId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyAssignments/5382A69D",
            "policySetDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policySetDefinitions/392D107B",
            "policyDefinitionReferenceId": "DefRef"
          },
          "policyEffect": "Audit",
          "reason": "The selected location is not allowed"
        }
      ]
    }
  ],
  "contentEvaluationResult": {
    "policyEvaluations": [
      {
        "policyInfo": {
          "policyDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyDefinitions/435CAE41",
          "policySetDefinitionId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policySetDefinitions/2162358E",
          "policyDefinitionReferenceId": "defref222",
          "policyAssignmentId": "/subscriptions/d8db6de6-2b96-46af-b825-07aef2033c0b/providers/microsoft.authorization/policyAssignments/2FF66C37"
        },
        "evaluationResult": "NonCompliant",
        "evaluationDetails": {
          "evaluatedExpressions": [
            {
              "result": "True",
              "expressionKind": "field",
              "expression": "type",
              "path": "type",
              "expressionValue": "microsoft.compute/virtualmachines",
              "targetValue": "microsoft.compute/virtualmachines",
              "operator": "equals"
            }
          ],
          "reason": "Resource creation of the selected type is not allowed"
        },
        "effectDetails": {
          "policyEffect": "Audit"
        }
      }
    ]
  }
}

Définitions

Nom Description
CheckRestrictionEvaluationDetails

Détails de l’évaluation de la stratégie.

CheckRestrictionsRequest

Paramètres de restrictions de stratégie de vérification décrivant la ressource en cours d’évaluation.

CheckRestrictionsResourceDetails

Informations sur la ressource qui sera évaluée.

CheckRestrictionsResult

Résultat d’une évaluation des restrictions de stratégie de vérification sur une ressource.

ContentEvaluationResult

Résultats de l’évaluation pour le contenu de ressource partielle fourni.

ErrorDefinition

Définition d’erreur.

ErrorResponse

Réponse d’erreur.

ExpressionEvaluationDetails

Détails de l’évaluation des expressions de langage de stratégie.

FieldRestriction

Restrictions sur un champ imposé par une stratégie spécifique.

FieldRestrictionResult

Type de restriction imposée sur le champ.

FieldRestrictions

Restrictions qui seront placées sur un champ dans la ressource par stratégie.

IfNotExistsEvaluationDetails

Détails de l’évaluation de l’effet IfNotExists.

PendingField

Un champ qui devrait être évalué par rapport à Azure Policy pour déterminer les restrictions.

PolicyEffectDetails

Détails de l’effet appliqué à la ressource.

PolicyEvaluationResult

Résultat d’une évaluation de stratégie non conforme par rapport au contenu de ressource donné.

PolicyReference

Identificateurs de ressources pour une stratégie.

TypedErrorInfo

Détails d’erreur spécifiques au scénario.

CheckRestrictionEvaluationDetails

Détails de l’évaluation de la stratégie.

Nom Type Description
evaluatedExpressions

ExpressionEvaluationDetails[]

Détails des expressions évaluées.

ifNotExistsDetails

IfNotExistsEvaluationDetails

Détails de l’évaluation de l’effet IfNotExists.

reason

string

Raison du résultat de l’évaluation.

CheckRestrictionsRequest

Paramètres de restrictions de stratégie de vérification décrivant la ressource en cours d’évaluation.

Nom Type Valeur par défaut Description
includeAuditEffect

boolean

False

Indique s’il faut inclure des stratégies avec l’effet « audit » dans les résultats. La valeur par défaut est false.

pendingFields

PendingField[]

Liste des champs et des valeurs qui doivent être évalués pour les restrictions potentielles.

resourceDetails

CheckRestrictionsResourceDetails

Informations sur la ressource qui sera évaluée.

CheckRestrictionsResourceDetails

Informations sur la ressource qui sera évaluée.

Nom Type Description
apiVersion

string

Version api du contenu de la ressource.

resourceContent

object

Contenu de la ressource. Cela doit inclure les propriétés déjà connues et peut être un ensemble partiel de toutes les propriétés de ressource.

scope

string

Étendue dans laquelle la ressource est créée. Par exemple, si la ressource est une ressource enfant, il s’agit de l’ID de ressource parent.

CheckRestrictionsResult

Résultat d’une évaluation des restrictions de stratégie de vérification sur une ressource.

Nom Type Description
contentEvaluationResult

ContentEvaluationResult

Résultats de l’évaluation pour le contenu de ressource partielle fourni.

fieldRestrictions

FieldRestrictions[]

Restrictions qui seront placées sur différents champs de la ressource par stratégie.

ContentEvaluationResult

Résultats de l’évaluation pour le contenu de ressource partielle fourni.

Nom Type Description
policyEvaluations

PolicyEvaluationResult[]

Résultats de l’évaluation de stratégie par rapport au contenu de ressource donné. Cela indique si le contenu partiel fourni est refusé as-is.

ErrorDefinition

Définition d’erreur.

Nom Type Description
additionalInfo

TypedErrorInfo[]

Détails d’erreur spécifiques au scénario supplémentaire.

code

string

Code d’erreur spécifique au service qui sert de sous-état pour le code d’erreur HTTP.

details

ErrorDefinition[]

Détails de l’erreur interne.

message

string

Description de l’erreur.

target

string

Cible de l’erreur.

ErrorResponse

Réponse d’erreur.

Nom Type Description
error

ErrorDefinition

Détails de l’erreur.

ExpressionEvaluationDetails

Détails de l’évaluation des expressions de langage de stratégie.

Nom Type Description
expression

string

Expression évaluée.

expressionKind

string

Type d’expression évaluée.

expressionValue

object

Valeur de l’expression.

operator

string

Opérateur pour comparer la valeur d’expression et la valeur cible.

path

string

Chemin de propriété si l’expression est un champ ou un alias.

result

string

Résultat de l’évaluation.

targetValue

object

Valeur cible à comparer à la valeur d’expression.

FieldRestriction

Restrictions sur un champ imposé par une stratégie spécifique.

Nom Type Description
defaultValue

string

Valeur que la stratégie définit pour le champ si l’utilisateur ne fournit pas de valeur.

policy

PolicyReference

Détails de la stratégie à l’origine de la restriction de champ.

policyEffect

string

Effet de la stratégie qui provoque la restriction de champ. http://aka.ms/policyeffects

reason

string

Raison de la restriction.

result

FieldRestrictionResult

Type de restriction imposée sur le champ.

values

string[]

Valeurs que la stratégie requiert ou refuse pour le champ.

FieldRestrictionResult

Type de restriction imposée sur le champ.

Valeur Description
Required

Le champ et/ou les valeurs sont requis par la stratégie.

Removed

Le champ est supprimé par stratégie.

Deny

Le champ et/ou les valeurs sont refusés par la stratégie.

Audit

Le champ et/ou les valeurs sont audités par la stratégie.

FieldRestrictions

Restrictions qui seront placées sur un champ dans la ressource par stratégie.

Nom Type Description
field

string

Nom du champ. Cela peut être une propriété de premier niveau comme « nom » ou « type » ou un alias de champ Azure Policy.

restrictions

FieldRestriction[]

Les restrictions placées sur ce champ par stratégie.

IfNotExistsEvaluationDetails

Détails de l’évaluation de l’effet IfNotExists.

Nom Type Description
resourceId

string

ID de la dernière ressource évaluée pour l’effet IfNotExists.

totalResources

integer

Nombre total de ressources auxquelles la condition d’existence s’applique.

PendingField

Un champ qui devrait être évalué par rapport à Azure Policy pour déterminer les restrictions.

Nom Type Description
field

string

Nom du champ. Cela peut être une propriété de premier niveau comme « nom » ou « type » ou un alias de champ Azure Policy.

values

string[]

La liste des valeurs potentielles pour le champ à évaluer par rapport à Azure Policy.

PolicyEffectDetails

Détails de l’effet appliqué à la ressource.

Nom Type Description
policyEffect

string

Effet appliqué à la ressource. http://aka.ms/policyeffects

PolicyEvaluationResult

Résultat d’une évaluation de stratégie non conforme par rapport au contenu de ressource donné.

Nom Type Description
effectDetails

PolicyEffectDetails

Détails de l’effet appliqué à la ressource.

evaluationDetails

CheckRestrictionEvaluationDetails

Résultats détaillés des expressions et valeurs de stratégie qui ont été évaluées.

evaluationResult

string

Résultat de l’évaluation de la stratégie par rapport à la ressource. Cela sera généralement « Non conforme », mais peut contenir d’autres valeurs si des erreurs ont été rencontrées.

policyInfo

PolicyReference

Détails de la stratégie évaluée.

PolicyReference

Identificateurs de ressources pour une stratégie.

Nom Type Description
policyAssignmentId

string

Identificateur de ressource de l’affectation de stratégie.

policyDefinitionId

string

Identificateur de ressource de la définition de stratégie.

policyDefinitionReferenceId

string

Identificateur de référence d’une définition de stratégie spécifique dans une définition de jeu de stratégies.

policySetDefinitionId

string

Identificateur de ressource de la définition du jeu de stratégies.

TypedErrorInfo

Détails d’erreur spécifiques au scénario.

Nom Type Description
info

Détails de l’erreur spécifique au scénario.

type

string

Type de détails d’erreur inclus.