Condividi tramite


Policy Restrictions - Check At Subscription Scope

Controlla quali restrizioni Azure Policy applicherà a una risorsa all'interno di un abbonamento.

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

Parametri dell'URI

Nome In Necessario Tipo Descrizione
subscriptionId
path True

string

minLength: 1

ID della sottoscrizione di destinazione.

api-version
query True

string

minLength: 1

Versione dell'API da usare per questa operazione.

Corpo della richiesta

Nome Necessario Tipo Descrizione
resourceDetails True

CheckRestrictionsResourceDetails

Informazioni sulla risorsa che verrà valutata.

includeAuditEffect

boolean

Indica se includere i criteri con l'effetto "audit" nei risultati. Il valore predefinito è falso.

pendingFields

PendingField[]

Elenco di campi e valori che devono essere valutati per potenziali restrizioni.

Risposte

Nome Tipo Descrizione
200 OK

CheckRestrictionsResult

Le restrizioni che saranno imposte alla risorsa da Azure Policy.

Other Status Codes

ErrorResponse

Risposta di errore che descrive il motivo per cui l'operazione non è riuscita.

Sicurezza

azure_auth

Azure Active Directory OAuth2 Flow

Tipo: oauth2
Flow: implicit
URL di autorizzazione: https://login.microsoftonline.com/common/oauth2/authorize

Ambiti

Nome Descrizione
user_impersonation rappresentare l'account utente

Esempio

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

Check policy restrictions at subscription scope

Esempio di richiesta

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

Risposta di esempio

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

Esempio di richiesta

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
}

Risposta di esempio

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

Definizioni

Nome Descrizione
CheckRestrictionEvaluationDetails

Dettagli della valutazione dei criteri.

CheckRestrictionsRequest

Parametri di restrizioni dei criteri di controllo che descrivono la risorsa che viene valutata.

CheckRestrictionsResourceDetails

Informazioni sulla risorsa che verrà valutata.

CheckRestrictionsResult

Risultato di una valutazione delle restrizioni dei criteri di controllo su una risorsa.

ContentEvaluationResult

Risultati della valutazione per il contenuto parziale della risorsa fornito.

ErrorDefinition

Definizione di errore.

ErrorResponse

Risposta di errore.

ExpressionEvaluationDetails

Dettagli di valutazione delle espressioni del linguaggio dei criteri.

FieldRestriction

Restrizioni relative a un campo imposto da criteri specifici.

FieldRestrictionResult

Tipo di restrizione imposto sul campo.

FieldRestrictions

Restrizioni che verranno applicate a un campo nella risorsa in base ai criteri.

IfNotExistsEvaluationDetails

Dettagli di valutazione dell'effetto IfNotExists.

PendingField

Un campo che dovrebbe essere valutato rispetto ad Azure Policy per determinare restrizioni.

PolicyEffectDetails

Dettagli dell'effetto applicato alla risorsa.

PolicyEvaluationResult

Risultato di una valutazione dei criteri non conforme rispetto al contenuto della risorsa specificato.

PolicyReference

Identificatori di risorsa per un criterio.

TypedErrorInfo

Dettagli degli errori specifici dello scenario.

CheckRestrictionEvaluationDetails

Dettagli della valutazione dei criteri.

Nome Tipo Descrizione
evaluatedExpressions

ExpressionEvaluationDetails[]

Dettagli delle espressioni valutate.

ifNotExistsDetails

IfNotExistsEvaluationDetails

Dettagli di valutazione dell'effetto IfNotExists.

reason

string

Motivo del risultato della valutazione.

CheckRestrictionsRequest

Parametri di restrizioni dei criteri di controllo che descrivono la risorsa che viene valutata.

Nome Tipo Valore predefinito Descrizione
includeAuditEffect

boolean

False

Indica se includere i criteri con l'effetto "audit" nei risultati. Il valore predefinito è falso.

pendingFields

PendingField[]

Elenco di campi e valori che devono essere valutati per potenziali restrizioni.

resourceDetails

CheckRestrictionsResourceDetails

Informazioni sulla risorsa che verrà valutata.

CheckRestrictionsResourceDetails

Informazioni sulla risorsa che verrà valutata.

Nome Tipo Descrizione
apiVersion

string

Versione api del contenuto della risorsa.

resourceContent

object

Contenuto della risorsa. Deve includere tutte le proprietà già note e può essere un set parziale di tutte le proprietà delle risorse.

scope

string

Ambito in cui viene creata la risorsa. Ad esempio, se la risorsa è una risorsa figlio, si tratta dell'ID risorsa della risorsa padre.

CheckRestrictionsResult

Risultato di una valutazione delle restrizioni dei criteri di controllo su una risorsa.

Nome Tipo Descrizione
contentEvaluationResult

ContentEvaluationResult

Risultati della valutazione per il contenuto parziale della risorsa fornito.

fieldRestrictions

FieldRestrictions[]

Restrizioni che verranno applicate a vari campi nella risorsa in base ai criteri.

ContentEvaluationResult

Risultati della valutazione per il contenuto parziale della risorsa fornito.

Nome Tipo Descrizione
policyEvaluations

PolicyEvaluationResult[]

Risultati della valutazione dei criteri rispetto al contenuto della risorsa specificato. In questo modo verrà indicato se il contenuto parziale fornito verrà negato as-is.

ErrorDefinition

Definizione di errore.

Nome Tipo Descrizione
additionalInfo

TypedErrorInfo[]

Dettagli aggiuntivi sugli errori specifici dello scenario.

code

string

Codice di errore specifico del servizio che funge da stato secondario per il codice di errore HTTP.

details

ErrorDefinition[]

Dettagli dell'errore interno.

message

string

Descrizione dell'errore.

target

string

Destinazione dell'errore.

ErrorResponse

Risposta di errore.

Nome Tipo Descrizione
error

ErrorDefinition

Dettagli dell'errore.

ExpressionEvaluationDetails

Dettagli di valutazione delle espressioni del linguaggio dei criteri.

Nome Tipo Descrizione
expression

string

Espressione valutata.

expressionKind

string

Tipo di espressione valutata.

expressionValue

object

Valore dell'espressione.

operator

string

Operatore per confrontare il valore dell'espressione e il valore di destinazione.

path

string

Percorso della proprietà se l'espressione è un campo o un alias.

result

string

Risultato della valutazione.

targetValue

object

Valore di destinazione da confrontare con il valore dell'espressione.

FieldRestriction

Restrizioni relative a un campo imposto da criteri specifici.

Nome Tipo Descrizione
defaultValue

string

Valore che verrà impostato per il campo se l'utente non fornisce un valore.

policy

PolicyReference

Dettagli dei criteri che causano la restrizione del campo.

policyEffect

string

Effetto dei criteri che causano la restrizione del campo. http://aka.ms/policyeffects

reason

string

Motivo della restrizione.

result

FieldRestrictionResult

Tipo di restrizione imposto sul campo.

values

string[]

Valori richiesti o negati dal criterio per il campo.

FieldRestrictionResult

Tipo di restrizione imposto sul campo.

Valore Descrizione
Required

Il campo e/o i valori sono richiesti dai criteri.

Removed

Il campo verrà rimosso dai criteri.

Deny

Il campo e/o i valori verranno negati dai criteri.

Audit

Il campo e/o i valori verranno controllati dai criteri.

FieldRestrictions

Restrizioni che verranno applicate a un campo nella risorsa in base ai criteri.

Nome Tipo Descrizione
field

string

Nome del campo. Può essere una proprietà di alto livello come 'name' o 'type' oppure un alias di campo Azure Policy.

restrictions

FieldRestriction[]

Restrizioni applicate a tale campo in base ai criteri.

IfNotExistsEvaluationDetails

Dettagli di valutazione dell'effetto IfNotExists.

Nome Tipo Descrizione
resourceId

string

ID dell'ultima risorsa valutata per l'effetto IfNotExists.

totalResources

integer

Numero totale di risorse a cui è applicabile la condizione di esistenza.

PendingField

Un campo che dovrebbe essere valutato rispetto ad Azure Policy per determinare restrizioni.

Nome Tipo Descrizione
field

string

Nome del campo. Può essere una proprietà di alto livello come 'name' o 'type' oppure un alias di campo Azure Policy.

values

string[]

L'elenco dei potenziali valori per il campo che dovrebbero essere valutati rispetto ad Azure Policy.

PolicyEffectDetails

Dettagli dell'effetto applicato alla risorsa.

Nome Tipo Descrizione
policyEffect

string

Effetto applicato alla risorsa. http://aka.ms/policyeffects

PolicyEvaluationResult

Risultato di una valutazione dei criteri non conforme rispetto al contenuto della risorsa specificato.

Nome Tipo Descrizione
effectDetails

PolicyEffectDetails

Dettagli dell'effetto applicato alla risorsa.

evaluationDetails

CheckRestrictionEvaluationDetails

Risultati dettagliati delle espressioni e dei valori dei criteri valutati.

evaluationResult

string

Risultato della valutazione dei criteri rispetto alla risorsa. Si tratta in genere di 'NonCompliant' ma può contenere altri valori se si sono verificati errori.

policyInfo

PolicyReference

Dettagli dei criteri valutati.

PolicyReference

Identificatori di risorsa per un criterio.

Nome Tipo Descrizione
policyAssignmentId

string

Identificatore della risorsa dell'assegnazione dei criteri.

policyDefinitionId

string

Identificatore della risorsa della definizione dei criteri.

policyDefinitionReferenceId

string

Identificatore di riferimento di una definizione di criteri specifica all'interno di una definizione del set di criteri.

policySetDefinitionId

string

Identificatore della risorsa della definizione del set di criteri.

TypedErrorInfo

Dettagli degli errori specifici dello scenario.

Nome Tipo Descrizione
info

Dettagli dell'errore specifici dello scenario.

type

string

Tipo di dettagli dell'errore inclusi.