ملاحظة
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
يقوم Azure الذكاء الاصطناعي Search تلقائيا بتشفير البيانات الثابتة باستخدام المفاتيح التي تديرها Microsoft. إذا كنت بحاجة إلى طبقة أخرى من التشفير أو القدرة على إبطال المفاتيح وإيقاف الوصول إلى المحتوى، يمكنك استخدام المفاتيح التي تقوم بإنشائها وإدارتها في Azure Key Vault. تشرح هذه المقالة كيفية إعداد تشفير المفتاح المدار بواسطة العميل (CMK).
يمكنك تخزين المفاتيح باستخدام إما Azure Key Vault أو Azure Key Vault Managed HSM (وحدة أمان الأجهزة). إن HSM المدار Key Vault Azure هو نظام HSM تم التحقق من صحته من المستوى 3 مطابقًا لمعيار FIPS 140-2. دعم HSM جديد في Azure الذكاء الاصطناعي Search. للترحيل إلى HSM، قم بتدوير المفاتيح واختر HSM المدار للتخزين.
هام
تشفير CMK لا رجعة فيه. يمكنك تدوير المفاتيح وتغيير تكوين CMK، ولكن يستمر تشفير الفهرس لمدة بقاء الفهرس. تشفير ما بعد CMK، لا يمكن الوصول إلى الفهرس إلا إذا كانت خدمة البحث لديها حق الوصول إلى المفتاح. إذا قمت بإبطال الوصول إلى المفتاح عن طريق حذف تعيين الدور أو تغييره، فإن الفهرس غير قابل للاستخدام ولا يمكن تحجيم الخدمة حتى يتم حذف الفهرس أو استعادة الوصول إلى المفتاح. إذا قمت بحذف المفاتيح أو تدويرها، يتم تخزين أحدث مفتاح مؤقتا لمدة تصل إلى 60 دقيقة.
كائنات CMK المشفرة
ينطبق تشفير CMK على الكائنات الفردية عند إنشائها. وهذا يعني أنه لا يمكنك تشفير الكائنات الموجودة بالفعل. يحدث تشفير CMK في كل مرة يتم فيها حفظ عنصر على القرص، لكل من البيانات الثابتة (التخزين طويل المدى) أو البيانات المؤقتة المخزنة مؤقتا (تخزين قصير الأجل). باستخدام CMK، لا يرى القرص أبدا بيانات غير مشفرة.
تتضمن الكائنات التي يمكن تشفيرها الفهارس وقوائم المرادفات والمفهرسات ومصادر البيانات ومجموعات المهارات. التشفير مكلف حسابيا لفك التشفير بحيث يتم تشفير المحتوى الحساس فقط.
يتم تنفيذ التشفير عبر المحتوى التالي:
كافة المحتويات داخل الفهارس وقوائم المرادفات.
المحتوى الحساس في المفهرسات ومصادر البيانات ومجموعات المهارات والموجهات. يشير المحتوى الحساس إلى سلاسل الاتصال والأوصاف والهويات والمفاتيح ومدخلات المستخدم. على سبيل المثال، تحتوي مجموعات المهارات على مفاتيح خدمات Azure الذكاء الاصطناعي، وبعض المهارات تقبل مدخلات المستخدم، مثل الكيانات المخصصة. في كلتا الحالتين، يتم تشفير المفاتيح ومدخلات المستخدم. يتم أيضا تشفير أي مراجع للموارد الخارجية (مثل مصادر بيانات Azure أو نماذج Azure OpenAI).
إذا كنت بحاجة إلى CMK عبر خدمة البحث، فقم بتعيين نهج فرض.
المتطلبات الأساسية
Azure الذكاء الاصطناعي البحث على طبقة قابلة للفوترة (أساسي أو أعلى، في أي منطقة).
Azure Key Vault وخزنة مفاتيح مع تمكين الحماية من الحذف المبدئيوالإزالة . أو HSM المدار من Azure Key Vault. يمكن أن يكون هذا المورد في أي اشتراك، ولكن يجب أن يكون في نفس المستأجر مثل Azure الذكاء الاصطناعي Search.
القدرة على إعداد أذونات الوصول إلى المفتاح وتعيين الأدوار. لإنشاء مفاتيح، يجب أن تكون مسؤول تشفير Key Vault في Azure Key Vault أو مسؤول تشفير HSM المدار في HSM المدار في Azure Key Vault.
لتعيين الأدوار، يجب أن تكون مالك الاشتراك أو مسؤول وصول المستخدم أو مسؤول التحكم في الوصول المستند إلى الدور أو أن يتم تعيينك إلى دور مخصص باستخدام أذونات Microsoft.Authorization/roleAssignments/write .
الخطوة 1: إنشاء مفتاح تشفير
استخدم إما Azure Key Vault أو Azure Key Vault Managed HSM لإنشاء مفتاح. يدعم تشفير Azure الذكاء الاصطناعي Search مفاتيح RSA من الأحجام 2048 و3072 و4096. لمزيد من المعلومات حول أنواع المفاتيح المدعومة، راجع حول المفاتيح.
نوصي بمراجعة هذه التلميحات قبل البدء.
العمليات المطلوبة هي Wrap و Unwrap و Encrypt و Decrypt.
يمكنك إنشاء مخزن مفاتيح باستخدام مدخل Azure أو Azure CLI أو Azure PowerShell.
سجل الدخول إلى مدخل Microsoft Azure وافتح صفحة نظرة عامة على key vault.
حدد Objects>Keys على اليسار، ثم حدد Generate/Import.
في جزء Create a key ، من قائمة Options، اختر Generate لإنشاء مفتاح جديد.
أدخل اسما للمفتاح الخاص بك، واقبل الإعدادات الافتراضية لخصائص المفتاح الأخرى.
اختياريا، قم بتعيين نهج تدوير المفتاح لتمكين التدوير التلقائي.
حدد إنشاء لبدء التوزيع.
بعد إنشاء المفتاح، احصل على معرف المفتاح الخاص به. حدد المفتاح، وحدد الإصدار الحالي، ثم انسخ معرف المفتاح. يتكون من قيمة المفتاح Uri واسم المفتاح وإصدار المفتاح. تحتاج إلى المعرف لتعريف فهرس مشفر في Azure الذكاء الاصطناعي Search. تذكر أن العمليات المطلوبة هي Wrap و Unwrap و Encrypt و Decrypt.
الخطوة 2: إنشاء أساس أمان
إنشاء أساس أمان تستخدمه خدمة البحث للوصول إلى مفتاح التشفير. يمكنك استخدام هوية مدارة وتعيين دور، أو يمكنك تسجيل تطبيق واطلب من خدمة البحث توفير معرف التطبيق عند الطلبات.
نوصي باستخدام هوية وأدوار مدارة. يمكنك استخدام هوية مدارة من قبل النظام أو هوية مدارة من قبل المستخدم. تمكن الهوية المدارة خدمة البحث من المصادقة من خلال معرف Microsoft Entra، دون تخزين بيانات الاعتماد (ApplicationID أو ApplicationSecret) في التعليمات البرمجية. ترتبط دورة حياة هذا النوع من الهوية المدارة لدورة حياة خدمة البحث الخاصة بك، والتي يمكن أن يكون لها هوية مدارة معينة لنظام واحد فقط. لمزيد من المعلومات حول كيفية عمل الهويات المدارة، راجع ما هي الهويات المدارة لموارد Azure.
تمكين الهوية المدارة المعينة من قبل النظام لخدمة البحث. إنها عملية بنقرتين، قم بتمكينها وحفظها.
الخطوة 3: منح الأذونات
إذا قمت بتكوين خدمة البحث لاستخدام هوية مدارة، فعين الأدوار التي تمنحها حق الوصول إلى مفتاح التشفير.
يوصى بالتحكم في الوصول المستند إلى الدور عبر نموذج إذن نهج الوصول. لمزيد من المعلومات أو خطوات الترحيل، ابدأ بالتحكم في الوصول المستند إلى دور Azure (Azure RBAC) مقابل نهج الوصول (القديمة) .
سجل الدخول إلى مدخل Microsoft Azure وابحث عن key vault الخاص بك.
حدد Access control (IAM) وحدد Add role assignment.
حدد دورا:
- في Azure Key Vault، حدد Key Vault Crypto Service Encryption User.
- في HSM المدار، حدد Managed HSM Crypto Service Encryption User.
حدد الهويات المدارة، وحدد الأعضاء، ثم حدد الهوية المدارة لخدمة البحث. إذا كنت تختبر محليا، فعين هذا الدور لنفسك أيضا.
حدد Review + Assign.
انتظر بضع دقائق حتى يصبح تعيين الدور قيد التشغيل.
الخطوة 4: تشفير المحتوى
يحدث التشفير عند إنشاء كائن أو تحديثه. يمكنك استخدام مدخل Microsoft Azure للكائنات المحددة. لأي كائن، استخدم Search REST API أو Azure SDK. راجع مثال Python في هذه المقالة لمعرفة كيفية تشفير المحتوى برمجيا.
عند إنشاء كائن جديد في مدخل Microsoft Azure، يمكنك تحديد مفتاح محدد مسبقا يديره العميل في مخزن مفاتيح. يتيح لك مدخل Azure تمكين تشفير CMK من أجل:
- الفهارس
- مصادر البيانات
- المفهرسات
متطلبات استخدام مدخل Microsoft Azure هي أن مخزن المفاتيح والمفتاح يجب أن يكونا موجودين، وأنك أكملت الخطوات السابقة للوصول المصرح به إلى المفتاح.
في مدخل Microsoft Azure، يتم تعريف مجموعات المهارات في طريقة عرض JSON. استخدم JSON الموضح في أمثلة REST API لتوفير مفتاح مدار من قبل العميل على مجموعة المهارات.
سجل الدخول إلى مدخل Microsoft Azure وافتح صفحة خدمة البحث.
ضمن إدارة البحث، حدد الفهارس أو المفهرسات أو مصادر البيانات.
إضافة كائن جديد. في تعريف الكائن، حدد التشفير المدار من قبل Microsoft.
حدد المفاتيح المدارة بواسطة العميل واختر اشتراكك وخزنتك ومفتاحك وإصدارك.
الخطوة 5: اختبار التشفير
للتحقق من عمل التشفير، قم بإبطال مفتاح التشفير، والاستعلام عن الفهرس (يجب أن يكون غير قابل للاستخدام)، ثم إعادة مفتاح التشفير.
استخدم مدخل Azure لهذه المهمة. تأكد من أن لديك تعيين دور يمنح حق الوصول للقراءة إلى المفتاح.
في صفحة Azure Key Vault، حدد Objects>Keys.
حدد المفتاح الذي أنشأته، ثم حدد حذف.
في صفحة Azure الذكاء الاصطناعي Search، حدد Search management>Indexes.
حدد الفهرس واستخدم Search Explorer لتشغيل استعلام. يجب أن تحصل على خطأ.
ارجع إلى صفحةAzure Key Vault Objects> Keys.
حدد إدارة المفاتيح المحذوفة.
حدد مفتاحك، ثم حدد استرداد.
ارجع إلى الفهرس في Azure الذكاء الاصطناعي البحث وأعد تشغيل الاستعلام. يجب أن تشاهد نتائج البحث. إذا لم تشاهد نتائج فورية، فانتظر دقيقة وحاول مرة أخرى.
إعداد نهج لفرض توافق CMK
تساعد نهج Azure على فرض المعايير التنظيمية وتقييم التوافق على نطاق واسع. يحتوي Azure الذكاء الاصطناعي Search على نهجين مضمنين اختياريين متعلقين ب CMK. تنطبق هذه النهج على خدمات البحث الجديدة والحالية.
التأثير | التأثير إذا تم تمكينه |
---|---|
AuditIfNotExists | التحقق من التوافق مع النهج: هل تحتوي الكائنات على مفتاح مدار من قبل العميل معرف، وهو المحتوى المشفر. ينطبق هذا التأثير على الخدمات الموجودة ذات المحتوى. يتم تقييمه في كل مرة يتم فيها إنشاء عنصر أو تحديثه، أو وفقا لجدول التقييم. تعرَّف على المزيد.... |
أنكر | التحقق من فرض النهج: هل تم تعيين SearchEncryptionWithCmk لخدمة البحث على Enabled . ينطبق هذا التأثير على الخدمات الجديدة فقط، والتي يجب إنشاؤها مع تمكين التشفير. تظل الخدمات الحالية قيد التشغيل ولكن لا يمكنك تحديثها إلا إذا قمت بتصحيح الخدمة. لا تعرض أي من الأدوات المستخدمة لتوفير الخدمات هذه الخاصية، لذا كن على دراية بأن تعيين النهج يحدك من الإعداد البرمجي. |
تعيين نهج
في مدخل Microsoft Azure، انتقل إلى نهج مضمن ثم حدد تعيين.
فيما يلي مثال على نهج AuditIfExists في مدخل Microsoft Azure:
تعيين نطاق النهج عن طريق تحديد الاشتراك ومجموعة الموارد. استبعاد أي خدمات بحث لا يجب تطبيق النهج عليها.
قبول الإعدادات الافتراضية أو تعديلها. حدد Review +create، متبوعا ب Create.
تمكين تنفيذ نهج CMK
النهج الذي تم تعيينه لمجموعة موارد في اشتراكك فعال على الفور. تحدد نهج التدقيق الموارد غير المتوافقة، ولكن تمنع نهج الرفض إنشاء وتحديث خدمات البحث غير المتوافقة. يشرح هذا القسم كيفية إنشاء خدمة بحث متوافقة أو تحديث خدمة لجعلها متوافقة. لجلب العناصر إلى التوافق، ابدأ في الخطوة الأولى من هذه المقالة.
إنشاء خدمة بحث متوافقة
لخدمات البحث الجديدة، قم بإنشائها مع تعيين SearchEncryptionWithCmk إلى Enabled
.
لا يوفر مدخل Azure ولا أدوات سطر الأوامر (Azure CLI وAzure PowerShell) هذه الخاصية في الأصل، ولكن يمكنك استخدام Management REST API لتوفير خدمة بحث مع تعريف نهج CMK.
هذا المثال من إدارة خدمة Azure الذكاء الاصطناعي Search باستخدام واجهات برمجة تطبيقات REST، التي تم تعديلها لتضمين الخاصية SearchEncryptionWithCmk .
### Create a search service (provide an existing resource group)
@resource-group = my-rg
@search-service-name = my-search
PUT https://management.azure.com/subscriptions/{{subscriptionId}}/resourceGroups/{{resource-group}}/providers/Microsoft.Search/searchServices/{{search-service-name}}?api-version=2023-11-01 HTTP/1.1
Content-type: application/json
Authorization: Bearer {{token}}
{
"location": "North Central US",
"sku": {
"name": "basic"
},
"properties": {
"replicaCount": 1,
"partitionCount": 1,
"hostingMode": "default",
"encryptionWithCmk": {
"enforcement": "Enabled"
}
}
}
تحديث خدمة بحث موجودة
بالنسبة لخدمات البحث الموجودة التي أصبحت الآن غير متوافقة، قم بتصحيحها باستخدام الخدمات - تحديث واجهة برمجة التطبيقات أو الأمر Azure CLI az resource update . يؤدي تصحيح الخدمات إلى استعادة القدرة على تحديث خصائص خدمة البحث.
PATCH https://management.azure.com/subscriptions/<your-subscription-Id>/resourceGroups/<your-resource-group-name>/providers/Microsoft.Search/searchServices/<your-search-service-name>?api-version=2023-11-01
{
"properties": {
"encryptionWithCmk": {
"enforcement": "Enabled"
}
}
}
تدوير مفاتيح التشفير أو تحديثها
استخدم الإرشادات التالية لتدوير المفاتيح أو للترحيل من Azure Key Vault إلى نموذج أمان الأجهزة (HSM).
بالنسبة إلى تدوير المفتاح، نوصي باستخدام قدرات التشغيل التلقائي ل Azure Key Vault. إذا كنت تستخدم autorotation، فاحذف إصدار المفتاح في تعريفات الكائنات. يتم استخدام أحدث مفتاح، بدلا من إصدار معين.
عند تغيير مفتاح أو إصداره، يجب أولا تحديث أي كائن يستخدم المفتاح لاستخدام القيم الجديدة قبل حذف القيم القديمة. وإلا، يصبح الكائن غير قابل للاستخدام لأنه لا يمكن فك تشفيره.
تذكر أن المفاتيح مخزنة مؤقتا لمدة 60 دقيقة. تذكر هذا عند اختبار المفاتيح وتدويرها.
أنشئ مفتاحا جديدا في key vault، ولكن اترك المفتاح الأصلي متاحا. في هذه الخطوة، يمكنك التبديل من key vault إلى HSM.
تحديث خصائص encryptionKey على مخطط فهرس أو مرادف لاستخدام القيم الجديدة. يمكن تحديث الكائنات التي تم إنشاؤها في الأصل باستخدام هذه الخاصية فقط لاستخدام قيمة مختلفة.
تعطيل أو حذف المفتاح السابق في مخزن المفاتيح. مراقبة الوصول إلى المفتاح للتحقق من استخدام المفتاح الجديد.
لأسباب تتعلق بالأداء، تخزن خدمة البحث المفتاح مؤقتا لمدة تصل إلى عدة ساعات. إذا قمت بتعطيل المفتاح أو حذفه دون توفير مفتاح جديد، تستمر الاستعلامات في العمل بشكل مؤقت حتى تنتهي صلاحية ذاكرة التخزين المؤقت. ومع ذلك، بمجرد أن لا تتمكن خدمة البحث من فك تشفير المحتوى، ستتلقى هذه الرسالة: "Access forbidden. The query key used might have been revoked - please retry."
تلميحات Key Vault
إذا كنت مستخدما جديدا ل Azure Key Vault، فراجع هذا التشغيل السريع للتعرف على المهام الأساسية: تعيين سر واسترداده من Azure Key Vault باستخدام PowerShell.
استخدم العديد من خزائن المفاتيح كما تحتاج. يمكن أن تكون المفاتيح المدارة في خزائن مفاتيح مختلفة. يمكن أن تحتوي خدمة البحث على كائنات مشفرة متعددة، كل منها مشفر بمفتاح تشفير مختلف يديره العميل، مخزن في خزائن مفاتيح مختلفة.
استخدم نفس مستأجر Azure بحيث يمكنك استرداد المفتاح المدار من خلال تعيينات الأدوار وعن طريق الاتصال من خلال نظام أو هوية مدارة من قبل المستخدم. لمزيد من المعلومات حول إنشاء مستأجر، راجع إعداد مستأجر جديد.
تمكين الحماية من المسحوالحذف المبدئي على خزنة المفاتيح. نظرا لطبيعة التشفير باستخدام المفاتيح التي يديرها العميل، لا يمكن لأحد استرداد بياناتك إذا تم حذف مفتاح Azure Key Vault. لمنع فقدان البيانات الناجم عن حذف مفتاح Key Vault العرضي، يجب تمكين الحماية من الحذف المبدئي والإزالة على مخزن المفاتيح. يتم تمكين الحذف المبدئي بشكل افتراضي، لذلك لن تواجه مشكلات إلا إذا قمت بتعطيله عن قصد. لا يتم تمكين الحماية من الإزالة بشكل افتراضي، ولكنها مطلوبة لتشفير CMK في Azure الذكاء الاصطناعي Search.
تمكين تسجيل الدخول إلى خزنة المفاتيح بحيث يمكنك مراقبة استخدام المفتاح.
تمكين التشغيل التلقائي للمفاتيح أو اتباع إجراءات صارمة أثناء التدوير الروتيني لمفاتيح خزنة المفاتيح وأسرار التطبيق والتسجيل. قم دائما بتحديث جميع المحتويات المشفرة لاستخدام أسرار ومفاتيح جديدة قبل حذف البيانات القديمة. إذا فاتتك هذه الخطوة، فلا يمكن فك تشفير المحتوى الخاص بك.
استخدام المحتوى المشفر
باستخدام تشفير CMK، قد تلاحظ زمن انتقال لكل من الفهرسة والاستعلامات بسبب عمل التشفير/فك التشفير الإضافي. لا يقوم Azure الذكاء الاصطناعي Search بتسجيل نشاط التشفير، ولكن يمكنك مراقبة الوصول إلى المفتاح من خلال تسجيل مخزن المفاتيح.
نوصي بتمكين التسجيل كجزء من تكوين key vault.
إنشاء مساحة عمل تحليلات السجل.
أضف إعداد تشخيص في key vault يستخدم مساحة العمل للاحتفاظ بالبيانات.
حدد audit أو allLogs للفئة، وامنح إعداد التشخيص اسما، ثم احفظه.
مثال Python لتكوين مفتاح التشفير
يعرض هذا القسم تمثيل Python ل encryptionKey
في تعريف كائن. ينطبق نفس التعريف على الفهارس ومصادر البيانات ومجموعات المهارات والمفهرسات وخرائط المرادفات. لتجربة هذا المثال على خدمة البحث وخزنة المفاتيح، قم بتنزيل دفتر الملاحظات من نماذج azure-search-python.
تثبيت بعض الحزم.
! pip install python-dotenv
! pip install azure-core
! pip install azure-search-documents==11.5.1
! pip install azure-identity
إنشاء فهرس يحتوي على مفتاح تشفير.
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import (
SimpleField,
SearchFieldDataType,
SearchableField,
SearchIndex,
SearchResourceEncryptionKey
)
from azure.identity import DefaultAzureCredential
endpoint="<PUT YOUR AZURE SEARCH SERVICE ENDPOINT HERE>"
credential = DefaultAzureCredential()
index_name = "test-cmk-index"
index_client = SearchIndexClient(endpoint=endpoint, credential=credential)
fields = [
SimpleField(name="Id", type=SearchFieldDataType.String, key=True),
SearchableField(name="Description", type=SearchFieldDataType.String)
]
scoring_profiles = []
suggester = []
encryption_key = SearchResourceEncryptionKey(
key_name="<PUT YOUR KEY VAULT NAME HERE>",
key_version="<PUT YOUR ALPHANUMERIC KEY VERSION HERE>",
vault_uri="<PUT YOUR KEY VAULT ENDPOINT HERE>"
)
index = SearchIndex(name=index_name, fields=fields, encryption_key=encryption_key)
result = index_client.create_or_update_index(index)
print(f' {result.name} created')
احصل على تعريف الفهرس للتحقق من وجود تكوين مفتاح التشفير.
index_name = "test-cmk-index-qs"
index_client = SearchIndexClient(endpoint=AZURE_SEARCH_SERVICE, credential=credential)
result = index_client.get_index(index_name)
print(f"{result}")
تحميل الفهرس مع بعض المستندات. يعتبر كل محتوى الحقل حساسا ويتم تشفيره على القرص باستخدام المفتاح المدار بواسطة العميل.
from azure.search.documents import SearchClient
# Create a documents payload
documents = [
{
"@search.action": "upload",
"Id": "1",
"Description": "The hotel is ideally located on the main commercial artery of the city in the heart of New York. A few minutes away is Time's Square and the historic centre of the city, as well as other places of interest that make New York one of America's most attractive and cosmopolitan cities."
},
{
"@search.action": "upload",
"Id": "2",
"Description": "The hotel is situated in a nineteenth century plaza, which has been expanded and renovated to the highest architectural standards to create a modern, functional and first-class hotel in which art and unique historical elements coexist with the most modern comforts."
},
{
"@search.action": "upload",
"Id": "3",
"Description": "The hotel stands out for its gastronomic excellence under the management of William Dough, who advises on and oversees all of the Hotel's restaurant services."
},
{
"@search.action": "upload",
"Id": "4",
"Description": "The hotel is located in the heart of the historic center of Sublime in an extremely vibrant and lively area within short walking distance to the sites and landmarks of the city and is surrounded by the extraordinary beauty of churches, buildings, shops and monuments. Sublime Palace is part of a lovingly restored 1800 palace."
}
]
search_client = SearchClient(endpoint=AZURE_SEARCH_SERVICE, index_name=index_name, credential=credential)
try:
result = search_client.upload_documents(documents=documents)
print("Upload of new document succeeded: {}".format(result[0].succeeded))
except Exception as ex:
print (ex.message)
index_client = SearchClient(endpoint=AZURE_SEARCH_SERVICE, credential=credential)
قم بتشغيل استعلام للتأكد من تشغيل الفهرس.
from azure.search.documents import SearchClient
query = "historic"
search_client = SearchClient(endpoint=AZURE_SEARCH_SERVICE, credential=credential, index_name=index_name)
results = search_client.search(
query_type='simple',
search_text=query,
select=["Id", "Description"],
include_total_count=True
)
for result in results:
print(f"Score: {result['@search.score']}")
print(f"Id: {result['Id']}")
print(f"Description: {result['Description']}")
يجب أن ينتج عن الإخراج من الاستعلام نتائج مشابهة للمثال التالي.
Score: 0.6130029
Id: 4
Description: The hotel is located in the heart of the historic center of Sublime in an extremely vibrant and lively area within short walking distance to the sites and landmarks of the city and is surrounded by the extraordinary beauty of churches, buildings, shops and monuments. Sublime Palace is part of a lovingly restored 1800 palace.
Score: 0.26286605
Id: 1
Description: The hotel is ideally located on the main commercial artery of the city in the heart of New York. A few minutes away is Time's Square and the historic centre of the city, as well as other places of interest that make New York one of America's most attractive and cosmopolitan cities.
نظرا لأنه يتم فك تشفير المحتوى المشفر قبل تحديث البيانات أو الاستعلامات، فلن ترى أدلة مرئية على التشفير. للتحقق من عمل التشفير، تحقق من سجلات الموارد.
الخطوات التالية
إذا لم تكن معتادا على بنية أمان Azure، فراجع وثائق أمان Azure، وعلى وجه الخصوص، هذه المقالة: