다음을 통해 공유


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로 설정할 수도 있는데, 이 경우 해당 할당에 대한 새로운 준수 검사가 트리거되고 규정을 준수하지 않는 것으로 확인된 리소스가 수정됩니다.

프로비전 상태 및 배포 요약

수정 작업이 만들어지면 ProvisioningStateDeploymentSummary 속성이 채워집니다. 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
  },
}

다음 단계