Share via


Azure 原則補救工作結構

Azure 原則補救工作功能可用來讓資源符合從定義和指派建立的合規性。 不符合 修改deployIfNotExist 定義指派的資源,可以使用補救工作進入合規性。 補救工作會使用指派中指定的身分識別,將 deployIFNotExist 範本或修改作業部署到選取不符合規範的資源。 請參閱 原則指派結構。 以了解如何定義身分識別和補救不符合規範的資源之教學課程,以設定身分識別。

注意

補救工作會補救不符合規範的現有資源。 系統會自動補救新建立或更新適用於 deployIfNotExist 或修改定義指派的資源。

您可以使用 JavaScript 物件標記法 (JSON) 來建立原則補救工作。 原則補救工作包含下列項目的元素:

例如,下列 JSON 會顯示原則定義名為 requiredTags 的原則補救工作, 名為 resourceShouldBeCompliantInit 且具有所有預設設定之計劃指派的一部分。

{
    "id": "/subscriptions/{subId}/resourceGroups/ExemptRG/providers/Microsoft.PolicyInsights/remediations/remediateNotCompliant",
    "apiVersion": "2021-10-01",
    "name": "remediateNotCompliant",
    "type": "Microsoft.PolicyInsights/remediations",
    "properties": {
        "policyAssignmentId": "/subscriptions/{mySubscriptionID}/providers/Microsoft.Authorization/policyAssignments/resourceShouldBeCompliantInit",
        "policyDefinitionReferenceIds":  "requiredTags",
        "resourceCount": 42,
        "parallelDeployments": 6,
        "failureThreshold": {
            "percentage": 0.1
        }
    }
}

如何補救不符合規範的資源指南 中如何觸發補救工作的步驟

注意

補救工作啟動後,這些設定即無法變更。

顯示名稱和描述

您可以使用 displayNamedescription 來識別原則補救工作,並提供其使用內容。 displayName 的長度上限為 128 個字元,description 的長度上限則為 512 個字元。

原則指派識別碼

此欄位必須是原則指派或計劃指派的完整路徑名稱。 policyAssignmentId 是字串,而不是陣列。 此屬性會定義父代資源階層或個別資源會補救的指派。

原則定義識別碼

如果 policyAssignmentId 是用於計劃指派,則必須使用 policyDefinitionReferenceId 屬性來指定主題資源計畫中哪個原則定義需要補救。 由於補救只能在一個定義範圍中補救,此屬性是 字串 而非陣列。 值必須符合 [policyDefinitions.policyDefinitionReferenceId] 欄位中計劃定義中的值,而不是原則定義 Id 的全域識別碼。

資源計數和平行部署

使用 資源計數 來決定在給定的補救工作中要補救多少個不符合規範的資源。 預設值為 500,最大數目為 50,000。 平行部署 會決定要同時補救的資源數目。 允許的範圍介於 1 到 30 之間,預設值為 10。

注意

平行部署是單一補救工作中的部署數量,最多 30 個。 計劃內的單一原則定義或原則參考最多可以平行執行 100 個補救工作。

失敗閾值

一個可選屬性,用於指定如果失敗百分比超過給定閾值,補救工作是否應失敗。 失敗閾值 會以 0 到 100 的百分比表示。 根據預設,失敗閾值為 100%,這表示即使資源無法補救,補救工作仍會繼續補救其他資源。

補救篩選

選擇性屬性會精簡哪些資源適用於補救工作。 允許的篩選條件是資源位置。 除非指定,否則可以補救來自任何區域的資源。

資源探索模式

此屬性會決定如何探索符合補救資格的資源。 若要讓資源符合資格,它必須不符合規範。 根據預設,這個屬性設定為 ExistingNonCompliant。 它也可以設定為 ReEvaluateCompliance,這會觸發該指派的新合規性掃描,並補救找到不符合規範的任何資源。

佈建狀態和部署摘要

建立補救工作之後,會填入 佈建狀態部署摘要 屬性。 佈建狀態 會指出補救工作的狀態。 允許值為 RunningCanceledCancellingFailedCompleteSucceeded部署摘要 是一個陣列屬性,會指出部署的數目以及成功和失敗的部署數目。

已順利完成之補救工作的範例:

{
    "id": "/subscriptions/{subId}/resourceGroups/ExemptRG/providers/Microsoft.PolicyInsights/remediations/remediateNotCompliant",
    "Type":  "Microsoft.PolicyInsights/remediations",
    "Name":  "remediateNotCompliant",
    "PolicyAssignmentId":  "/subscriptions/{mySubscriptionID}/providers/Microsoft.Authorization/policyAssignments/resourceShouldBeCompliantInit",
    "policyDefinitionReferenceIds":  "requiredTags",
    "resourceCount": 42,
    "parallelDeployments": 6,
    "failureThreshold": {
        "percentage": 0.1
    },
    "ProvisioningState":  "Succeeded",
    "DeploymentSummary":  {
        "TotalDeployments":  42,
        "SuccessfulDeployments":  42,
        "FailedDeployments":  0
    },
}

下一步