다음을 통해 공유


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
subscriptionId
path True

string

minLength: 1

대상 구독의 ID입니다.

api-version
query True

string

minLength: 1

이 작업에 사용할 API 버전입니다.

요청 본문

Name 필수 형식 Description
resourceDetails True

CheckRestrictionsResourceDetails

평가할 리소스에 대한 정보입니다.

includeAuditEffect

boolean

결과에 '감사' 효과가 있는 정책을 포함할지 여부입니다. 기본값은 false입니다.

pendingFields

PendingField[]

잠재적인 제한 사항에 대해 평가해야 하는 필드 및 값 목록입니다.

응답

Name 형식 Description
200 OK

CheckRestrictionsResult

Azure Policy가 리소스에 부과할 제한 사항들.

Other Status Codes

ErrorResponse

작업이 실패한 이유를 설명하는 오류 응답입니다.

보안

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
CheckRestrictionEvaluationDetails

정책 평가 세부 정보입니다.

CheckRestrictionsRequest

평가 중인 리소스를 설명하는 검사 정책 제한 매개 변수입니다.

CheckRestrictionsResourceDetails

평가할 리소스에 대한 정보입니다.

CheckRestrictionsResult

리소스에 대한 검사 정책 제한 평가의 결과입니다.

ContentEvaluationResult

제공된 부분 리소스 콘텐츠에 대한 평가 결과입니다.

ErrorDefinition

오류 정의입니다.

ErrorResponse

오류 응답입니다.

ExpressionEvaluationDetails

정책 언어 식의 평가 세부 정보입니다.

FieldRestriction

특정 정책에 의해 적용되는 필드에 대한 제한 사항입니다.

FieldRestrictionResult

필드에 적용되는 제한 유형입니다.

FieldRestrictions

정책에 따라 리소스의 필드에 배치될 제한 사항입니다.

IfNotExistsEvaluationDetails

IfNotExists 효과에 대한 평가 세부 정보입니다.

PendingField

제한 사항을 결정하기 위해 Azure Policy와 비교해 평가해야 하는 필드입니다.

PolicyEffectDetails

리소스에 적용된 효과의 세부 정보입니다.

PolicyEvaluationResult

지정된 리소스 콘텐츠에 대한 비준수 정책 평가의 결과입니다.

PolicyReference

정책에 대한 리소스 식별자입니다.

TypedErrorInfo

시나리오별 오류 세부 정보입니다.

CheckRestrictionEvaluationDetails

정책 평가 세부 정보입니다.

Name 형식 Description
evaluatedExpressions

ExpressionEvaluationDetails[]

계산된 식의 세부 정보입니다.

ifNotExistsDetails

IfNotExistsEvaluationDetails

IfNotExists 효과에 대한 평가 세부 정보입니다.

reason

string

평가 결과의 이유입니다.

CheckRestrictionsRequest

평가 중인 리소스를 설명하는 검사 정책 제한 매개 변수입니다.

Name 형식 Default value Description
includeAuditEffect

boolean

False

결과에 '감사' 효과가 있는 정책을 포함할지 여부입니다. 기본값은 false입니다.

pendingFields

PendingField[]

잠재적인 제한 사항에 대해 평가해야 하는 필드 및 값 목록입니다.

resourceDetails

CheckRestrictionsResourceDetails

평가할 리소스에 대한 정보입니다.

CheckRestrictionsResourceDetails

평가할 리소스에 대한 정보입니다.

Name 형식 Description
apiVersion

string

리소스 콘텐츠의 api 버전입니다.

resourceContent

object

리소스 콘텐츠입니다. 여기에는 이미 알려진 속성이 포함되어야 하며 모든 리소스 속성의 부분 집합일 수 있습니다.

scope

string

리소스를 만드는 범위입니다. 예를 들어 리소스가 자식 리소스인 경우 부모 리소스의 리소스 ID가 됩니다.

CheckRestrictionsResult

리소스에 대한 검사 정책 제한 평가의 결과입니다.

Name 형식 Description
contentEvaluationResult

ContentEvaluationResult

제공된 부분 리소스 콘텐츠에 대한 평가 결과입니다.

fieldRestrictions

FieldRestrictions[]

정책별로 리소스의 다양한 필드에 적용할 제한 사항입니다.

ContentEvaluationResult

제공된 부분 리소스 콘텐츠에 대한 평가 결과입니다.

Name 형식 Description
policyEvaluations

PolicyEvaluationResult[]

지정된 리소스 콘텐츠에 대한 정책 평가 결과입니다. 이는 제공된 부분 콘텐츠가 as-is거부되는지 여부를 나타냅니다.

ErrorDefinition

오류 정의입니다.

Name 형식 Description
additionalInfo

TypedErrorInfo[]

추가 시나리오 관련 오류 세부 정보입니다.

code

string

HTTP 오류 코드의 하위 상태 역할을 하는 서비스별 오류 코드입니다.

details

ErrorDefinition[]

내부 오류 세부 정보입니다.

message

string

오류에 대한 설명입니다.

target

string

오류의 대상입니다.

ErrorResponse

오류 응답입니다.

Name 형식 Description
error

ErrorDefinition

오류 세부 정보입니다.

ExpressionEvaluationDetails

정책 언어 식의 평가 세부 정보입니다.

Name 형식 Description
expression

string

식이 계산되었습니다.

expressionKind

string

계산된 식의 종류입니다.

expressionValue

object

식의 값입니다.

operator

string

식 값과 대상 값을 비교하는 연산자입니다.

path

string

식이 필드 또는 별칭인 경우 속성 경로입니다.

result

string

평가 결과입니다.

targetValue

object

식 값과 비교할 대상 값입니다.

FieldRestriction

특정 정책에 의해 적용되는 필드에 대한 제한 사항입니다.

Name 형식 Description
defaultValue

string

사용자가 값을 제공하지 않는 경우 정책이 필드에 대해 설정할 값입니다.

policy

PolicyReference

필드 제한을 일으키는 정책의 세부 정보입니다.

policyEffect

string

필드 제한을 일으키는 정책의 효과입니다. http://aka.ms/policyeffects

reason

string

제한의 이유입니다.

result

FieldRestrictionResult

필드에 적용되는 제한 유형입니다.

values

string[]

정책에 필드가 필요하거나 거부하는 값입니다.

FieldRestrictionResult

필드에 적용되는 제한 유형입니다.

Description
Required

필드 및/또는 값은 정책에 필요합니다.

Removed

필드가 정책에 의해 제거됩니다.

Deny

필드 및/또는 값은 정책에 의해 거부됩니다.

Audit

필드 및/또는 값은 정책에 의해 감사됩니다.

FieldRestrictions

정책에 따라 리소스의 필드에 배치될 제한 사항입니다.

Name 형식 Description
field

string

@FSHO2@필드의 이름입니다. 이는 'name'이나 'type' 같은 최상위 속성일 수도 있고, Azure Policy 필드 별칭일 수도 있습니다.

restrictions

FieldRestriction[]

정책에 따라 해당 필드에 적용되는 제한 사항입니다.

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

PolicyEffectDetails

리소스에 적용된 효과의 세부 정보입니다.

evaluationDetails

CheckRestrictionEvaluationDetails

평가된 정책 식 및 값의 자세한 결과입니다.

evaluationResult

string

리소스에 대한 정책 평가의 결과입니다. 일반적으로 '비규격'이지만 오류가 발생한 경우 다른 값이 포함될 수 있습니다.

policyInfo

PolicyReference

평가된 정책의 세부 정보입니다.

PolicyReference

정책에 대한 리소스 식별자입니다.

Name 형식 Description
policyAssignmentId

string

정책 할당의 리소스 식별자입니다.

policyDefinitionId

string

정책 정의의 리소스 식별자입니다.

policyDefinitionReferenceId

string

정책 집합 정의 내의 특정 정책 정의에 대한 참조 식별자입니다.

policySetDefinitionId

string

정책 집합 정의의 리소스 식별자입니다.

TypedErrorInfo

시나리오별 오류 세부 정보입니다.

Name 형식 Description
info

시나리오별 오류 세부 정보입니다.

type

string

포함된 오류 세부 정보의 유형입니다.