Policy Restrictions - Check At Subscription Scope

Sprawdza, jakie ograniczenia Azure Policy zostaną wprowadzone w zasobie w ramach subskrypcji.

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

Parametry identyfikatora URI

Nazwa W Wymagane Typ Opis
subscriptionId
path True

string

Identyfikator subskrypcji docelowej.

api-version
query True

string

Wersja interfejsu API do użycia dla tej operacji.

Treść żądania

Nazwa Wymagane Typ Opis
resourceDetails True

CheckRestrictionsResourceDetails

Informacje o zasobie, który zostanie oceniony.

includeAuditEffect

boolean

Czy należy uwzględnić zasady z efektem "inspekcji" w wynikach. Wartość domyślna to false.

pendingFields

PendingField[]

Lista pól i wartości, które powinny być oceniane pod kątem potencjalnych ograniczeń.

Odpowiedzi

Nazwa Typ Opis
200 OK

CheckRestrictionsResult

Ograniczenia, które zostaną umieszczone w zasobie przez Azure Policy.

Other Status Codes

ErrorResponse

Odpowiedź na błąd opisująca, dlaczego operacja nie powiodła się.

Zabezpieczenia

azure_auth

Przepływ OAuth2 usługi Azure Active Directory

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

Scopes

Nazwa Opis
user_impersonation personifikacja konta użytkownika

Przykłady

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

Definicje

Nazwa Opis
CheckRestrictionEvaluationDetails

Szczegóły oceny zasad.

CheckRestrictionsRequest

Sprawdź parametry ograniczeń zasad opisujące obliczany zasób.

CheckRestrictionsResourceDetails

Informacje o zasobie, który zostanie oceniony.

CheckRestrictionsResult

Wynik oceny ograniczeń zasad sprawdzania zasobu.

ContentEvaluationResult

Wyniki oceny dla podanej częściowej zawartości zasobu.

ErrorDefinition

Definicja błędu.

ErrorResponse

Odpowiedź na błąd.

ExpressionEvaluationDetails

Szczegóły oceny wyrażeń języka zasad.

FieldRestriction

Ograniczenia dotyczące pola nałożonego przez określone zasady.

FieldRestrictionResult

Typ ograniczenia nałożonego na pole.

FieldRestrictions

Ograniczenia, które zostaną umieszczone w polu w zasobie według zasad.

IfNotExistsEvaluationDetails

Szczegóły oceny efektu IfNotExists.

PendingField

Pole, które należy ocenić względem Azure Policy w celu określenia ograniczeń.

PolicyEffectDetails

Szczegóły efektu zastosowanego do zasobu.

PolicyEvaluationResult

Wynik oceny zasad niezgodnych z daną zawartością zasobu.

PolicyReference

Identyfikatory zasobów dla zasad.

TypedErrorInfo

Szczegóły błędu specyficzne dla scenariusza.

CheckRestrictionEvaluationDetails

Szczegóły oceny zasad.

Nazwa Typ Opis
evaluatedExpressions

ExpressionEvaluationDetails[]

Szczegóły obliczonych wyrażeń.

ifNotExistsDetails

IfNotExistsEvaluationDetails

Szczegóły oceny efektu IfNotExists.

reason

string

Przyczyna wyniku oceny.

CheckRestrictionsRequest

Sprawdź parametry ograniczeń zasad opisujące obliczany zasób.

Nazwa Typ Wartość domyślna Opis
includeAuditEffect

boolean

False

Czy należy uwzględnić zasady z efektem "inspekcji" w wynikach. Wartość domyślna to false.

pendingFields

PendingField[]

Lista pól i wartości, które powinny być oceniane pod kątem potencjalnych ograniczeń.

resourceDetails

CheckRestrictionsResourceDetails

Informacje o zasobie, który zostanie oceniony.

CheckRestrictionsResourceDetails

Informacje o zasobie, który zostanie oceniony.

Nazwa Typ Opis
apiVersion

string

Wersja interfejsu API zawartości zasobu.

resourceContent

object

Zawartość zasobu. Powinno to obejmować wszystkie właściwości, które są już znane i może być częściowym zestawem wszystkich właściwości zasobów.

scope

string

Zakres, w którym jest tworzony zasób. Jeśli na przykład zasób jest zasobem podrzędnym, będzie to identyfikator zasobu nadrzędnego.

CheckRestrictionsResult

Wynik oceny ograniczeń zasad sprawdzania zasobu.

Nazwa Typ Opis
contentEvaluationResult

ContentEvaluationResult

Wyniki oceny dla podanej częściowej zawartości zasobu.

fieldRestrictions

FieldRestrictions[]

Ograniczenia, które zostaną umieszczone w różnych polach w zasobie według zasad.

ContentEvaluationResult

Wyniki oceny dla podanej częściowej zawartości zasobu.

Nazwa Typ Opis
policyEvaluations

PolicyEvaluationResult[]

Wyniki oceny zasad względem danej zawartości zasobu. Spowoduje to wskazanie, czy podana zawartość częściowa zostanie odrzucona zgodnie z rzeczywistym stanem.

ErrorDefinition

Definicja błędu.

Nazwa Typ Opis
additionalInfo

TypedErrorInfo[]

Dodatkowe szczegóły błędu specyficzne dla scenariusza.

code

string

Kod błędu specyficzny dla usługi, który służy jako podstatu dla kodu błędu HTTP.

details

ErrorDefinition[]

Szczegóły błędu wewnętrznego.

message

string

Opis błędu.

target

string

Element docelowy błędu.

ErrorResponse

Odpowiedź na błąd.

Nazwa Typ Opis
error

ErrorDefinition

Szczegóły błędu.

ExpressionEvaluationDetails

Szczegóły oceny wyrażeń języka zasad.

Nazwa Typ Opis
expression

string

Obliczone wyrażenie.

expressionKind

string

Rodzaj wyrażenia, które zostało obliczone.

expressionValue

object

Wartość wyrażenia.

operator

string

Operator, aby porównać wartość wyrażenia i wartość docelową.

path

string

Ścieżka właściwości, jeśli wyrażenie jest polem lub aliasem.

result

string

Wynik oceny.

targetValue

object

Wartość docelowa do porównania z wartością wyrażenia.

FieldRestriction

Ograniczenia dotyczące pola nałożonego przez określone zasady.

Nazwa Typ Opis
defaultValue

string

Wartość, która zostanie ustawiona dla pola, jeśli użytkownik nie podaje wartości.

policy

PolicyReference

Szczegóły zasad, które powodują ograniczenie pola.

policyEffect

string

Wpływ zasad, które powodują ograniczenie pola. http://aka.ms/policyeffects

reason

string

Przyczyna ograniczenia.

result

FieldRestrictionResult

Typ ograniczenia nałożonego na pole.

values

string[]

Wartości, które zasady wymagają lub odrzucają pole.

FieldRestrictionResult

Typ ograniczenia nałożonego na pole.

Nazwa Typ Opis
Audit

string

Pola i/lub wartości zostaną poddane inspekcji według zasad.

Deny

string

Pola i/lub wartości zostaną odrzucone przez zasady.

Removed

string

Pole zostanie usunięte przez zasady.

Required

string

Pola i/lub wartości są wymagane przez zasady.

FieldRestrictions

Ograniczenia, które zostaną umieszczone w polu w zasobie według zasad.

Nazwa Typ Opis
field

string

Nazwa pola. Może to być właściwość najwyższego poziomu, taka jak "name" lub "type" lub alias pola Azure Policy.

restrictions

FieldRestriction[]

Ograniczenia wprowadzone w tym polu według zasad.

IfNotExistsEvaluationDetails

Szczegóły oceny efektu IfNotExists.

Nazwa Typ Opis
resourceId

string

Identyfikator ostatniego ocenionego zasobu dla efektu IfNotExists.

totalResources

integer

Łączna liczba zasobów, do których ma zastosowanie warunek istnienia.

PendingField

Pole, które należy ocenić względem Azure Policy w celu określenia ograniczeń.

Nazwa Typ Opis
field

string

Nazwa pola. Może to być właściwość najwyższego poziomu, taka jak "name" lub "type" lub alias pola Azure Policy.

values

string[]

Lista potencjalnych wartości pola, które powinny być oceniane względem Azure Policy.

PolicyEffectDetails

Szczegóły efektu zastosowanego do zasobu.

Nazwa Typ Opis
policyEffect

string

Efekt zastosowany do zasobu. http://aka.ms/policyeffects

PolicyEvaluationResult

Wynik oceny zasad niezgodnych z daną zawartością zasobu.

Nazwa Typ Opis
effectDetails

PolicyEffectDetails

Szczegóły efektu zastosowanego do zasobu.

evaluationDetails

CheckRestrictionEvaluationDetails

Szczegółowe wyniki wyrażeń zasad i wartości, które zostały ocenione.

evaluationResult

string

Wynik oceny zasad względem zasobu. Zazwyczaj będzie to wartość "Niezgodne", ale może zawierać inne wartości, jeśli wystąpiły błędy.

policyInfo

PolicyReference

Szczegóły zasad, które zostały ocenione.

PolicyReference

Identyfikatory zasobów dla zasad.

Nazwa Typ Opis
policyAssignmentId

string

Identyfikator zasobu przypisania zasad.

policyDefinitionId

string

Identyfikator zasobu definicji zasad.

policyDefinitionReferenceId

string

Identyfikator odwołania określonej definicji zasad w definicji zestawu zasad.

policySetDefinitionId

string

Identyfikator zasobu definicji zestawu zasad.

TypedErrorInfo

Szczegóły błędu specyficzne dla scenariusza.

Nazwa Typ Opis
info

Szczegóły błędu specyficzne dla scenariusza.

type

string

Typ uwzględnionych szczegółów błędu.