Azure Policy 수정 작업 구조
Azure Policy 수정 작업 기능은 정의 및 할당에서 설정된 규정 준수로 리소스를 가져오는 데 사용됩니다. 수정 또는 deployIfNotExists 정의 할당을 준수하지 않는 리소스는 수정 작업을 사용하여 규정 준수로 가져올 수 있습니다. 수정 작업은 할당에 지정된 ID를 사용하여 선택된 비준수 리소스에 deployIfNotExists
템플릿 또는 modify
작업을 배포합니다. 자세한 내용은 정책 할당 구조를 참조하여 ID가 정의되는 방식을 파악하고 비준수 리소스 수정 자습서를 참조하여 ID를 구성합니다.
수정 작업은 규정을 준수하지 않는 기존 리소스를 수정하는 작업입니다. deployIfNotExists
또는 modify
정의 할당에 적용 가능한 새로 만들어지거나 업데이트된 리소스는 자동으로 수정됩니다.
참고 항목
Azure Policy 서비스는 마지막 수정 후 60일이 지나면 수정 작업 리소스를 삭제합니다.
JSON(JavaScript Object Notation)을 사용하여 정책 수정 작업을 만듭니다. 정책 수정 작업에는 다음의 요소가 포함됩니다.
예를 들어 다음 JSON은 resourceShouldBeCompliantInit
모든 기본 설정을 사용하여 명명된 이니셔티브 할당의 requiredTags
일부로 명명된 정책 정의에 대한 정책 수정 작업을 보여 줍니다.
{
"id": "/subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/remediations/remediateNotCompliant",
"apiVersion": "2021-10-01",
"name": "remediateNotCompliant",
"type": "Microsoft.PolicyInsights/remediations",
"properties": {
"policyAssignmentId": "/subscriptions/{subID}/providers/Microsoft.Authorization/policyAssignments/resourceShouldBeCompliantInit",
"policyDefinitionReferenceId": "requiredTags",
"resourceCount": 42,
"parallelDeployments": 6,
"failureThreshold": {
"percentage": 0.1
}
}
}
비준수 리소스를 수정하는 방법 가이드에서 수정 작업을 트리거하는 방법에 대한 단계. 이러한 설정은 수정 작업이 시작된 후에는 변경할 수 없습니다.
정책 할당 ID
이 필드는 정책 할당 또는 이니셔티브 할당의 전체 경로 이름이어야 합니다. policyAssignmentId
는 문자열이며 배열이 아닙니다. 이 속성은 부모 리소스 계층 구조 또는 개별 리소스가 수정되는 할당을 정의합니다.
정책 정의 ID
policyAssignmentId
가 이니셔티브 할당용인 경우 policyDefinitionReferenceId
속성을 사용하여 주체 리소스가 수정되어야 하는 이니셔티브의 정책 정의를 지정해야 합니다. 수정은 한 정의의 범위에서 수정할 수 있으므로 이 속성은 배열이 아닌 문자열입니다. 값은 policyDefinitions.policyDefinitionReferenceId
정책 정의에 대한 전역 식별자 대신 필드Id
의 이니셔티브 정의 값과 일치해야 합니다.
리소스 수 및 병렬 배포
resourceCount
를 사용하여 지정된 수정 작업에서 수정해야 할 비준수 리소스의 수를 결정합니다. 기본값은 500이며 최대 수는 50,000입니다. parallelDeployments
는 동시에 얼마나 많은 리소스를 수정할 것인지 결정합니다. 허용되는 범위는 1에서 30 사이이며 기본값은 10입니다.
병렬 배포는 최대 30개의 단일 수정 작업 내의 배포 수입니다. 이니셔티브 내에서 단일 정책 정의 또는 정책 참조에 대해 병렬로 실행되는 최대 100개 수정 작업이 있을 수 있습니다.
실패 임계값
실패 백분율이 지정된 임계값을 초과하는 경우 수정 작업이 실패할지 여부를 지정하는 데 사용됩니다. failureThreshold
는 0~100까지의 백분율로 표현됩니다. 기본적으로 실패 임계값은 100%입니다. 즉, 리소스가 수정에 실패하더라도 수정 작업은 다른 리소스를 계속 수정합니다.
수정 필터
선택적 속성은 수정 작업에 적용할 수 있는 리소스를 구체화합니다. 허용되는 필터는 리소스 위치입니다. 지정하지 않는 한 모든 지역의 리소스를 수정할 수 있습니다.
리소스 검색 모드
이 속성은 수정에 적합한 리소스를 검색하는 방법을 결정합니다. 리소스가 적격이 되려면 비준수여야 합니다. 기본적으로 이 속성은 ExistingNonCompliant
로 설정됩니다. ReEvaluateCompliance
로 설정할 수도 있는데, 이 경우 해당 할당에 대한 새로운 준수 검사가 트리거되고 규정을 준수하지 않는 것으로 확인된 리소스가 수정됩니다.
프로비전 상태 및 배포 요약
수정 작업이 만들어지면 ProvisioningState
및 DeploymentSummary
속성이 채워집니다. ProvisioningState
는 수정 작업의 상태를 나타냅니다. 허용되는 값은 Running
, Canceled
, Cancelling
, Failed
, Complete
, 또는 Succeeded
입니다. DeploymentSummary
는 배포 횟수와 성공한 배포 횟수, 실패한 배포 횟수를 나타내는 배열 속성입니다.
성공적으로 완료된 수정 작업 샘플:
{
"id": "/subscriptions/{subId}/resourceGroups/ExemptRG/providers/Microsoft.PolicyInsights/remediations/remediateNotCompliant",
"Type": "Microsoft.PolicyInsights/remediations",
"Name": "remediateNotCompliant",
"PolicyAssignmentId": "/subscriptions/{mySubscriptionID}/providers/Microsoft.Authorization/policyAssignments/resourceShouldBeCompliantInit",
"policyDefinitionReferenceId": "requiredTags",
"resourceCount": 42,
"parallelDeployments": 6,
"failureThreshold": {
"percentage": 0.1
},
"ProvisioningState": "Succeeded",
"DeploymentSummary": {
"TotalDeployments": 42,
"SuccessfulDeployments": 42,
"FailedDeployments": 0
},
}
다음 단계
- 비준수의 원인을 확인하는 방법을 이해합니다.
- 규정 준수 데이터를 가져오는 방법을 알아봅니다.
- 규정 비준수 리소스를 수정하는 방법을 알아봅니다.
- Azure Policy 상태 변경 이벤트에 대응하는 방법을 이해합니다.
- 정책 정의 구조에 대해 알아봅니다.
- 정책 할당 구조에 대해 알아봅니다.