استخدام Azure Content Delivery Network مع SAS

عند إعداد حساب تخزين ل Azure Content Delivery Network لاستخدامه في تخزين المحتوى مؤقتا، بشكل افتراضي، يمكن لأي شخص يعرف عناوين URL لحاويات التخزين الوصول إلى الملفات التي قمت بتحميلها. لحماية الملفات في حساب التخزين الخاص بك، يمكنك تعيين وصول حاويات التخزين الخاصة بك من عام إلى خاص. ومع ذلك، إذا قمت بذلك، فلن يتمكن أي شخص من الوصول إلى ملفاتك.

إذا كنت تريد منح وصول محدود إلى حاويات التخزين الخاصة، يمكنك استخدام ميزة توقيع الوصول المشترك (SAS) لحساب Azure Storage الخاص بك. إن SAS هو عنوان URI يمنح حقوق وصول مقيدة إلى موارد Azure Storage دون الكشف عن مفتاح حسابك. يمكنك توفير SAS للعملاء الذين لا تثق بهم باستخدام مفتاح حساب التخزين الخاص بك ولكن لمن تريد تفويض الوصول إلى موارد حساب تخزين معينة. من خلال توزيع عنوان URI لتوقيع الوصول المشترك على هؤلاء العملاء، يمكنك منحهم حق الوصول إلى مورد لفترة زمنية محددة.

باستخدام SAS، يمكنك تحديد معلمات مختلفة للوصول إلى كائن ثنائي كبير الحجم، مثل أوقات البدء والانتهاء والأذونات (القراءة/الكتابة) ونطاقات IP. توضح هذه المقالة كيفية استخدام SAS مع Azure Content Delivery Network. لمزيد من المعلومات حول SAS، بما في ذلك كيفية إنشائها وخيارات المعلمات الخاصة بها، راجع استخدام توقيعات الوصول المشترك (SAS).

إعداد Azure Content Delivery Network للعمل مع التخزين SAS

يوصى بالخيارين التاليين لاستخدام SAS مع Azure Content Delivery Network. تفترض جميع الخيارات أنك قمت بالفعل بإنشاء SAS عامل (راجع المتطلبات الأساسية).

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

للبدء، قم بإنشاء حساب تخزين ثم قم بإنشاء SAS للأصل الخاص بك. يمكنك إنشاء نوعين من توقيعات الوصول المخزنة: خدمة SAS أو حساب SAS. لمزيد من المعلومات، راجع أنواع توقيعات الوصول المشترك.

بعد إنشاء رمز SAS المميز، يمكنك الوصول إلى ملف تخزين الكائن الثنائي كبير الحجم عن طريق إلحاق ?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 ومعلمات توقيع الوصول المشترك.

لقطة شاشة لإعدادات SAS لشبكة تسليم المحتوى.

الخيار 1: استخدام SAS مع المرور إلى تخزين كائن ثنائي كبير الحجم من Azure Content Delivery Network

هذا الخيار هو الأبسط ويستخدم رمز SAS مميزا واحدا، والذي يتم تمريره من Azure Content Delivery Network إلى خادم الأصل.

  1. حدد نقطة نهاية، وحدد Caching rules، ثم حدد Cache every unique URL من قائمة Query string caching.

    لقطة شاشة لقواعد التخزين المؤقت لشبكة تسليم المحتوى.

  2. بعد إعداد SAS على حساب التخزين الخاص بك، يجب استخدام رمز SAS المميز مع نقطة نهاية شبكة تسليم المحتوى وعناوين URL خادم الأصل للوصول إلى الملف.

    يحتوي عنوان URL لنقطة نهاية شبكة تسليم المحتوى الناتج على التنسيق التالي: 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

  3. قم بضبط مدة ذاكرة التخزين المؤقت إما عن طريق استخدام قواعد التخزين المؤقت أو عن طريق إضافة رؤوس Cache-Control في الخادم الأصلي. نظرا لأن Azure Content Delivery Network تتعامل مع رمز SAS المميز كسلسلة استعلام عادي، كأفضل ممارسة، يجب عليك إعداد مدة التخزين المؤقت التي تنتهي في وقت انتهاء صلاحية SAS أو قبله. وإلا، إذا تم تخزين ملف مؤقتا لمدة أطول من SAS النشط، فقد يمكن الوصول إلى الملف من خادم أصل Azure Content Delivery Network بعد انقضاء وقت انتهاء صلاحية SAS. في حال حدوث هذا الموقف، وتريد جعل الملف المخزن مؤقتاً غير قابل للوصول، يجب إجراء عملية مسح على الملف لمسحه من ذاكرة التخزين المؤقت. للحصول على معلومات حول تعيين مدة ذاكرة التخزين المؤقت على Azure Content Delivery Network، راجع التحكم في سلوك التخزين المؤقت لشبكة تسليم المحتوى Azure باستخدام قواعد التخزين المؤقت.

الخيار 2: استخدام مصادقة الرمز المميز لأمان شبكة تسليم المحتوى مع قاعدة إعادة الكتابة

لاستخدام مصادقة الرمز المميز لأمان Azure Content Delivery Network، يجب أن يكون لديك Azure CDN Premium من ملف تعريف Edgio . هذا الخيار هو الأكثر أماناً وقابلية للتخصيص. يعتمد وصول العميل على معلمات الأمان التي تقوم بتعيينها على رمز الأمان. بمجرد إنشاء الرمز المميز للأمان وإعداده، يكون مطلوبا على جميع عناوين URL لنقطة نهاية شبكة تسليم المحتوى. ومع ذلك، بسبب قاعدة إعادة كتابة عنوان URL، رمز SAS المميز غير مطلوب على نقطة نهاية شبكة تسليم المحتوى. إذا أصبح رمز SAS المميز لاحقا غير صالح، فلن تتمكن شبكة تسليم المحتوى من Azure من إعادة التحقق من المحتوى من خادم الأصل.

  1. أنشئ رمز أمان Azure Content Delivery Network وقم بتنشيطه باستخدام محرك القواعد لنقطة نهاية شبكة تسليم المحتوى والمسار حيث يمكن للمستخدمين الوصول إلى الملف.

    عنوان URL لنقطة نهاية رمز الأمان له التنسيق التالي:

    https://<endpoint hostname>.azureedge.net/<container>/<file>?<security_token>

    على سبيل المثال:

    https://sasstoragedemo.azureedge.net/container1/demo.jpg?a4fbc3710fd3449a7c99986bkquaXsAuCLXomN7R00b8CYM13UpDbAHcsRfGOW3Du1M%3D

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

  2. استخدم محرك القواعد لإنشاء قاعدة إعادة كتابة عنوان 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لقطة شاشة لقاعدة إعادة كتابة عنوان URL لشبكة تسليم المحتوى - إلى اليسار.لقطة شاشة لقاعدة إعادة كتابة عنوان URL لشبكة تسليم المحتوى - لليمين.

  3. إذا قمت بتجديد SAS، فتأكد من تحديث قاعدة إعادة كتابة عنوان URL باستخدام رمز SAS المميز الجديد.

اعتبارات معلمة SAS

نظرا لأن معلمات SAS غير مرئية لشبكة توصيل محتوى Azure، لا يمكن لشبكة توصيل محتوى Azure تغيير سلوك التسليم الخاص بها استنادا إليها. تنطبق قيود المعلمات المحددة فقط على الطلبات التي تقوم بها شبكة تسليم المحتوى Azure إلى خادم الأصل، وليس للطلبات من العميل إلى شبكة تسليم المحتوى Azure. هذا التمييز مهم في الاعتبار عند تعيين معلمات SAS. إذا كانت هذه الإمكانات المتقدمة مطلوبة وكنت تستخدم الخيار 2، فقم بتعيين القيود المناسبة على رمز أمان Azure Content Delivery Network.

اسم معلمة SAS ‏‏الوصف
بداية الوقت الذي يمكن أن تبدأ فيه Azure Content Delivery Network في الوصول إلى ملف الكائن الثنائي كبير الحجم. نظراً لانحراف الساعة (عندما تصل إشارة الساعة في أوقات مختلفة لمكونات مختلفة)، اختر وقتاً قبل 15 دقيقة إذا كنت تريد أن يكون الأصل متاحاً على الفور.
الإنهاء الوقت الذي لم تعد فيه شبكة تسليم محتوى Azure يمكنها الوصول إلى ملف الكائن الثنائي كبير الحجم. لا يزال الوصول إلى الملفات المخزنة مؤقتا مسبقا على Azure Content Delivery Network. للتحكم في وقت انتهاء صلاحية الملف، قم إما بتعيين وقت انتهاء الصلاحية المناسب على رمز أمان Azure Content Delivery Network أو قم بإزالة الأصل.
عناوين IP المسموح بها اختياري. إذا كنت تستخدم Azure CDN من Edgio، يمكنك تعيين هذه المعلمة إلى النطاقات المحددة في Azure Content Delivery Network من نطاقات IP لخادم Edgio Edge.
البروتوكولات المسموح بها البروتوكولات المسموح بها لطلب تم إجراؤه باستخدام SAS للحساب. يوصى بإعداد HTTPS.

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

لمزيد من المعلومات حول SAS، راجع المقالات التالية:

لمزيد من المعلومات حول إعداد مصادقة الرمز المميز، راجع تأمين أصول شبكة تسليم محتوى Azure باستخدام مصادقة الرمز المميز.