Partilhar via


Policy Restrictions - Check At Subscription Scope

Verifica quais restrições a Política do Azure colocará em um recurso dentro de uma assinatura.

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

Parâmetros do URI

Name Em Necessário Tipo Description
subscriptionId
path True

string

minLength: 1

A ID da assinatura de destino.

api-version
query True

string

minLength: 1

A versão da API a ser usada para esta operação.

Corpo do Pedido

Name Necessário Tipo Description
resourceDetails True

CheckRestrictionsResourceDetails

As informações sobre o recurso que será avaliado.

includeAuditEffect

boolean

Inclusão ou não de políticas com o efeito de «auditoria» nos resultados. O padrão é false.

pendingFields

PendingField[]

A lista de campos e valores que devem ser avaliados quanto a possíveis restrições.

Respostas

Name Tipo Description
200 OK

CheckRestrictionsResult

As restrições que serão colocadas no recurso pela Política do Azure.

Other Status Codes

ErrorResponse

Resposta de erro descrevendo por que a operação falhou.

Segurança

azure_auth

Azure Ative Directory OAuth2 Flow

Tipo: oauth2
Fluxo: implicit
URL de Autorização: https://login.microsoftonline.com/common/oauth2/authorize

Âmbitos

Name Description
user_impersonation personificar a sua conta de utilizador

Exemplos

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

Check policy restrictions at subscription scope

Pedido de amostra

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

Resposta da amostra

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

Pedido de amostra

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
}

Resposta da amostra

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

Definições

Name Description
CheckRestrictionEvaluationDetails

Detalhes da avaliação de políticas.

CheckRestrictionsRequest

Os parâmetros de restrições de política de verificação descrevem o recurso que está sendo avaliado.

CheckRestrictionsResourceDetails

As informações sobre o recurso que será avaliado.

CheckRestrictionsResult

O resultado de uma avaliação de restrições de política de verificação em um recurso.

ContentEvaluationResult

Resultados da avaliação para o conteúdo parcial do recurso fornecido.

ErrorDefinition

Definição de erro.

ErrorResponse

Resposta de erro.

ExpressionEvaluationDetails

Detalhes da avaliação das expressões linguísticas das políticas.

FieldRestriction

As restrições a um campo impostas por uma política específica.

FieldRestrictionResult

O tipo de restrição que é imposta no campo.

FieldRestrictions

As restrições que serão colocadas em um campo no recurso por política.

IfNotExistsEvaluationDetails

Detalhes da avaliação do efeito IfNotExist.

PendingField

Um campo que deve ser avaliado em relação à Política do Azure para determinar restrições.

PolicyEffectDetails

Os detalhes do efeito que foi aplicado ao recurso.

PolicyEvaluationResult

O resultado de uma avaliação de política não compatível em relação ao conteúdo do recurso fornecido.

PolicyReference

Identificadores de recursos para uma política.

TypedErrorInfo

Detalhes do erro específico do cenário.

CheckRestrictionEvaluationDetails

Detalhes da avaliação de políticas.

Name Tipo Description
evaluatedExpressions

ExpressionEvaluationDetails[]

Detalhes das expressões avaliadas.

ifNotExistsDetails

IfNotExistsEvaluationDetails

Detalhes da avaliação do efeito IfNotExist.

reason

string

A razão para o resultado da avaliação.

CheckRestrictionsRequest

Os parâmetros de restrições de política de verificação descrevem o recurso que está sendo avaliado.

Name Tipo Default value Description
includeAuditEffect

boolean

False

Inclusão ou não de políticas com o efeito de «auditoria» nos resultados. O padrão é false.

pendingFields

PendingField[]

A lista de campos e valores que devem ser avaliados quanto a possíveis restrições.

resourceDetails

CheckRestrictionsResourceDetails

As informações sobre o recurso que será avaliado.

CheckRestrictionsResourceDetails

As informações sobre o recurso que será avaliado.

Name Tipo Description
apiVersion

string

A versão api do conteúdo do recurso.

resourceContent

object

O conteúdo do recurso. Isso deve incluir quaisquer propriedades já conhecidas e pode ser um conjunto parcial de todas as propriedades de recurso.

scope

string

O escopo onde o recurso está sendo criado. Por exemplo, se o recurso for um recurso filho, esse será o ID de recurso do recurso pai.

CheckRestrictionsResult

O resultado de uma avaliação de restrições de política de verificação em um recurso.

Name Tipo Description
contentEvaluationResult

ContentEvaluationResult

Resultados da avaliação para o conteúdo parcial do recurso fornecido.

fieldRestrictions

FieldRestrictions[]

As restrições que serão colocadas em vários campos no recurso por política.

ContentEvaluationResult

Resultados da avaliação para o conteúdo parcial do recurso fornecido.

Name Tipo Description
policyEvaluations

PolicyEvaluationResult[]

Resultados da avaliação da política em relação ao conteúdo do recurso fornecido. Isso indicará se o conteúdo parcial fornecido será negado as-is.

ErrorDefinition

Definição de erro.

Name Tipo Description
additionalInfo

TypedErrorInfo[]

Detalhes adicionais do erro específico do cenário.

code

string

Código de erro específico do serviço que serve como substatus para o código de erro HTTP.

details

ErrorDefinition[]

Detalhes do erro interno.

message

string

Descrição do erro.

target

string

O alvo do erro.

ErrorResponse

Resposta de erro.

Name Tipo Description
error

ErrorDefinition

Os detalhes do erro.

ExpressionEvaluationDetails

Detalhes da avaliação das expressões linguísticas das políticas.

Name Tipo Description
expression

string

Expressão avaliada.

expressionKind

string

O tipo de expressão que foi avaliado.

expressionValue

object

Valor da expressão.

operator

string

Operador para comparar o valor da expressão e o valor de destino.

path

string

Caminho da propriedade se a expressão for um campo ou um alias.

result

string

Resultado da avaliação.

targetValue

object

Valor de destino a ser comparado com o valor da expressão.

FieldRestriction

As restrições a um campo impostas por uma política específica.

Name Tipo Description
defaultValue

string

O valor que a política definirá para o campo se o usuário não fornecer um valor.

policy

PolicyReference

Os detalhes da política que está causando a restrição de campo.

policyEffect

string

O efeito da política que está causando a restrição de campo. http://aka.ms/policyeffects

reason

string

O motivo da restrição.

result

FieldRestrictionResult

O tipo de restrição que é imposta no campo.

values

string[]

Os valores que a política exige ou nega para o campo.

FieldRestrictionResult

O tipo de restrição que é imposta no campo.

Valor Description
Audit

O campo e/ou valores serão auditados pela política.

Deny

O campo e/ou valores serão negados pela política.

Removed

O campo será removido pela política.

Required

O campo e/ou valores são exigidos pela política.

FieldRestrictions

As restrições que serão colocadas em um campo no recurso por política.

Name Tipo Description
field

string

O nome do campo. Isso pode ser uma propriedade de nível superior como 'nome' ou 'tipo' ou um alias de campo de Política do Azure.

restrictions

FieldRestriction[]

As restrições impostas a este domínio pela política.

IfNotExistsEvaluationDetails

Detalhes da avaliação do efeito IfNotExist.

Name Tipo Description
resourceId

string

ID do último recurso avaliado para o efeito IfNotExists.

totalResources

integer

Número total de recursos aos quais a condição de existência é aplicável.

PendingField

Um campo que deve ser avaliado em relação à Política do Azure para determinar restrições.

Name Tipo Description
field

string

O nome do campo. Isso pode ser uma propriedade de nível superior como 'nome' ou 'tipo' ou um alias de campo de Política do Azure.

values

string[]

A lista de valores potenciais para o campo que deve ser avaliado em relação à Política do Azure.

PolicyEffectDetails

Os detalhes do efeito que foi aplicado ao recurso.

Name Tipo Description
policyEffect

string

O efeito que foi aplicado ao recurso. http://aka.ms/policyeffects

PolicyEvaluationResult

O resultado de uma avaliação de política não compatível em relação ao conteúdo do recurso fornecido.

Name Tipo Description
effectDetails

PolicyEffectDetails

Os detalhes do efeito que foi aplicado ao recurso.

evaluationDetails

CheckRestrictionEvaluationDetails

Os resultados detalhados das expressões e valores da política que foram avaliados.

evaluationResult

string

O resultado da avaliação da política em relação ao recurso. Isso normalmente será 'Não compatível', mas pode conter outros valores se forem encontrados erros.

policyInfo

PolicyReference

Os detalhes da política que foi avaliada.

PolicyReference

Identificadores de recursos para uma política.

Name Tipo Description
policyAssignmentId

string

O identificador de recurso da atribuição de política.

policyDefinitionId

string

O identificador de recurso da definição de política.

policyDefinitionReferenceId

string

O identificador de referência de uma definição de política específica dentro de uma definição de conjunto de políticas.

policySetDefinitionId

string

O identificador de recurso da definição do conjunto de políticas.

TypedErrorInfo

Detalhes do erro específico do cenário.

Name Tipo Description
info

Os detalhes do erro específico do cenário.

type

string

O tipo de detalhes de erro incluídos.