共用方式為


Azure 原則證明結構

Azure 原則會使用證明來設定以手動原則為目標之資源或範圍的合規性狀態。 它們也允許使用者提供更多元數據或連結至證明合規性狀態的辨識項。

注意

只能透過 Azure 原則 Azure Resource Manager (ARM) APIPowerShellAzure CLI 來建立和管理證明。

最佳作法

證明可用來為指定的手動原則設定個別資源的合規性狀態。 每個適用的資源都需要每個手動原則指派一個證明。 為了方便管理,手動原則應設計成以定義其合規性狀態需要證明之資源界限的範圍為目標。

例如,假設組織依資源群組劃分小組,而每個小組都必須證明開發處理該資源群組內資源的程序。 在此案例中,原則規則的條件應該指定類型等於 Microsoft.Resources/resourceGroups。 如此一來,需要針對該資源群組使用一個證明,而不是針對群組內的每個個別資源。 同樣地,如果組織依訂用帳戶劃分小組,原則規則就應該以 Microsoft.Resources/subscriptions 為目標。

一般而言,提供的辨識項應該與組織結構的相關範圍相對應。 此模式不需要在許多證明之間有重複的辨識項。 這類重複會使手動原則難以管理,並指出原則定義是以錯誤的資源為目標。

範例證明

下列範例會建立新的證明資源,以手動原則指派為目標的資源群組設定合規性狀態:

PUT http://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/attestations/{name}?api-version=2019-10-01

要求本文

下列程式代碼是範例證明資源 JSON 物件:

"properties": {
  "policyAssignmentId": "/subscriptions/{subscriptionID}/providers/microsoft.authorization/policyassignments/{assignmentID}",
  "policyDefinitionReferenceId": "{definitionReferenceID}",
  "complianceState": "Compliant",
  "expiresOn": "2023-07-14T00:00:00Z",
  "owner": "{AADObjectID}",
  "comments": "This subscription has passed a security audit. See attached details for evidence",
  "evidence": [
    {
      "description": "The results of the security audit.",
      "sourceUri": "https://gist.github.com/contoso/9573e238762c60166c090ae16b814011"
    },
    {
      "description": "Description of the attached evidence document.",
      "sourceUri": "https://contoso.blob.core.windows.net/contoso-container/contoso_file.docx"
    },
  ],
  "assessmentDate": "2022-11-14T00:00:00Z",
  "metadata": {
    "departmentId": "{departmentID}"
  }
}
屬性 說明
policyAssignmentId 正在設定狀態的必要指派識別碼。
policyDefinitionReferenceId (選擇性) 定義參考識別碼 (如果在原則方案內)。
complianceState 資源的預期狀態。 允許的值為 CompliantNonCompliantUnknown
expiresOn 合規性狀態應該從證明的合規性狀態還原為默認狀態的選擇性日期。
owner 選擇性Microsoft責任方的 Entra ID 對象標識碼。
comments (選擇性) 設定狀態原因的描述。
evidence (選擇性) 證明辨識項連結的陣列。
assessmentDate 評定辨識項的日期。
metadata (選擇性) 關於證明的其他資訊。

由於證明是與原則指派不同的資源,因此它們會有自己的生命週期。 您可以使用 Azure Resource Manager API 來 PUT、GET 和 DELETE 證明。 如果相關的手動原則指派或刪除 policyDefinitionReferenceId ,或刪除證明的唯一資源,則會移除證明。 如需詳細資訊,請移至原則 REST API 參考 以取得詳細數據。

下一步