Policy Restrictions - Check At Subscription Scope

Comprueba qué restricciones Azure Policy colocarán en un recurso dentro de una suscripción.

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

Parámetros de identificador URI

Nombre En Requerido Tipo Description
subscriptionId
path True

string

Identificador de la suscripción de destino.

api-version
query True

string

Versión de API que se usará para la operación.

Cuerpo de la solicitud

Nombre Requerido Tipo Description
resourceDetails True

CheckRestrictionsResourceDetails

Información sobre el recurso que se evaluará.

includeAuditEffect

boolean

Si se deben incluir directivas con el efecto "audit" en los resultados. El valor predeterminado es "false".

pendingFields

PendingField[]

Lista de campos y valores que se deben evaluar para detectar posibles restricciones.

Respuestas

Nombre Tipo Description
200 OK

CheckRestrictionsResult

Las restricciones que se colocarán en el recurso Azure Policy.

Other Status Codes

ErrorResponse

Respuesta de error que describe el motivo del error de la operación.

Seguridad

azure_auth

Flujo OAuth2 de Azure Active Directory

Type: oauth2
Flow: implicit
Authorization URL: https://login.microsoftonline.com/common/oauth2/authorize

Scopes

Nombre Description
user_impersonation suplantación de su cuenta de usuario

Ejemplos

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

Check policy restrictions at subscription scope

Sample Request

POST https://management.azure.com/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/providers/Microsoft.PolicyInsights/checkPolicyRestrictions?api-version=2023-03-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"
    }
  ]
}

Sample Response

{
  "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

Sample Request

POST https://management.azure.com/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/providers/Microsoft.PolicyInsights/checkPolicyRestrictions?api-version=2023-03-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
}

Sample Response

{
  "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"
        }
      }
    ]
  }
}

Definiciones

Nombre Description
CheckRestrictionEvaluationDetails

Detalles de evaluación de directivas.

CheckRestrictionsRequest

Parámetros de restricciones de directiva check que describen el recurso que se está evaluando.

CheckRestrictionsResourceDetails

Información sobre el recurso que se evaluará.

CheckRestrictionsResult

Resultado de una evaluación de restricciones de directiva de comprobación en un recurso.

ContentEvaluationResult

Resultados de evaluación para el contenido de recursos parcial proporcionado.

ErrorDefinition

Definición de error.

ErrorResponse

Respuesta de error.

ExpressionEvaluationDetails

Detalles de evaluación de expresiones de lenguaje de directiva.

FieldRestriction

Restricciones en un campo impuesto por una directiva específica.

FieldRestrictionResult

Tipo de restricción que se impone en el campo.

FieldRestrictions

Restricciones que se colocarán en un campo del recurso por directiva.

IfNotExistsEvaluationDetails

Detalles de evaluación del efecto IfNotExists.

PendingField

Campo que se debe evaluar con respecto a Azure Policy para determinar las restricciones.

PolicyEffectDetails

Detalles del efecto que se aplicó al recurso.

PolicyEvaluationResult

Resultado de una evaluación de directiva no compatible con el contenido de recursos especificado.

PolicyReference

Identificadores de recursos para una directiva.

TypedErrorInfo

Detalles de error específicos del escenario.

CheckRestrictionEvaluationDetails

Detalles de evaluación de directivas.

Nombre Tipo Description
evaluatedExpressions

ExpressionEvaluationDetails[]

Detalles de las expresiones evaluadas.

ifNotExistsDetails

IfNotExistsEvaluationDetails

Detalles de evaluación del efecto IfNotExists.

reason

string

Motivo del resultado de la evaluación.

CheckRestrictionsRequest

Parámetros de restricciones de directiva check que describen el recurso que se está evaluando.

Nombre Tipo Valor predeterminado Description
includeAuditEffect

boolean

False

Si se deben incluir directivas con el efecto "audit" en los resultados. El valor predeterminado es "false".

pendingFields

PendingField[]

Lista de campos y valores que se deben evaluar para detectar posibles restricciones.

resourceDetails

CheckRestrictionsResourceDetails

Información sobre el recurso que se evaluará.

CheckRestrictionsResourceDetails

Información sobre el recurso que se evaluará.

Nombre Tipo Description
apiVersion

string

Versión de api del contenido del recurso.

resourceContent

object

Contenido del recurso. Esto debe incluir las propiedades que ya se conocen y puede ser un conjunto parcial de todas las propiedades de recursos.

scope

string

Ámbito en el que se crea el recurso. Por ejemplo, si el recurso es un recurso secundario, este sería el identificador de recurso del recurso primario.

CheckRestrictionsResult

Resultado de una evaluación de restricciones de directiva de comprobación en un recurso.

Nombre Tipo Description
contentEvaluationResult

ContentEvaluationResult

Resultados de evaluación para el contenido de recursos parcial proporcionado.

fieldRestrictions

FieldRestrictions[]

Restricciones que se colocarán en varios campos del recurso por directiva.

ContentEvaluationResult

Resultados de evaluación para el contenido de recursos parcial proporcionado.

Nombre Tipo Description
policyEvaluations

PolicyEvaluationResult[]

Resultados de evaluación de directivas con el contenido de recursos especificado. Esto indicará si el contenido parcial proporcionado se denegará tal cual.

ErrorDefinition

Definición de error.

Nombre Tipo Description
additionalInfo

TypedErrorInfo[]

Detalles adicionales del error específico del escenario.

code

string

Código de error específico del servicio que actúa como subestado para el código de error HTTP.

details

ErrorDefinition[]

Detalles internos del error.

message

string

Descripción del error.

target

string

Destino del error.

ErrorResponse

Respuesta de error.

Nombre Tipo Description
error

ErrorDefinition

Los detalles del error.

ExpressionEvaluationDetails

Detalles de evaluación de expresiones de lenguaje de directiva.

Nombre Tipo Description
expression

string

Expresión evaluada.

expressionKind

string

El tipo de expresión que se evaluó.

expressionValue

object

Valor de la expresión.

operator

string

Operador para comparar el valor de expresión y el valor de destino.

path

string

Ruta de acceso de propiedad si la expresión es un campo o un alias.

result

string

Resultado de la evaluación.

targetValue

object

Valor de destino que se va a comparar con el valor de expresión.

FieldRestriction

Restricciones en un campo impuesto por una directiva específica.

Nombre Tipo Description
defaultValue

string

Valor que la directiva establecerá para el campo si el usuario no proporciona un valor.

policy

PolicyReference

Detalles de la directiva que está causando la restricción de campo.

policyEffect

string

Efecto de la directiva que está causando la restricción de campo. http://aka.ms/policyeffects

reason

string

Motivo de la restricción.

result

FieldRestrictionResult

Tipo de restricción que se impone en el campo.

values

string[]

Los valores que la directiva requiere o deniega para el campo.

FieldRestrictionResult

Tipo de restricción que se impone en el campo.

Nombre Tipo Description
Audit

string

La directiva auditará el campo o los valores.

Deny

string

La directiva denegará el campo o los valores.

Removed

string

La directiva quitará el campo.

Required

string

La directiva requiere el campo o los valores.

FieldRestrictions

Restricciones que se colocarán en un campo del recurso por directiva.

Nombre Tipo Description
field

string

Nombre del campo. Puede ser una propiedad de nivel superior como "name" o "type" o un alias de campo Azure Policy.

restrictions

FieldRestriction[]

Restricciones colocadas en ese campo por directiva.

IfNotExistsEvaluationDetails

Detalles de evaluación del efecto IfNotExists.

Nombre Tipo Description
resourceId

string

Identificador del último recurso evaluado para el efecto IfNotExists.

totalResources

integer

Número total de recursos a los que se aplica la condición de existencia.

PendingField

Campo que se debe evaluar con respecto a Azure Policy para determinar las restricciones.

Nombre Tipo Description
field

string

Nombre del campo. Puede ser una propiedad de nivel superior como "name" o "type" o un alias de campo Azure Policy.

values

string[]

Lista de valores potenciales para el campo que se debe evaluar con Azure Policy.

PolicyEffectDetails

Detalles del efecto que se aplicó al recurso.

Nombre Tipo Description
policyEffect

string

Efecto que se aplicó al recurso. http://aka.ms/policyeffects

PolicyEvaluationResult

Resultado de una evaluación de directiva no compatible con el contenido de recursos especificado.

Nombre Tipo Description
effectDetails

PolicyEffectDetails

Detalles del efecto que se aplicó al recurso.

evaluationDetails

CheckRestrictionEvaluationDetails

Resultados detallados de las expresiones de directiva y los valores que se han evaluado.

evaluationResult

string

Resultado de la evaluación de directivas en el recurso. Normalmente, será "No conforme", pero puede contener otros valores si se encontraron errores.

policyInfo

PolicyReference

Detalles de la directiva que se evaluó.

PolicyReference

Identificadores de recursos para una directiva.

Nombre Tipo Description
policyAssignmentId

string

Identificador de recurso de la asignación de directiva.

policyDefinitionId

string

Identificador de recurso de la definición de directiva.

policyDefinitionReferenceId

string

Identificador de referencia de una definición de directiva específica dentro de una definición de conjunto de directivas.

policySetDefinitionId

string

Identificador de recurso de la definición del conjunto de directivas.

TypedErrorInfo

Detalles de error específicos del escenario.

Nombre Tipo Description
info

Detalles de error específicos del escenario.

type

string

Tipo de detalles de error incluidos.