بنية إثبات نهج Azure

يتم استخدام الإثباتات بواسطة Azure Policy لتعيين حالات توافق الموارد أو النطاقات التي تستهدفها النهج اليدوية. كما أنها تسمح للمستخدمين بتوفير بيانات تعريف إضافية أو ربط بالأدلة التي ترافق حالة التوافق المصدق عليها.

ملاحظة

يمكن إنشاء الإثباتات وإدارتها فقط من خلال Azure Policy Azure Resource Manager (ARM) API أو PowerShell أو Azure 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://storagesamples.blob.core.windows.net/sample-container/contingency_evidence_adendum.docx"
        },
    ],
    "assessmentDate": "2022-11-14T00:00:00Z",
    "metadata": {
         "departmentId": "{departmentID}"
     }
}
الخاصية الوصف
policyAssignmentId معرف التعيين المطلوب الذي يتم تعيين الحالة له.
policyDefinitionReferenceId معرف مرجع التعريف الاختياري، إذا كان ضمن مبادرة نهج.
complianceState الحالة المطلوبة للموارد. القيم المسموح بها هي Compliantو NonCompliantو.Unknown
expiresOn التاريخ الاختياري الذي يجب أن تعود فيه حالة التوافق من حالة التوافق المصدق عليها إلى الحالة الافتراضية
owner معرف عنصر Azure AD اختياري للطرف المسؤول.
comments وصف اختياري لسبب تعيين الحالة.
evidence صفيف اختياري من الارتباطات إلى دليل التصديق.
assessmentDate تاريخ تقييم الأدلة.
metadata معلومات إضافية اختيارية حول التصديق.

نظرا لأن الإثباتات هي مورد منفصل عن تعيينات النهج، فإن لها دورة حياتها الخاصة. يمكنك إثباتات PUT و GET وDELETE باستخدام واجهة برمجة تطبيقات ARM. تتم إزالة الإثباتات إذا تم حذف تعيين النهج اليدوي ذي الصلة أو policyDefinitionReferenceId، أو إذا تم حذف مورد فريد من نوعه للإثبات. راجع مرجع واجهة برمجة تطبيقات REST للنهج لمزيد من التفاصيل.

الخطوات التالية