Azure Policy 構成証明の構造

構成証明は、Azure Policy によって、手動ポリシーの対象となるリソースまたはスコープのコンプライアンス状態を設定するために使われます。 ユーザーがこれを使って、追加のメタデータや、証明されたコンプライアンス状態に付随する証拠へのリンクを提供することもできます。

注意

構成証明は、Azure Policy Azure Resource Manager (ARM) APIPowerShell または Azure CLI を介してのみ作成および管理できます。

ベスト プラクティス

構成証明を使って、指定した手動ポリシーの個々のリソースのコンプライアンス状態を設定できます。 つまり、該当する各リソースには、手動ポリシー割り当てごとに 1 つの証明書が必要です。 管理を容易にするため、コンプライアンス状態を証明する必要があるリソースの境界を定義するスコープをターゲットにするように手動ポリシーを設計してください。

たとえば、ある組織がリソース グループごとにチームを分け、各チームが、そのリソース グループ内のリソースを処理するプロシージャの開発を証明する必要があるとします。 このシナリオでは、ポリシー規則の条件として、種類が Microsoft.Resources/resourceGroups に等しいことを指定する必要があります。 このようにすると、リソース グループ内の個々のリソースではなく、リソース グループに対して 1 つの構成証明が必要になります。 同様に、組織がサブスクリプションによってチームを分割する場合、ポリシー規則は 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://storagesamples.blob.core.windows.net/sample-container/contingency_evidence_adendum.docx"
        },
    ],
    "assessmentDate": "2022-11-14T00:00:00Z",
    "metadata": {
         "departmentId": "{departmentID}"
     }
}
プロパティ 説明
policyAssignmentId 状態を設定する必須の割り当て ID。
policyDefinitionReferenceId 省略可能な定義参照 ID (ポリシー イニシアティブ内の場合)。
complianceState リソースの望ましい状態。 使用できる値は、CompliantNonCompliant、および Unknown です。
expiresOn 構成証明されたコンプライアンス状態から既定の状態に戻す必要がある日付 (省略可能)
owner 責任者の Azure AD オブジェクト ID (省略可能)。
comments 状態が設定される理由についての説明 (省略可能)。
evidence 構成証明へのリンクの配列 (省略可能)。
assessmentDate 証拠が評価された日付。
metadata 構成証明に関する追加情報 (省略可能)。

構成証明はポリシー割り当てとは別のリソースであるため、独自のライフサイクルがあります。 ARM API を使って、構成証明の PUT、GET、DELETE を行うことができます。 関連する手動ポリシー割り当てまたは policyDefinitionReferenceId が削除された場合、または構成証明に固有のリソースが削除された場合、構成証明は削除されます。 詳細については、ポリシー REST API リファレンスを参照してください。

次のステップ