Policy Restrictions - Check At Subscription Scope
Проверяет, какие ограничения Azure Policy наложит на ресурс внутри подписки.
POST https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/checkPolicyRestrictions?api-version=2024-10-01
Параметры URI
| Имя | В | Обязательно | Тип | Описание |
|---|---|---|---|---|
|
subscription
|
path | True |
string minLength: 1 |
Идентификатор целевой подписки. |
|
api-version
|
query | True |
string minLength: 1 |
Версия API, используемая для данной операции. |
Текст запроса
| Имя | Обязательно | Тип | Описание |
|---|---|---|---|
| resourceDetails | True |
Сведения о ресурсе, который будет оцениваться. |
|
| includeAuditEffect |
boolean |
Следует ли включать политики с эффектом аудита в результаты. По умолчанию false. |
|
| pendingFields |
Список полей и значений, которые следует оценить для потенциальных ограничений. |
Ответы
| Имя | Тип | Описание |
|---|---|---|
| 200 OK |
Ограничения, которые будут наложены на ресурс Azure Policy. |
|
| Other Status Codes |
Ответ на ошибку, описывающий причину сбоя операции. |
Безопасность
azure_auth
Azure Active Directory OAuth2 Flow
Тип:
oauth2
Flow:
implicit
URL-адрес авторизации:
https://login.microsoftonline.com/common/oauth2/authorize
Области
| Имя | Описание |
|---|---|
| user_impersonation | олицетворения учетной записи пользователя |
Примеры
| Check policy restrictions at subscription scope |
| Check policy restrictions at subscription scope including audit effect |
Check policy restrictions at subscription scope
Образец запроса
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"
}
]
}
Пример ответа
{
"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
Образец запроса
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
}
Пример ответа
{
"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"
}
}
]
}
}
Определения
| Имя | Описание |
|---|---|
|
Check |
Сведения об оценке политики. |
|
Check |
Параметры политики проверки, описывающие вычисляемый ресурс. |
|
Check |
Сведения о ресурсе, который будет оцениваться. |
|
Check |
Результат оценки ограничений политики проверки для ресурса. |
|
Content |
Результаты оценки для предоставленного содержимого частичного ресурса. |
|
Error |
Определение ошибки. |
|
Error |
Ответ на ошибку. |
|
Expression |
Сведения об оценке выражений языка политики. |
|
Field |
Ограничения на поле, введенное определенной политикой. |
|
Field |
Тип ограничений, введенных для поля. |
|
Field |
Ограничения, которые будут помещены в поле в ресурсе по политике. |
|
If |
Сведения об оценке эффекта IfNotExists. |
|
Pending |
Поле, которое следует оценивать по Azure Policy для определения ограничений. |
|
Policy |
Сведения о эффекте, примененного к ресурсу. |
|
Policy |
Результат оценки несоответствующей политики по заданному содержимому ресурса. |
|
Policy |
Идентификаторы ресурсов для политики. |
|
Typed |
Сведения о конкретной ошибке сценария. |
CheckRestrictionEvaluationDetails
Сведения об оценке политики.
| Имя | Тип | Описание |
|---|---|---|
| evaluatedExpressions |
Сведения о вычисляемых выражениях. |
|
| ifNotExistsDetails |
Сведения об оценке эффекта IfNotExists. |
|
| reason |
string |
Причина результата оценки. |
CheckRestrictionsRequest
Параметры политики проверки, описывающие вычисляемый ресурс.
| Имя | Тип | Default value | Описание |
|---|---|---|---|
| includeAuditEffect |
boolean |
False |
Следует ли включать политики с эффектом аудита в результаты. По умолчанию false. |
| pendingFields |
Список полей и значений, которые следует оценить для потенциальных ограничений. |
||
| resourceDetails |
Сведения о ресурсе, который будет оцениваться. |
CheckRestrictionsResourceDetails
Сведения о ресурсе, который будет оцениваться.
| Имя | Тип | Описание |
|---|---|---|
| apiVersion |
string |
Версия API содержимого ресурса. |
| resourceContent |
object |
Содержимое ресурса. Это должно включать все уже известные свойства и может быть частичным набором всех свойств ресурсов. |
| scope |
string |
Область создания ресурса. Например, если ресурс является дочерним ресурсом, это будет идентификатор ресурса родительского ресурса. |
CheckRestrictionsResult
Результат оценки ограничений политики проверки для ресурса.
| Имя | Тип | Описание |
|---|---|---|
| contentEvaluationResult |
Результаты оценки для предоставленного содержимого частичного ресурса. |
|
| fieldRestrictions |
Ограничения, которые будут помещены в различные поля в ресурсе по политике. |
ContentEvaluationResult
Результаты оценки для предоставленного содержимого частичного ресурса.
| Имя | Тип | Описание |
|---|---|---|
| policyEvaluations |
Результаты оценки политики по заданному содержимому ресурса. Это означает, что частичное содержимое, предоставленное, будет отказано в as-is. |
ErrorDefinition
Определение ошибки.
| Имя | Тип | Описание |
|---|---|---|
| additionalInfo |
Дополнительные сведения об ошибке для конкретного сценария. |
|
| code |
string |
Код ошибки конкретной службы, который служит подстатусом для кода ошибки HTTP. |
| details |
Сведения о внутренней ошибке. |
|
| message |
string |
Описание ошибки. |
| target |
string |
Целевой объект ошибки. |
ErrorResponse
Ответ на ошибку.
| Имя | Тип | Описание |
|---|---|---|
| error |
Сведения об ошибке. |
ExpressionEvaluationDetails
Сведения об оценке выражений языка политики.
| Имя | Тип | Описание |
|---|---|---|
| expression |
string |
Выражение вычисляется. |
| expressionKind |
string |
Тип вычисляемого выражения. |
| expressionValue |
object |
Значение выражения. |
| operator |
string |
Оператор для сравнения значения выражения и целевого значения. |
| path |
string |
Путь к свойству, если выражение является полем или псевдонимом. |
| result |
string |
Результат оценки. |
| targetValue |
object |
Целевое значение для сравнения со значением выражения. |
FieldRestriction
Ограничения на поле, введенное определенной политикой.
| Имя | Тип | Описание |
|---|---|---|
| defaultValue |
string |
Значение, заданное политикой для поля, если пользователь не предоставляет значение. |
| policy |
Сведения о политике, вызывающей ограничение поля. |
|
| policyEffect |
string |
Эффект политики, вызывающей ограничение поля. http://aka.ms/policyeffects |
| reason |
string |
Причина ограничения. |
| result |
Тип ограничений, введенных для поля. |
|
| values |
string[] |
Значения, которые политика требует или запрещает для поля. |
FieldRestrictionResult
Тип ограничений, введенных для поля.
| Значение | Описание |
|---|---|
| Required |
Поля и/или значения требуются политикой. |
| Removed |
Поле будет удалено политикой. |
| Deny |
Поле и(или) значения будут отклонены политикой. |
| Audit |
Поля и (или) значения будут проверяться политикой. |
FieldRestrictions
Ограничения, которые будут помещены в поле в ресурсе по политике.
| Имя | Тип | Описание |
|---|---|---|
| field |
string |
Имя поля. Это может быть свойство верхнего уровня, например 'name' или 'type', либо псевдоним поля Azure Policy. |
| restrictions |
Ограничения, введенные в это поле по политике. |
IfNotExistsEvaluationDetails
Сведения об оценке эффекта IfNotExists.
| Имя | Тип | Описание |
|---|---|---|
| resourceId |
string |
Идентификатор последнего вычисляемого ресурса для эффекта IfNotExists. |
| totalResources |
integer |
Общее количество ресурсов, к которым применимо условие существования. |
PendingField
Поле, которое следует оценивать по Azure Policy для определения ограничений.
| Имя | Тип | Описание |
|---|---|---|
| field |
string |
Имя поля. Это может быть свойство верхнего уровня, например 'name' или 'type', либо псевдоним поля Azure Policy. |
| values |
string[] |
Список потенциальных значений для поля, которые следует оценивать по Azure Policy. |
PolicyEffectDetails
Сведения о эффекте, примененного к ресурсу.
| Имя | Тип | Описание |
|---|---|---|
| policyEffect |
string |
Эффект, примененный к ресурсу. http://aka.ms/policyeffects |
PolicyEvaluationResult
Результат оценки несоответствующей политики по заданному содержимому ресурса.
| Имя | Тип | Описание |
|---|---|---|
| effectDetails |
Сведения о эффекте, примененного к ресурсу. |
|
| evaluationDetails |
Подробные результаты выражений и значений политики, которые были оценены. |
|
| evaluationResult |
string |
Результат оценки политики для ресурса. Обычно это будет значение "NonCompliant", но может содержать другие значения, если обнаружены ошибки. |
| policyInfo |
Сведения о политике, которую вычислили. |
PolicyReference
Идентификаторы ресурсов для политики.
| Имя | Тип | Описание |
|---|---|---|
| policyAssignmentId |
string |
Идентификатор ресурса назначения политики. |
| policyDefinitionId |
string |
Идентификатор ресурса определения политики. |
| policyDefinitionReferenceId |
string |
Ссылочный идентификатор определенного определения политики в определении набора политик. |
| policySetDefinitionId |
string |
Идентификатор ресурса определения набора политик. |
TypedErrorInfo
Сведения о конкретной ошибке сценария.
| Имя | Тип | Описание |
|---|---|---|
| info |
Сведения о конкретной ошибке сценария. |
|
| type |
string |
Тип включенных сведений об ошибке. |