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 매개 변수
| Name | In(다음 안에) | 필수 | 형식 | Description |
|---|---|---|---|---|
|
subscription
|
path | True |
string minLength: 1 |
대상 구독의 ID입니다. |
|
api-version
|
query | True |
string minLength: 1 |
이 작업에 사용할 API 버전입니다. |
요청 본문
| Name | 필수 | 형식 | Description |
|---|---|---|---|
| resourceDetails | True |
평가할 리소스에 대한 정보입니다. |
|
| includeAuditEffect |
boolean |
결과에 '감사' 효과가 있는 정책을 포함할지 여부입니다. 기본값은 false입니다. |
|
| pendingFields |
잠재적인 제한 사항에 대해 평가해야 하는 필드 및 값 목록입니다. |
응답
| Name | 형식 | Description |
|---|---|---|
| 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
범위
| Name | Description |
|---|---|
| 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"
}
}
]
}
}
정의
| Name | Description |
|---|---|
|
Check |
정책 평가 세부 정보입니다. |
|
Check |
평가 중인 리소스를 설명하는 검사 정책 제한 매개 변수입니다. |
|
Check |
평가할 리소스에 대한 정보입니다. |
|
Check |
리소스에 대한 검사 정책 제한 평가의 결과입니다. |
|
Content |
제공된 부분 리소스 콘텐츠에 대한 평가 결과입니다. |
|
Error |
오류 정의입니다. |
|
Error |
오류 응답입니다. |
|
Expression |
정책 언어 식의 평가 세부 정보입니다. |
|
Field |
특정 정책에 의해 적용되는 필드에 대한 제한 사항입니다. |
|
Field |
필드에 적용되는 제한 유형입니다. |
|
Field |
정책에 따라 리소스의 필드에 배치될 제한 사항입니다. |
|
If |
IfNotExists 효과에 대한 평가 세부 정보입니다. |
|
Pending |
제한 사항을 결정하기 위해 Azure Policy와 비교해 평가해야 하는 필드입니다. |
|
Policy |
리소스에 적용된 효과의 세부 정보입니다. |
|
Policy |
지정된 리소스 콘텐츠에 대한 비준수 정책 평가의 결과입니다. |
|
Policy |
정책에 대한 리소스 식별자입니다. |
|
Typed |
시나리오별 오류 세부 정보입니다. |
CheckRestrictionEvaluationDetails
정책 평가 세부 정보입니다.
| Name | 형식 | Description |
|---|---|---|
| evaluatedExpressions |
계산된 식의 세부 정보입니다. |
|
| ifNotExistsDetails |
IfNotExists 효과에 대한 평가 세부 정보입니다. |
|
| reason |
string |
평가 결과의 이유입니다. |
CheckRestrictionsRequest
평가 중인 리소스를 설명하는 검사 정책 제한 매개 변수입니다.
| Name | 형식 | Default value | Description |
|---|---|---|---|
| includeAuditEffect |
boolean |
False |
결과에 '감사' 효과가 있는 정책을 포함할지 여부입니다. 기본값은 false입니다. |
| pendingFields |
잠재적인 제한 사항에 대해 평가해야 하는 필드 및 값 목록입니다. |
||
| resourceDetails |
평가할 리소스에 대한 정보입니다. |
CheckRestrictionsResourceDetails
평가할 리소스에 대한 정보입니다.
| Name | 형식 | Description |
|---|---|---|
| apiVersion |
string |
리소스 콘텐츠의 api 버전입니다. |
| resourceContent |
object |
리소스 콘텐츠입니다. 여기에는 이미 알려진 속성이 포함되어야 하며 모든 리소스 속성의 부분 집합일 수 있습니다. |
| scope |
string |
리소스를 만드는 범위입니다. 예를 들어 리소스가 자식 리소스인 경우 부모 리소스의 리소스 ID가 됩니다. |
CheckRestrictionsResult
리소스에 대한 검사 정책 제한 평가의 결과입니다.
| Name | 형식 | Description |
|---|---|---|
| contentEvaluationResult |
제공된 부분 리소스 콘텐츠에 대한 평가 결과입니다. |
|
| fieldRestrictions |
정책별로 리소스의 다양한 필드에 적용할 제한 사항입니다. |
ContentEvaluationResult
제공된 부분 리소스 콘텐츠에 대한 평가 결과입니다.
| Name | 형식 | Description |
|---|---|---|
| policyEvaluations |
지정된 리소스 콘텐츠에 대한 정책 평가 결과입니다. 이는 제공된 부분 콘텐츠가 as-is거부되는지 여부를 나타냅니다. |
ErrorDefinition
오류 정의입니다.
| Name | 형식 | Description |
|---|---|---|
| additionalInfo |
추가 시나리오 관련 오류 세부 정보입니다. |
|
| code |
string |
HTTP 오류 코드의 하위 상태 역할을 하는 서비스별 오류 코드입니다. |
| details |
내부 오류 세부 정보입니다. |
|
| message |
string |
오류에 대한 설명입니다. |
| target |
string |
오류의 대상입니다. |
ErrorResponse
오류 응답입니다.
| Name | 형식 | Description |
|---|---|---|
| error |
오류 세부 정보입니다. |
ExpressionEvaluationDetails
정책 언어 식의 평가 세부 정보입니다.
| Name | 형식 | Description |
|---|---|---|
| expression |
string |
식이 계산되었습니다. |
| expressionKind |
string |
계산된 식의 종류입니다. |
| expressionValue |
object |
식의 값입니다. |
| operator |
string |
식 값과 대상 값을 비교하는 연산자입니다. |
| path |
string |
식이 필드 또는 별칭인 경우 속성 경로입니다. |
| result |
string |
평가 결과입니다. |
| targetValue |
object |
식 값과 비교할 대상 값입니다. |
FieldRestriction
특정 정책에 의해 적용되는 필드에 대한 제한 사항입니다.
| Name | 형식 | Description |
|---|---|---|
| defaultValue |
string |
사용자가 값을 제공하지 않는 경우 정책이 필드에 대해 설정할 값입니다. |
| policy |
필드 제한을 일으키는 정책의 세부 정보입니다. |
|
| policyEffect |
string |
필드 제한을 일으키는 정책의 효과입니다. http://aka.ms/policyeffects |
| reason |
string |
제한의 이유입니다. |
| result |
필드에 적용되는 제한 유형입니다. |
|
| values |
string[] |
정책에 필드가 필요하거나 거부하는 값입니다. |
FieldRestrictionResult
필드에 적용되는 제한 유형입니다.
| 값 | Description |
|---|---|
| Required |
필드 및/또는 값은 정책에 필요합니다. |
| Removed |
필드가 정책에 의해 제거됩니다. |
| Deny |
필드 및/또는 값은 정책에 의해 거부됩니다. |
| Audit |
필드 및/또는 값은 정책에 의해 감사됩니다. |
FieldRestrictions
정책에 따라 리소스의 필드에 배치될 제한 사항입니다.
| Name | 형식 | Description |
|---|---|---|
| field |
string |
@FSHO2@필드의 이름입니다. 이는 'name'이나 'type' 같은 최상위 속성일 수도 있고, Azure Policy 필드 별칭일 수도 있습니다. |
| restrictions |
정책에 따라 해당 필드에 적용되는 제한 사항입니다. |
IfNotExistsEvaluationDetails
IfNotExists 효과에 대한 평가 세부 정보입니다.
| Name | 형식 | Description |
|---|---|---|
| resourceId |
string |
IfNotExists 효과에 대해 마지막으로 평가된 리소스의 ID입니다. |
| totalResources |
integer |
존재 조건이 적용되는 총 리소스 수입니다. |
PendingField
제한 사항을 결정하기 위해 Azure Policy와 비교해 평가해야 하는 필드입니다.
| Name | 형식 | Description |
|---|---|---|
| field |
string |
@FSHO2@필드의 이름입니다. 이는 'name'이나 'type' 같은 최상위 속성일 수도 있고, Azure Policy 필드 별칭일 수도 있습니다. |
| values |
string[] |
Azure Policy와 비교하여 평가해야 할 필드의 잠재적 값 목록입니다. |
PolicyEffectDetails
리소스에 적용된 효과의 세부 정보입니다.
| Name | 형식 | Description |
|---|---|---|
| policyEffect |
string |
리소스에 적용된 효과입니다. http://aka.ms/policyeffects |
PolicyEvaluationResult
지정된 리소스 콘텐츠에 대한 비준수 정책 평가의 결과입니다.
| Name | 형식 | Description |
|---|---|---|
| effectDetails |
리소스에 적용된 효과의 세부 정보입니다. |
|
| evaluationDetails |
평가된 정책 식 및 값의 자세한 결과입니다. |
|
| evaluationResult |
string |
리소스에 대한 정책 평가의 결과입니다. 일반적으로 '비규격'이지만 오류가 발생한 경우 다른 값이 포함될 수 있습니다. |
| policyInfo |
평가된 정책의 세부 정보입니다. |
PolicyReference
정책에 대한 리소스 식별자입니다.
| Name | 형식 | Description |
|---|---|---|
| policyAssignmentId |
string |
정책 할당의 리소스 식별자입니다. |
| policyDefinitionId |
string |
정책 정의의 리소스 식별자입니다. |
| policyDefinitionReferenceId |
string |
정책 집합 정의 내의 특정 정책 정의에 대한 참조 식별자입니다. |
| policySetDefinitionId |
string |
정책 집합 정의의 리소스 식별자입니다. |
TypedErrorInfo
시나리오별 오류 세부 정보입니다.
| Name | 형식 | Description |
|---|---|---|
| info |
시나리오별 오류 세부 정보입니다. |
|
| type |
string |
포함된 오류 세부 정보의 유형입니다. |