استكشاف المشكلات المتعلقة بتنفيذ نهج Azure في Key Vault وإصلاحها

توضح لك هذه المقالة كيفية استكشاف الأخطاء العامة التي قد تحدث عند إعداد نهج Azure لحل Key Vault، وتقترح طرقا لحلها.

نبذة عن نهج Azure في Key Vault

نهج Azure هو أداة إدارة تمنح المستخدمين القدرة على تدقيق بيئة Azure لديهم وإدارتها على نطاق واسع. يسمح لك نهج Azure بوضع حواجز حماية على موارد Azure للتأكد من أنها متوافقة مع قواعد النهج المعينة. وهو يسمح للمستخدمين بإجراء التدقيق والفرض في الوقت الفعلي ومعالجة بيئة Azure لديهم. ستكون نتائج عمليات التدقيق التي يتم إجراؤها بواسطة النهج متاحة للمستخدمين في لوحة معلومات التوافق حيث سيتمكنون من رؤية التنقل لأسفل للموارد والمكونات المتوافقة وغير المتوافقة.

تسجيل الدخول

لمراقبة كيفية إجراء تقييمات النهج، يمكنك مراجعة سجلات Key Vault. تمكين تسجيل الدخول إلى Azure Key Vault، الذي يحفظ المعلومات في حساب تخزين Azure الذي توفره. للحصول على إرشادات خطوة بخطوة، راجع كيفية تمكين تسجيل Key Vault.

عند تمكين تسجيل الدخول، سيتم إنشاء حاوية جديدة تسمى AzurePolicyEvaluationDetails تلقائياً لجمع معلومات تسجيل متعلقة بالنهج في حساب التخزين المحدد.

إشعار

يجب عليك تنظيم الوصول إلى بيانات المراقبة بدقة، خاصة ملفات السجل، لأنها يمكن أن تحتوي على معلومات حساسة. تعرَّف على تطبيق دور مراقبة Azure المضمن وتقييد الوصول.

يتم تخزين الكرات الفردية كنص، بتنسيق كائن ثنائي كبير الحجم JSON.

لنلق نظرة على مثال لإدخال سجل لنهج مفتاح: يجب أن يكون للمفاتيح تاريخ انتهاء صلاحية معين. يُقيّم هذا النهج جميع المفاتيح الموجودة في مخازن المفاتيح لديك، ويُحدّد المفاتيح التي لم يُعيَّن لها تاريخ انتهاء صلاحية بأنها غير متماثلة.

{
  "ObjectName": "example",
  "ObjectType": "Key",
  "IsComplianceCheck": false,
  "EvaluationDetails": [
    {
      "AssignmentId": "<subscription ID>",
      "AssignmentDisplayName": "[Preview]: Key Vault keys should have an expiration date",
      "DefinitionId": "<definition ID>",
      "DefinitionDisplayName": "[Preview]: Key Vault keys should have an expiration date",
      "Outcome": "NonCompliant",
      "ExpressionEvaluationDetails": [
        {
          "Result": "True",
          "Expression": "type",
          "ExpressionKind": "Field",
          "ExpressionValue": "Microsoft.KeyVault.Data/vaults/keys",
          "TargetValue": "Microsoft.KeyVault.Data/vaults/keys",
          "Operator": "Equals"
        },
        {
          "Result": "True",
          "Expression": "Microsoft.KeyVault.Data/vaults/keys/attributes.expiresOn",
          "ExpressionKind": "Field",
          "ExpressionValue": "******",
          "TargetValue": "False",
          "Operator": "Exists"
        }
      ]
    }
  ]
}

يسرد الجدول التالي أسماء الحقول وأوصافها:

اسم الحقل ‏‏الوصف
ObjectName اسم الكائن
ObjectType نوع عنصر key vault: الشهادة أو البيانات السرية أو المفتاح
IsComplianceCheck صحيح إذا حدث التقييم أثناء التدقيق الليلي، خطأ إذا حدث التقييم أثناء إنشاء الموارد أو تحديثها
AssignmentId معرّف تعيين النهج
AssignmentDisplayName اسم مألوف لتعيين النهج
DefinitionId معرّف تعريف النهج للتعيين
DefinitionDisplayName اسم سهل لتعريف النهج للتعيين
غب نتائج تقييم النهج
ExpressionEvaluationDetails تفاصيل حول التقييمات التي أُجريت أثناء تقييم النهج
ExpressionValue القيمة الفعلية للحقل المحدد أثناء تقييم النهج
TargetValue القيمة المتوقعة للحقل المحدد

الأسئلة الشائعة

تم منع استرداد Key Vault بواسطة نهج Azure

قد يكون أحد الأسباب أن اشتراكك (أو مجموعة الإدارة) لديه نهج يمنع الاسترداد. الإصلاح هو ضبط النهج بحيث لا يتم تطبيقه عند استرداد مخزن.

إذا رأيت نوع RequestDisallowedByPolicy الخطأ للاسترداد بسبب النهج المضمن ، فتأكد من أنك تستخدم الإصدار الأكثر تحديثا.

إذا قمت بإنشاء نهج مخصص بمنطقك الخاص، فإليك مثالا لجزء من نهج يمكن استخدامه لطلب حذف مبدئي. يستخدم استرداد مخزن محذوف مبدئيا واجهة برمجة التطبيقات نفسها لإنشاء مخزن أو تحديثه. ومع ذلك، بدلاً من تحديد خصائص المخزن، فإنه يحتوي على خاصية "createMode" واحدة مع قيمة "recover". سيتم استرداد المخزن بأي خصائص كانت لديه عند حذفه. كما أن النُهُج التي تمنع الطلبات ما لم يكن لديها خصائص محددة تم تكوينها ستمنع استرداد الخزائن المحذوفة مبدئيا. ويكون الإصلاح بتضمين عبارة ستجعل النهج يتجاهل الطلبات التي يتم تعيين "createMode" إلى "recover":

سترى أن لديه جملة تؤدي إلى تطبيق النهج فقط عندما يكون "createMode" غير مساويا لـ "recover":


    "policyRule": { 
      "if": {
        "allOf": [
          {
            "field": "type",
            "equals": "Microsoft.KeyVault/vaults"
          }, 
          {
            "not": {
              "field": "Microsoft.Keyvault/vaults/createMode",
              "equals": "recover"
            }
          },
          {
            "anyOf": [
              {
                "field": "Microsoft.KeyVault/vaults/enableSoftDelete",
                "exists": "false"
              },
              {
                "field": "Microsoft.KeyVault/vaults/enableSoftDelete",
                "equals": "false"
              }
            ]
          }
        ]
      },
      "then": {
        "effect": "[parameters('effect')]"
      }
    }

زمن انتقال حذف تعيين نهج Azure في Key Vault

Microsoft.KeyVault.Data: قد يستغرق تعيين نهج محذوف 24 ساعة حتى يتم التوقف عن فرضه.

التخفيف: حدّث تأثير تعيين النهج إلى "Disabled".

إنشاء سري عبر قالب ARM يؤدي إلى تفويت تقييم النهج

لن تكون نهج مستوى البيانات التي تقيم إنشاء البيانات السرية قابلة للتطبيق على الأسرار التي تم إنشاؤها عبر قالب ARM في وقت إنشاء البيانات السرية. بعد 24 ساعة، عندما يتم إجراء فحص التوافق التلقائي، ويتم التمكّن من مراجعة نتائج التوافق.

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