Azure Policy 構成証明の構造
構成証明は、Azure Policy によって、手動ポリシーの対象となるリソースまたはスコープのコンプライアンス状態を設定するために使われます。 ユーザーがこれを使って、追加のメタデータや、構成証明されたコンプライアンスの状態に付随する証拠へのリンクを提供することもできます。
Note
構成証明は、Azure Policy Azure Resource Manager (ARM) API、PowerShell または 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://contoso.blob.core.windows.net/contoso-container/contoso_file.docx"
},
],
"assessmentDate": "2022-11-14T00:00:00Z",
"metadata": {
"departmentId": "{departmentID}"
}
}
プロパティ | 説明 |
---|---|
policyAssignmentId |
状態を設定する必須の割り当て ID。 |
policyDefinitionReferenceId |
省略可能な定義参照 ID (ポリシー イニシアティブ内の場合)。 |
complianceState |
リソースの望ましい状態。 使用できる値は、Compliant 、NonCompliant 、および Unknown です。 |
expiresOn |
コンプライアンスの状態を、構成証明されたコンプライアンスの状態から既定の状態に戻す必要がある日付 (省略可能)。 |
owner |
責任者の Microsoft Entra ID オブジェクト ID (省略可能)。 |
comments |
状態が設定される理由についての説明 (省略可能)。 |
evidence |
構成証明へのリンクの配列 (省略可能)。 |
assessmentDate |
証拠が評価された日付。 |
metadata |
構成証明に関する追加情報 (省略可能)。 |
構成証明はポリシー割り当てとは別のリソースであるため、独自のライフサイクルがあります。 Azure Resource Manager API を使って、構成証明の PUT、GET、DELETE を行うことができます。 関連する手動ポリシー割り当てまたは policyDefinitionReferenceId
が削除された場合、または構成証明に固有のリソースが削除された場合、構成証明は削除されます。 詳細については、Policy の REST API リファレンスを参照してください。