Policy Restrictions - Check At Resource Group Scope

Verifica que restrições Azure Policy serão colocadas num recurso dentro de um grupo de recursos. Utilize esta opção quando o grupo de recursos no qual o recurso será criado já for conhecido.

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

Parâmetros do URI

Name Em Necessário Tipo Description
resourceGroupName
path True

string

O nome do grupo de recursos. O nome não é sensível a maiúsculas e minúsculas.

subscriptionId
path True

string

O ID da subscrição de destino.

api-version
query True

string

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

Corpo do Pedido

Name Necessário Tipo Description
resourceDetails True

CheckRestrictionsResourceDetails

As informações sobre o recurso que serão avaliadas.

includeAuditEffect

boolean

Se pretende incluir políticas com o efeito de "auditoria" nos resultados. O valor predefinido é falso.

pendingFields

PendingField[]

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

Respostas

Name Tipo Description
200 OK

CheckRestrictionsResult

As restrições que serão colocadas no recurso por Azure Policy.

Other Status Codes

ErrorResponse

Resposta de erro que descreve o motivo pela qual a operação falhou.

Segurança

azure_auth

Fluxo OAuth2 do Azure Active Directory

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

Scopes

Name Description
user_impersonation representar a sua conta de utilizador

Exemplos

Check policy restrictions at resource group scope
Check policy restrictions at resource group scope including audit effect

Check policy restrictions at resource group scope

Sample Request

POST https://management.azure.com/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourceGroups/vmRg/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 resource group scope including audit effect

Sample Request

POST https://management.azure.com/subscriptions/35ee058e-5fa0-414c-8145-3ebb8d09b6e2/resourceGroups/vmRg/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"
        }
      }
    ]
  }
}

Definições

Name Description
CheckRestrictionEvaluationDetails

Detalhes da avaliação da política.

CheckRestrictionsRequest

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

CheckRestrictionsResourceDetails

As informações sobre o recurso que serão avaliadas.

CheckRestrictionsResult

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

ContentEvaluationResult

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

ErrorDefinition

Definição de erro.

ErrorResponse

Resposta de erro.

ExpressionEvaluationDetails

Detalhes de avaliação das expressões de linguagem de política.

FieldRestriction

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

FieldRestrictionResult

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

FieldRestrictions

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

IfNotExistsEvaluationDetails

Detalhes da avaliação do efeito IfNotExists.

PendingField

Um campo que deve ser avaliado relativamente a Azure Policy para determinar as restrições.

PolicyEffectDetails

Os detalhes do efeito que foi aplicado ao recurso.

PolicyEvaluationResult

O resultado de uma avaliação de política não conforme com o conteúdo de recurso especificado.

PolicyReference

Identificadores de recursos para uma política.

TypedErrorInfo

Detalhes de erros específicos do cenário.

CheckRestrictionEvaluationDetails

Detalhes da avaliação da política.

Name Tipo Description
evaluatedExpressions

ExpressionEvaluationDetails[]

Detalhes das expressões avaliadas.

ifNotExistsDetails

IfNotExistsEvaluationDetails

Detalhes da avaliação do efeito IfNotExists.

reason

string

O motivo do resultado da avaliação.

CheckRestrictionsRequest

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

Name Tipo Valor Predefinido Description
includeAuditEffect

boolean

False

Se pretende incluir políticas com o efeito de "auditoria" nos resultados. O valor predefinido é falso.

pendingFields

PendingField[]

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

resourceDetails

CheckRestrictionsResourceDetails

As informações sobre o recurso que serão avaliadas.

CheckRestrictionsResourceDetails

As informações sobre o recurso que serão avaliadas.

Name Tipo Description
apiVersion

string

A versão da API do conteúdo do recurso.

resourceContent

object

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

scope

string

O âmbito onde o recurso está a ser criado. Por exemplo, se o recurso for um recurso subordinado, este seria o ID de recurso do recurso principal.

CheckRestrictionsResult

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

Name Tipo Description
contentEvaluationResult

ContentEvaluationResult

Resultados de 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 de avaliação para o conteúdo parcial do recurso fornecido.

Name Tipo Description
policyEvaluations

PolicyEvaluationResult[]

Resultados da avaliação da política relativamente ao conteúdo de recurso especificado. Isto indicará se o conteúdo parcial fornecido será negado tal como está.

ErrorDefinition

Definição de erro.

Name Tipo Description
additionalInfo

TypedErrorInfo[]

Detalhes de erros específicos de cenários adicionais.

code

string

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

details

ErrorDefinition[]

Detalhes internos do erro.

message

string

Descrição do erro.

target

string

O destino do erro.

ErrorResponse

Resposta de erro.

Name Tipo Description
error

ErrorDefinition

Os detalhes do erro.

ExpressionEvaluationDetails

Detalhes de avaliação das expressões de linguagem de política.

Name Tipo Description
expression

string

Expressão avaliada.

expressionKind

string

O tipo de expressão que foi avaliada.

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 imposto por uma política específica.

Name Tipo Description
defaultValue

string

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

policy

PolicyReference

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

policyEffect

string

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

reason

string

O motivo da restrição.

result

FieldRestrictionResult

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

values

string[]

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

FieldRestrictionResult

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

Name Tipo Description
Audit

string

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

Deny

string

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

Removed

string

O campo será removido pela política.

Required

string

O campo e/ou os valores são necessários pela política.

FieldRestrictions

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

Name Tipo Description
field

string

O nome do campo. Pode ser uma propriedade de nível superior, como "nome" ou "tipo" ou um alias de campo Azure Policy.

restrictions

FieldRestriction[]

As restrições colocadas nesse campo por política.

IfNotExistsEvaluationDetails

Detalhes da avaliação do efeito IfNotExists.

Name Tipo Description
resourceId

string

ID do último recurso avaliado para o efeito IfNotExists.

totalResources

integer

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

PendingField

Um campo que deve ser avaliado relativamente a Azure Policy para determinar as restrições.

Name Tipo Description
field

string

O nome do campo. Pode ser uma propriedade de nível superior, como "nome" ou "tipo" ou um alias de campo Azure Policy.

values

string[]

A lista de valores potenciais para o campo que devem ser avaliados em relação a Azure Policy.

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 conforme com o conteúdo de recurso especificado.

Name Tipo Description
effectDetails

PolicyEffectDetails

Os detalhes do efeito que foi aplicado ao recurso.

evaluationDetails

CheckRestrictionEvaluationDetails

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

evaluationResult

string

O resultado da avaliação da política em relação ao recurso. Normalmente, será "Não Conforme", mas poderá 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 numa definição de conjunto de políticas.

policySetDefinitionId

string

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

TypedErrorInfo

Detalhes de erros específicos do cenário.

Name Tipo Description
info

Os detalhes de erro específicos do cenário.

type

string

O tipo de detalhes de erro incluídos.