تكوين المفاتيح المدارة من قبل العميل لتشفير البيانات في Azure الذكاء الاصطناعي Search

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

ترشدك هذه المقالة خلال خطوات إعداد المفتاح المدار بواسطة العميل (CMK) أو تشفير "إحضار المفتاح الخاص بك" (BYOK). فيما يلي بعض النقاط التي يجب مراعاتها:

  • يتم سن تشفير CMK على كائنات فردية. إذا كنت بحاجة إلى CMK عبر خدمة البحث، فقم بتعيين نهج فرض.

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

  • يصبح تشفير CMK قيد التشغيل عند إنشاء كائن. لا يمكنك تشفير الكائنات الموجودة بالفعل. يحدث تشفير CMK كلما تم حفظ عنصر على القرص، إما البيانات الثابتة للتخزين طويل المدى أو البيانات المؤقتة للتخزين على المدى القصير. باستخدام CMK، لا يرى القرص أبدا بيانات غير مشفرة.

إشعار

إذا كان الفهرس مشفرا بواسطة CMK، فإنه لا يمكن الوصول إليه إلا إذا كانت خدمة البحث لديها حق الوصول إلى المفتاح. إذا تم إبطال الوصول، يكون الفهرس غير قابل للاستخدام ولا يمكن تحجيم الخدمة حتى يتم حذف الفهرس أو استعادة الوصول إلى المفتاح.

كائنات CMK المشفرة

تتضمن الكائنات التي يمكن تشفيرها الفهارس وقوائم المرادفات والمفهرسات ومصادر البيانات ومجموعات المهارات. التشفير مكلف حسابيا لفك التشفير بحيث يتم تشفير المحتوى الحساس فقط.

يتم تنفيذ التشفير عبر المحتوى التالي:

  • جميع المحتويات داخل الفهارس وقوائم المرادفات، بما في ذلك الأوصاف.

  • بالنسبة للمفهرسات ومصادر البيانات ومجموعات المهارات، يتم تشفير الحقول التي تخزن سلسلة الاتصال والأوصاف والمفاتيح ومدخلات المستخدم فقط. على سبيل المثال، تحتوي مجموعات المهارات على مفاتيح خدمات Azure الذكاء الاصطناعي، وبعض المهارات تقبل مدخلات المستخدم، مثل الكيانات المخصصة. في كلتا الحالتين، يتم تشفير المفاتيح ومدخلات المستخدم في المهارات.

تشفير مزدوج كامل

عندما تقدم تشفير CMK، فإنك تقوم بتشفير المحتوى مرتين. بالنسبة للعناصر والحقول المذكورة في القسم السابق، يتم أولا تشفير المحتوى باستخدام CMK، وثانيا باستخدام المفتاح المدار من قبل Microsoft. يتم تشفير المحتوى بشكل مزدوج على أقراص البيانات للتخزين طويل المدى، وعلى الأقراص المؤقتة المستخدمة للتخزين على المدى القصير.

يؤدي تمكين تشفير CMK إلى زيادة حجم الفهرس وتدهور أداء الاستعلام. استنادا إلى الملاحظات حتى الآن، يمكنك أن تتوقع أن ترى زيادة بنسبة 30-60 في المئة في أوقات الاستعلام، على الرغم من أن الأداء الفعلي يختلف اعتمادا على تعريف الفهرس وأنواع الاستعلامات. نظرا لتناقص الأداء، نوصي بتمكين هذه الميزة فقط على الفهارس التي تتطلبها حقا.

على الرغم من أن التشفير المزدوج متوفر الآن في جميع المناطق، فقد تم طرح الدعم على مرحلتين:

  • كان الإطلاق الأول في 1 أغسطس 2020 وشمل المناطق الخمس المذكورة أدناه. تدعم خدمة البحث التي تم إنشاؤها في المناطق التالية CMK لأقراص البيانات، ولكن ليس الأقراص المؤقتة:

    • West US 2
    • شرق الولايات المتحدة
    • South Central US
    • ولاية فرجينيا الأمريكية
    • US Gov – أريزونا
  • وأضاف الإطلاق الثاني في 13 مايو 2021 التشفير للأقراص المؤقتة وتشفير CMK الموسع لجميع المناطق المدعومة.

    إذا كنت تستخدم CMK من خدمة تم إنشاؤها أثناء الإطلاق الأول وتريد أيضا تشفير CMK عبر الأقراص المؤقتة، فأنت بحاجة إلى إنشاء خدمة بحث جديدة في المنطقة التي تختارها وإعادة نشر المحتوى الخاص بك.

المتطلبات الأساسية

يتم استخدام الأدوات والخدمات التالية في هذا السيناريو.

يجب أن يكون لديك عميل بحث يمكنه إنشاء الكائن المشفر. في هذه التعليمة البرمجية، يمكنك الرجوع إلى مفتاح key vault ومعلومات تسجيل التطبيق. يمكن أن تكون هذه التعليمة البرمجية تطبيق عمل، أو تعليمة برمجية أولية مثل نموذج التعليمات البرمجية C# DotNetHowToEncryptionUsingCMK.

تلميح

يمكنك استخدام عميل REST أو Azure PowerShell لإنشاء فهارس وخرائط مرادفات تتضمن معلمة مفتاح تشفير. يمكنك أيضا استخدام Azure SDKs. دعم المدخل لإضافة مفتاح إلى الفهارس أو خرائط المرادفات غير مدعوم.

تلميحات Key Vault

إذا كنت مستخدما جديدا ل Azure Key Vault، فراجع هذا التشغيل السريع للتعرف على المهام الأساسية: تعيين سر واسترداده من Azure Key Vault باستخدام PowerShell. فيما يلي بعض التلميحات لاستخدام Key Vault:

  • استخدم العديد من خزائن المفاتيح كما تحتاج. يمكن أن تكون المفاتيح المدارة في خزائن مفاتيح مختلفة. يمكن أن تحتوي خدمة البحث على كائنات مشفرة متعددة، كل منها مشفر بمفتاح تشفير مختلف يديره العميل، مخزن في خزائن مفاتيح مختلفة.

  • تمكين تسجيل الدخول إلى Key Vault بحيث يمكنك مراقبة استخدام المفتاح.

  • تذكر اتباع إجراءات صارمة أثناء التدوير الروتيني لمفاتيح المخزن الرئيسي وأسرار تطبيق Active Directory والتسجيل. قم دائما بتحديث جميع المحتويات المشفرة لاستخدام أسرار ومفاتيح جديدة قبل حذف البيانات القديمة. إذا فاتتك هذه الخطوة، فلا يمكن فك تشفير المحتوى الخاص بك.

1 - تمكين الحماية من التطهير

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

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

يمكنك تعيين كلتا الخاصيتين باستخدام أوامر المدخل أو PowerShell أو Azure CLI.

  1. سجل الدخول إلى مدخل Microsoft Azure وافتح صفحة نظرة عامة على key vault.

  2. في صفحة Overview ضمن Essentials، قم بتمكين الحماية من الحذف المبدئي والإزالة.

2 - إنشاء مفتاح في Key Vault

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

  1. سجل الدخول إلى مدخل Microsoft Azure وافتح صفحة نظرة عامة على key vault.

  2. حدد Keys على اليسار، ثم حدد + Generate/Import.

  3. في جزء Create a key، من قائمة Options، اختر الأسلوب الذي تريد استخدامه لإنشاء مفتاح. يمكنك إنشاء مفتاح جديد أو تحميل مفتاح موجود أو استخدام استعادة النسخ الاحتياطي لتحديد نسخة احتياطية من مفتاح.

  4. أدخل اسما لمفتاحك، وحدد خصائص المفاتيح الأخرى اختياريا.

  5. حدد إنشاء لبدء التوزيع.

  6. حدد المفتاح، وحدد الإصدار الحالي، ثم دون ملاحظة عن معرف المفتاح. يتكون من قيمة المفتاح Uri واسم المفتاح وإصدار المفتاح. تحتاج إلى المعرف لتعريف فهرس مشفر في Azure الذكاء الاصطناعي Search.

    إنشاء مفتاح key vault جديد

3 - إنشاء أساس أمان

لديك العديد من الخيارات للوصول إلى مفتاح التشفير في وقت التشغيل. أبسط نهج هو استرداد المفتاح باستخدام الهوية المدارة وأذونات خدمة البحث الخاصة بك. يمكنك استخدام نظام أو هوية مدارة من قبل المستخدم. يسمح لك القيام بذلك بحذف خطوات تسجيل التطبيق وأسرار التطبيق، ويبسط تعريف مفتاح التشفير.

بدلا من ذلك، يمكنك إنشاء تطبيق Microsoft Entra وتسجيله. توفر خدمة البحث معرف التطبيق على الطلبات.

تمكن الهوية المدارة خدمة البحث من المصادقة على Azure Key Vault دون تخزين بيانات الاعتماد (ApplicationID أو ApplicationSecret) في التعليمات البرمجية. ترتبط دورة حياة هذا النوع من الهوية المدارة لدورة حياة خدمة البحث الخاصة بك، والتي يمكن أن يكون لها هوية مدارة واحدة فقط. لمزيد من المعلومات حول كيفية عمل الهويات المدارة، راجع ما هي الهويات المدارة لموارد Azure.

  1. اجعل خدمة البحث الخاصة بك خدمة موثوق بها.

    تشغيل الهوية المدارة المعينة من قبل النظام

تتضمن الشروط التي تمنعك من اعتماد هذا النهج ما يلي:

  • لا يمكنك منح أذونات الوصول إلى خدمة البحث مباشرة إلى خزنة المفاتيح (على سبيل المثال، إذا كانت خدمة البحث في مستأجر معرف Microsoft Entra مختلف عن Azure Key Vault).

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

4 - منح الأذونات

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

يمكن إبطال أذونات الوصول في أي وقت. بمجرد الإبطال، يصبح أي فهرس خدمة بحث أو مخطط مرادف يستخدم مخزن المفاتيح هذا غير قابل للاستخدام. استعادة أذونات الوصول إلى مخزن المفاتيح في وقت لاحق يستعيد الوصول إلى خريطة الفهرس والمرادفات. لمزيد من المعلومات، راجع الوصول الآمن إلى خزنة المفاتيح.

  1. لا يزال في مدخل Microsoft Azure، افتح صفحة نظرة عامة على key vault.

  2. حدد نهج الوصول على اليسار، وحدد + إنشاء لبدء تشغيل معالج إنشاء نهج وصول.

    إنشاء نهج وصول.

  3. في صفحة الأذونات، حدد الحصول علىأذونات المفتاح والأذونات السرية وأذونات الشهادة. حدد فك المفتاح ومفتاح الالتفاف لعمليات التشفير ** على المفتاح.

    حدد الأذونات في صفحة الأذونات.

  4. حدد التالي.

  5. في صفحة المبدأ ، ابحث عن أساس الأمان الذي تستخدمه خدمة البحث وحدده للوصول إلى مفتاح التشفير. ستكون هذه إما الهوية المدارة من قبل النظام أو التي يديرها المستخدم لخدمة البحث، أو التطبيق المسجل.

  6. حدد التالي وإنشاء.

هام

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

5 - تشفير المحتوى

تتم إضافة مفاتيح التشفير عند إنشاء كائن. لإضافة مفتاح مدار من قبل العميل على فهرس أو مخطط مرادف أو مفهرس أو مصدر بيانات أو مجموعة مهارات، استخدم Search REST API أو Azure SDK لإنشاء كائن تم تمكين التشفير له. لا يسمح المدخل بخصائص التشفير عند إنشاء الكائن.

  1. استدعاء إنشاء واجهات برمجة التطبيقات لتحديد خاصية encryptionKey :

  2. إدراج بنية encryptionKey في تعريف الكائن. هذه الخاصية هي خاصية من المستوى الأول، على نفس مستوى الاسم والوصف. تظهر أمثلة REST التالية موضع الخاصية . إذا كنت تستخدم نفس المخزن والمفتاح والإصدار، يمكنك اللصق في نفس بنية "encryptionKey" في كل تعريف عنصر.

    يوضح المثال الأول "encryptionKey" لخدمة بحث تتصل باستخدام هوية مدارة:

    {
      "encryptionKey": {
        "keyVaultUri": "https://demokeyvault.vault.azure.net",
        "keyVaultKeyName": "myEncryptionKey",
        "keyVaultKeyVersion": "eaab6a663d59439ebb95ce2fe7d5f660"
      }
    }
    

    يتضمن المثال الثاني "accessCredentials"، الضروري إذا قمت بتسجيل تطبيق في معرف Microsoft Entra:

    {
      "encryptionKey": {
        "keyVaultUri": "https://demokeyvault.vault.azure.net",
        "keyVaultKeyName": "myEncryptionKey",
        "keyVaultKeyVersion": "eaab6a663d59439ebb95ce2fe7d5f660",
        "accessCredentials": {
          "applicationId": "00000000-0000-0000-0000-000000000000",
          "applicationSecret": "myApplicationSecret"
        }
      }
    }
    

بمجرد إنشاء الكائن المشفر على خدمة البحث، يمكنك استخدامه كما تفعل مع أي عنصر آخر من نوعه. التشفير شفاف للمستخدم والمطور.

إشعار

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

6 - إعداد النهج

تساعد نهج Azure على فرض المعايير التنظيمية وتقييم التوافق على نطاق واسع. يحتوي Azure الذكاء الاصطناعي Search على نهج مضمن اختياري لفرض CMK على مستوى الخدمة.

في هذا القسم، يمكنك تعيين النهج الذي يحدد معيار CMK لخدمة البحث. بعد ذلك، يمكنك إعداد خدمة البحث لفرض هذا النهج.

  1. انتقل إلى النهج المضمن في مستعرض الويب الخاص بك. حدد Assign

    لقطة شاشة لتعيين نهج CMK المضمن.

  2. إعداد نطاق النهج. في قسم Parameters ، قم بإلغاء تحديد إظهار المعلمات فقط... ثم قم بتعيين Effect إلى Deny.

    أثناء تقييم الطلب، يتم وضع علامة على طلب يطابق تعريف نهج الرفض على أنه غير متوافق. بافتراض أن المعيار لخدمتك هو تشفير CMK، فإن "الرفض" يعني أن الطلبات التي لا تحدد تشفير CMK غير متوافقة.

    لقطة شاشة لتغيير تأثير نهج CMK المضمن للرفض.

  3. إنهاء إنشاء النهج.

  4. استدعاء الخدمات - تحديث واجهة برمجة التطبيقات لتمكين تطبيق نهج CMK على مستوى الخدمة.

PATCH https://management.azure.com/subscriptions/[subscriptionId]/resourceGroups/[resourceGroupName]/providers/Microsoft.Search/searchServices/[serviceName]?api-version=2022-11-01

{
    "properties": {
        "encryptionWithCmk": {
            "enforcement": "Enabled",
            "encryptionComplianceStatus": "Compliant"
        }
    }
}

الرموز الخاصة بـREST

يعرض هذا القسم JSON للعديد من الكائنات بحيث يمكنك معرفة مكان تحديد موقع "encryptionKey" في تعريف كائن.

تشفير الفهرس

يمكن العثور على تفاصيل إنشاء فهرس جديد عبر واجهة برمجة تطبيقات REST في إنشاء فهرس (REST API)، حيث يتمثل الاختلاف الوحيد في تحديد تفاصيل مفتاح التشفير كجزء من تعريف الفهرس:

{
 "name": "hotels",
 "fields": [
  {"name": "HotelId", "type": "Edm.String", "key": true, "filterable": true},
  {"name": "HotelName", "type": "Edm.String", "searchable": true, "filterable": false, "sortable": true, "facetable": false},
  {"name": "Description", "type": "Edm.String", "searchable": true, "filterable": false, "sortable": false, "facetable": false, "analyzer": "en.lucene"},
  {"name": "Description_fr", "type": "Edm.String", "searchable": true, "filterable": false, "sortable": false, "facetable": false, "analyzer": "fr.lucene"},
  {"name": "Category", "type": "Edm.String", "searchable": true, "filterable": true, "sortable": true, "facetable": true},
  {"name": "Tags", "type": "Collection(Edm.String)", "searchable": true, "filterable": true, "sortable": false, "facetable": true},
  {"name": "ParkingIncluded", "type": "Edm.Boolean", "filterable": true, "sortable": true, "facetable": true},
  {"name": "LastRenovationDate", "type": "Edm.DateTimeOffset", "filterable": true, "sortable": true, "facetable": true},
  {"name": "Rating", "type": "Edm.Double", "filterable": true, "sortable": true, "facetable": true},
  {"name": "Location", "type": "Edm.GeographyPoint", "filterable": true, "sortable": true}
 ],
  "encryptionKey": {
    "keyVaultUri": "https://demokeyvault.vault.azure.net",
    "keyVaultKeyName": "myEncryptionKey",
    "keyVaultKeyVersion": "eaab6a663d59439ebb95ce2fe7d5f660",
    "accessCredentials": {
      "applicationId": "00000000-0000-0000-0000-000000000000",
      "applicationSecret": "myApplicationSecret"
    }
  }
}

يمكنك الآن إرسال طلب إنشاء الفهرس، ثم البدء في استخدام الفهرس بشكل طبيعي.

تشفير خريطة المرادفات

إنشاء خريطة مرادف مشفرة باستخدام Create Synonym Map Azure الذكاء الاصطناعي Search REST API. استخدم خاصية "encryptionKey" لتحديد مفتاح التشفير الذي يجب استخدامه.

{
  "name" : "synonymmap1",
  "format" : "solr",
  "synonyms" : "United States, United States of America, USA\n
  Washington, Wash. => WA",
  "encryptionKey": {
    "keyVaultUri": "https://demokeyvault.vault.azure.net",
    "keyVaultKeyName": "myEncryptionKey",
    "keyVaultKeyVersion": "eaab6a663d59439ebb95ce2fe7d5f660",
    "accessCredentials": {
      "applicationId": "00000000-0000-0000-0000-000000000000",
      "applicationSecret": "myApplicationSecret"
    }
  }
}

يمكنك الآن إرسال طلب إنشاء خريطة المرادفات، ثم البدء في استخدامه بشكل طبيعي.

تشفير مصدر البيانات

إنشاء مصدر بيانات مشفر باستخدام إنشاء مصدر بيانات (REST API). استخدم خاصية "encryptionKey" لتحديد مفتاح التشفير الذي يجب استخدامه.

{
  "name" : "datasource1",
  "type" : "azureblob",
  "credentials" :
  { "connectionString" : "DefaultEndpointsProtocol=https;AccountName=datasource;AccountKey=accountkey;EndpointSuffix=core.windows.net"
  },
  "container" : { "name" : "containername" },
  "encryptionKey": {
    "keyVaultUri": "https://demokeyvault.vault.azure.net",
    "keyVaultKeyName": "myEncryptionKey",
    "keyVaultKeyVersion": "eaab6a663d59439ebb95ce2fe7d5f660",
    "accessCredentials": {
      "applicationId": "00000000-0000-0000-0000-000000000000",
      "applicationSecret": "myApplicationSecret"
    }
  }
}

يمكنك الآن إرسال طلب إنشاء مصدر البيانات، ثم البدء في استخدامه بشكل طبيعي.

تشفير مجموعة المهارات

إنشاء مجموعة مهارات مشفرة باستخدام واجهة برمجة تطبيقات Create Skillset REST. استخدم خاصية "encryptionKey" لتحديد مفتاح التشفير الذي يجب استخدامه.

{
    "name": "skillset1",
    "skills":  [ omitted for brevity ],
    "cognitiveServices": { omitted for brevity },
      "knowledgeStore":  { omitted for brevity  },
    "encryptionKey": (optional) { 
        "keyVaultKeyName": "myEncryptionKey",
        "keyVaultKeyVersion": "eaab6a663d59439ebb95ce2fe7d5f660",
        "keyVaultUri": "https://demokeyvault.vault.azure.net",
        "accessCredentials": {
            "applicationId": "00000000-0000-0000-0000-000000000000",
            "applicationSecret": "myApplicationSecret"}
    }
}

يمكنك الآن إرسال طلب إنشاء مجموعة المهارات، ثم البدء في استخدامه بشكل طبيعي.

تشفير المفهرس

إنشاء مفهرس مشفر باستخدام واجهة برمجة تطبيقات Create Indexer REST. استخدم خاصية "encryptionKey" لتحديد مفتاح التشفير الذي يجب استخدامه.

{
  "name": "indexer1",
  "dataSourceName": "datasource1",
  "skillsetName": "skillset1",
  "parameters": {
      "configuration": {
          "imageAction": "generateNormalizedImages"
      }
  },
  "encryptionKey": {
    "keyVaultUri": "https://demokeyvault.vault.azure.net",
    "keyVaultKeyName": "myEncryptionKey",
    "keyVaultKeyVersion": "eaab6a663d59439ebb95ce2fe7d5f660",
    "accessCredentials": {
      "applicationId": "00000000-0000-0000-0000-000000000000",
      "applicationSecret": "myApplicationSecret"
    }
  }
}

يمكنك الآن إرسال طلب إنشاء المفهرس، ثم البدء في استخدامه بشكل طبيعي.

هام

بينما لا يمكن إضافة "encryptionKey" إلى فهارس البحث الموجودة أو خرائط المرادفات، فقد يتم تحديثه من خلال توفير قيم مختلفة لأي من تفاصيل خزنة المفاتيح الثلاثة (على سبيل المثال، تحديث إصدار المفتاح). عند التغيير إلى مفتاح Key Vault جديد أو إصدار مفتاح جديد، يجب أولا تحديث أي فهرس بحث أو مخطط مرادف يستخدم المفتاح لاستخدام المفتاح\الإصدار الجديد قبل حذف المفتاح\الإصدار السابق. سيؤدي عدم القيام بذلك إلى جعل الفهرس أو خريطة المرادفات غير قابلة للاستخدام، حيث لن يتمكن من فك تشفير المحتوى بمجرد فقدان الوصول إلى المفتاح. على الرغم من أن استعادة أذونات الوصول إلى مخزن المفاتيح في وقت لاحق سيؤدي إلى استعادة الوصول إلى المحتوى.

استخدام المحتوى المشفر

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

من المتوقع أن يحدث تدوير المفتاح بمرور الوقت. كلما قمت بتدوير المفاتيح، من المهم اتباع هذا التسلسل:

  1. حدد المفتاح المستخدم بواسطة مخطط فهرس أو مرادف.
  2. أنشئ مفتاحا جديدا في key vault، ولكن اترك المفتاح الأصلي متاحا.
  3. تحديث خصائص encryptionKey على مخطط فهرس أو مرادف لاستخدام القيم الجديدة. يمكن تحديث الكائنات التي تم إنشاؤها في الأصل باستخدام هذه الخاصية فقط لاستخدام قيمة مختلفة.
  4. تعطيل أو حذف المفتاح السابق في مخزن المفاتيح. مراقبة الوصول إلى المفتاح للتحقق من استخدام المفتاح الجديد.

لأسباب تتعلق بالأداء، تخزن خدمة البحث المفتاح مؤقتا لمدة تصل إلى عدة ساعات. إذا قمت بتعطيل المفتاح أو حذفه دون توفير مفتاح جديد، تستمر الاستعلامات في العمل بشكل مؤقت حتى تنتهي صلاحية ذاكرة التخزين المؤقت. ومع ذلك، بمجرد أن لا تتمكن خدمة البحث من فك تشفير المحتوى، ستتلقى هذه الرسالة: "الوصول محظور. ربما تم إبطال مفتاح الاستعلام المستخدم - يرجى إعادة المحاولة."

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

إذا لم تكن معتادا على بنية أمان Azure، فراجع وثائق أمان Azure، وعلى وجه الخصوص، هذه المقالة: