استخدام Azure CDN مع SAS
عند إعداد حساب تخزين لشبكة تسليم محتوى Azure (CDN) لاستخدامه في تخزين المحتوى مؤقتا، يمكن لأي شخص يعرف عناوين URL لحاويات التخزين الوصول إلى الملفات التي قمت بتحميلها بشكل افتراضي. لحماية الملفات الموجودة في حساب التخزين الخاص بك، يمكنك تعيين الوصول إلى حاويات التخزين من العام إلى الخاص. ومع ذلك ، إذا قمت بذلك ، فلن يتمكن أحد من الوصول إلى ملفاتك.
إذا كنت ترغب في منح وصول محدود إلى حاويات التخزين الخاصة، فيمكنك استخدام ميزة توقيع الوصول المشترك (SAS) في حساب تخزين Azure الخاص بك. إن SAS هو عنوان URI يمنح حقوق وصول مقيدة إلى موارد Azure Storage دون الكشف عن مفتاح حسابك. يمكنك توفير SAS للعملاء الذين لا تثق بهم في مفتاح حساب التخزين الخاص بك ولكنك تريد تفويض الوصول إلى موارد حساب تخزين معينة. من خلال توزيع عنوان URI لتوقيع وصول مشترك على هؤلاء العملاء، فإنك تمنحهم حق الوصول إلى مورد لفترة زمنية محددة.
باستخدام SAS، يمكنك تحديد معلمات مختلفة للوصول إلى نقطة، مثل أوقات البدء وانتهاء الصلاحية، والأذونات (قراءة/كتابة)، ونطاقات IP. توضح هذه المقالة كيفية استخدام SAS بالاقتران مع Azure CDN. لمزيد من المعلومات حول SAS، بما في ذلك كيفية إنشائه وخيارات المعلمات الخاصة به، راجع استخدام توقيعات الوصول المشترك (SAS).
إعداد Azure CDN للعمل مع SAS للتخزين
يوصى باستخدام الخيارات الثلاثة التالية لاستخدام SAS مع Azure CDN. تفترض جميع الخيارات أنك قمت بالفعل بإنشاء SAS عامل (راجع المتطلبات الأساسية).
المتطلبات الأساسية
للبدء، قم بإنشاء حساب تخزين ثم قم بإنشاء SAS لمادة العرض الخاصة بك. يمكنك إنشاء نوعين من توقيعات الوصول المخزنة: خدمة SAS أو حساب SAS. لمزيد من المعلومات، راجع أنواع توقيعات الوصول المشترك.
بعد إنشاء رمز SAS مميز، يمكنك الوصول إلى ملف تخزين blob عن طريق الإلحاق ?sv=<SAS token> بعنوان URL الخاص بك. يحتوي عنوان URL هذا على التنسيق التالي:
https://<account name>.blob.core.windows.net/<container>/<file>?sv=<SAS token>
على سبيل المثال:
https://democdnstorage1.blob.core.windows.net/container1/demo.jpg?sv=2017-07-29&ss=b&srt=co&sp=r&se=2038-01-02T21:30:49Z&st=2018-01-02T13:30:49Z&spr=https&sig=QehoetQFWUEd1lhU5iOMGrHBmE727xYAbKJl5ohSiWI%3D
لمزيد من المعلومات حول إعداد المعلمات، راجع اعتبارات معلمات SASومعلمات توقيع الوصول المشترك.

الخيار 1: استخدام SAS مع التمرير إلى تخزين blob من Azure CDN
هذا الخيار هو الأبسط ويستخدم رمزا مميزا SAS واحدا ، والذي يتم تمريره من Azure CDN إلى الخادم الأصلي.
حدد نقطة نهاية، وحدد قواعد التخزين المؤقت، ثم حدد التخزين المؤقت لكل عنوان URL فريد من قائمة التخزين المؤقت لسلسلة الاستعلام .

بعد إعداد SAS على حساب التخزين الخاص بك، يجب عليك استخدام الرمز المميز SAS مع نقطة نهاية CDN وعناوين URL للخادم الأصلي للوصول إلى الملف.
يحتوي عنوان URL لنقطة نهاية CDN الناتج على التنسيق التالي:
https://<endpoint hostname>.azureedge.net/<container>/<file>?sv=<SAS token>على سبيل المثال:
https://demoendpoint.azureedge.net/container1/demo.jpg/?sv=2017-07-29&ss=b&srt=c&sp=r&se=2027-12-19T17:35:58Z&st=2017-12-19T09:35:58Z&spr=https&sig=kquaXsAuCLXomN7R00b8CYM13UpDbAHcsRfGOW3Du1M%3Dقم بضبط مدة ذاكرة التخزين المؤقت إما باستخدام قواعد التخزين المؤقت أو عن طريق إضافة
Cache-Controlرؤوس على الخادم الأصلي. نظرا لأن Azure CDN يعامل الرمز المميز SAS كسلسلة استعلام عادية، كأفضل ممارسة يجب عليك إعداد مدة التخزين المؤقت التي تنتهي صلاحيتها في وقت انتهاء صلاحية SAS أو قبله. وإلا، إذا تم تخزين ملف مؤقتا لمدة أطول من نشاط SAS، فقد يمكن الوصول إلى الملف من خادم Azure CDN الأصلي بعد انقضاء وقت انتهاء صلاحية SAS. في حالة حدوث هذا الموقف، وتريد جعل الملف المخزن مؤقتا يتعذر الوصول إليه، يجب إجراء عملية تطهير على الملف لمسحه من ذاكرة التخزين المؤقت. للحصول على معلومات حول تعيين مدة ذاكرة التخزين المؤقت على Azure CDN، راجع التحكم في سلوك التخزين المؤقت ل Azure CDN باستخدام قواعد التخزين المؤقت.
الخيار 2: رمز CDN SAS المخفي باستخدام قاعدة إعادة كتابة
يتوفر هذا الخيار فقط ل Azure CDN Premium من ملفات تعريف Verizon. باستخدام هذا الخيار ، يمكنك تأمين تخزين blob على الخادم الأصلي. قد ترغب في استخدام هذا الخيار إذا كنت لا تحتاج إلى قيود وصول محددة للملف، ولكنك تريد منع المستخدمين من الوصول إلى أصل التخزين مباشرة لتحسين أوقات إلغاء تحميل Azure CDN. الرمز المميز SAS ، وهو غير معروف للمستخدم ، مطلوب لأي شخص يصل إلى الملفات في الحاوية المحددة للخادم الأصلي. ومع ذلك، بسبب قاعدة إعادة كتابة عنوان URL، الرمز المميز SAS غير مطلوب على نقطة نهاية CDN.
استخدم محرك القواعد لإنشاء قاعدة إعادة كتابة عنوان URL. تستغرق القواعد الجديدة ما يصل إلى 4 ساعات للنشر.


يستخدم نموذج قاعدة إعادة كتابة عنوان URL التالي نمط تعبير عادي مع مجموعة التقاط ونقطة نهاية تسمى sasstoragedemo:
المصدر:
(container1/.*)مقصد:
$1?sv=2017-07-29&ss=b&srt=c&sp=r&se=2027-12-19T17:35:58Z&st=2017-12-19T09:35:58Z&spr=https&sig=kquaXsAuCLXomN7R00b8CYM13UpDbAHcsRfGOW3Du1M%3D

بعد أن تصبح القاعدة الجديدة نشطة، يمكن لأي شخص الوصول إلى الملفات الموجودة في الحاوية المحددة على نقطة نهاية CDN بغض النظر عما إذا كان يستخدم رمزا مميزا ل SAS في عنوان URL. هنا هو الشكل:
https://<endpoint hostname>.azureedge.net/<container>/<file>على سبيل المثال:
https://sasstoragedemo.azureedge.net/container1/demo.jpgقم بضبط مدة ذاكرة التخزين المؤقت إما باستخدام قواعد التخزين المؤقت أو عن طريق إضافة
Cache-Controlرؤوس على الخادم الأصلي. نظرا لأن Azure CDN يعامل الرمز المميز SAS كسلسلة استعلام عادية، كأفضل ممارسة يجب عليك إعداد مدة التخزين المؤقت التي تنتهي صلاحيتها في وقت انتهاء صلاحية SAS أو قبله. وإلا، إذا تم تخزين ملف مؤقتا لمدة أطول من نشاط SAS، فقد يمكن الوصول إلى الملف من نقطة نهاية Azure CDN بعد انقضاء وقت انتهاء صلاحية SAS.. في حالة حدوث هذا الموقف، وتريد جعل الملف المخزن مؤقتا يتعذر الوصول إليه، يجب إجراء عملية تطهير على الملف لمسحه من ذاكرة التخزين المؤقت. للحصول على معلومات حول تعيين مدة ذاكرة التخزين المؤقت على Azure CDN، راجع التحكم في سلوك التخزين المؤقت ل Azure CDN باستخدام قواعد التخزين المؤقت.
الخيار 3: استخدام مصادقة رمز أمان CDN مع قاعدة إعادة كتابة
لاستخدام مصادقة الرمز المميز لأمان Azure CDN، يجب أن يكون لديك Azure CDN Premium من ملف تعريف Verizon. هذا الخيار هو الأكثر أمانا وقابلية للتخصيص. يعتمد وصول العميل على معلمات الأمان التي قمت بتعيينها على رمز الأمان. بمجرد إنشاء رمز الأمان المميز وإعداده ، ستكون هناك حاجة إليه على جميع عناوين URL لنقطة نهاية CDN. ومع ذلك، بسبب قاعدة إعادة كتابة عنوان URL، الرمز المميز SAS غير مطلوب على نقطة نهاية CDN. إذا أصبح الرمز المميز SAS غير صالح لاحقا، فلن يتمكن Azure CDN من إعادة التحقق من صحة المحتوى من الخادم الأصلي.
قم بإنشاء رمز أمان Azure CDN وتنشيطه باستخدام محرك القواعد لنقطة نهاية CDN والمسار حيث يمكن للمستخدمين الوصول إلى الملف.
يحتوي عنوان URL لنقطة نهاية رمز الأمان المميز على التنسيق التالي:
https://<endpoint hostname>.azureedge.net/<container>/<file>?<security_token>على سبيل المثال:
https://sasstoragedemo.azureedge.net/container1/demo.jpg?a4fbc3710fd3449a7c99986bkquaXsAuCLXomN7R00b8CYM13UpDbAHcsRfGOW3Du1M%3Dتختلف خيارات المعلمة لمصادقة رمز الأمان المميز عن خيارات المعلمة لرمز SAS المميز. إذا اخترت استخدام وقت انتهاء الصلاحية عند إنشاء رمز أمان مميز، فيجب عليك تعيينه على نفس قيمة وقت انتهاء الصلاحية لرمز SAS المميز. القيام بذلك يضمن أن وقت انتهاء الصلاحية يمكن التنبؤ به.
استخدم محرك القواعد لإنشاء قاعدة إعادة كتابة عنوان URL لتمكين وصول رمز SAS المميز إلى جميع النقاط في الحاوية. تستغرق القواعد الجديدة ما يصل إلى 4 ساعات للنشر.
يستخدم نموذج قاعدة إعادة كتابة عنوان URL التالي نمط تعبير عادي مع مجموعة التقاط ونقطة نهاية تسمى sasstoragedemo:
المصدر:
(container1/.*)مقصد:
$1&sv=2017-07-29&ss=b&srt=c&sp=r&se=2027-12-19T17:35:58Z&st=2017-12-19T09:35:58Z&spr=https&sig=kquaXsAuCLXomN7R00b8CYM13UpDbAHcsRfGOW3Du1M%3D

إذا قمت بتجديد SAS، فتأكد من تحديث قاعدة إعادة كتابة عنوان URL باستخدام الرمز المميز SAS الجديد.
اعتبارات معلمة SAS
نظرا لأن معلمات SAS غير مرئية ل Azure CDN، لا يمكن ل Azure CDN تغيير سلوك التسليم الخاص به استنادا إليها. تنطبق قيود المعلمات المحددة فقط على الطلبات التي يقدمها Azure CDN إلى الخادم الأصلي، وليس للطلبات الواردة من العميل إلى Azure CDN. من المهم مراعاة هذا التمييز عند تعيين معلمات SAS. إذا كانت هذه الإمكانات المتقدمة مطلوبة وكنت تستخدم الخيار 3، فقم بتعيين القيود المناسبة على رمز أمان Azure CDN.
| اسم معلمة SAS | الوصف |
|---|---|
| بدء | الوقت الذي يمكن أن يبدأ فيه Azure CDN في الوصول إلى ملف blob. بسبب انحراف الساعة (عندما تصل إشارة الساعة في أوقات مختلفة لمكونات مختلفة)، اختر وقتا قبل 15 دقيقة إذا كنت تريد أن يكون الأصل متاحا على الفور. |
| النهاية | الوقت الذي لم يعد بإمكان Azure CDN بعده الوصول إلى ملف blob. لا يزال من الممكن الوصول إلى الملفات التي تم تخزينها مؤقتا مسبقا على Azure CDN. للتحكم في وقت انتهاء صلاحية الملف، قم إما بتعيين وقت انتهاء الصلاحية المناسب على الرمز المميز لأمان Azure CDN أو إزالة الأصل. |
| عناوين IP المسموح بها | اختياري. إذا كنت تستخدم Azure CDN من Verizon، فيمكنك تعيين هذه المعلمة إلى النطاقات المحددة في Azure CDN من نطاقات IP لخادم Verizon Edge. إذا كنت تستخدم Azure CDN من Akamai، فلا يمكنك تعيين معلمة نطاقات IP لأن عناوين IP ليست ثابتة. |
| البروتوكولات المسموح بها | سمح البروتوكول (البروتوكولات) بطلب مقدم مع حساب SAS. يوصى بإعداد HTTPS. |
الخطوات التالية
لمزيد من المعلومات حول SAS، راجع المقالات التالية:
- استخدام توقيعات الوصول المشترك (SAS)
- توقيعات الوصول المشترك، الجزء 2: إنشاء SAS واستخدامه مع تخزين Blob
لمزيد من المعلومات حول إعداد مصادقة الرمز المميز، راجع تأمين أصول شبكة تسليم محتوى Azure باستخدام مصادقة الرمز المميز.