تأمين أصول Azure Content Delivery Network باستخدام مصادقة الرمز المميز
هام
هذه ميزة من ميزات Azure CDN Premium من Edgio فقط، لتكوين القواعد على Azure CDN من Microsoft ، يرجى استخدام محرك القواعد القياسية. القواعد المتقدمة غير متاحة لـ شبكة تسليم المحتوى من Azure من Akamai. للحصول على مقارنة كاملة بين ميزات CDN، راجع ميزات منتج Azure CDN .
نظرة عامة
مصادقة الرمز المميز هي آلية تسمح لك بمنع شبكة تسليم محتوى Azure من تقديم الأصول للعملاء غير المصرح لهم. عادةً ما يتم إجراء مصادقة الرمز المميز لمنع الارتباط السريع للمحتوى، حيث يستخدم موقع ويب مختلف، مثل لوحة الرسائل، أصولك دون إذن. يمكن أن يكون للارتباط السريع تأثير على تكاليف تسليم المحتوى. عند تمكين مصادقة الرمز المميز على شبكة تسليم المحتوى، تتم مصادقة الطلبات بواسطة خادم حافة شبكة تسليم المحتوى قبل أن تسلم شبكة تسليم المحتوى المحتوى.
طريقة العمل
تتحقق مصادقة الرمز المميز من أن الطلبات يتم إنشاؤها بواسطة موقع موثوق به عن طريق مطالبة الطلبات باحتواء قيمة رمز مميز تحتوي على معلومات مشفرة حول الطالب. يتم تقديم المحتوى إلى مقدم الطلب فقط إذا كانت المعلومات المشفرة تفي بالمتطلبات؛ خلاف ذلك، يتم رفض الطلبات. يمكنك إعداد المتطلبات باستخدام واحد أو أكثر من المعلمات التالية:
- البلد/ المنطقة: السماح أو رفض الطلبات التي تنشأ من البلدان/ المناطق المحددة بواسطة التعليمة البرمجية الخاصة بالبلد/ المنطقة الخاصة بهم.
- عنوان موقع ويب: السماح فقط بالطلبات التي تطابق الأصل أو المسار المحدد.
- المضيف: السماح أو رفض الطلبات التي تستخدم المضيفين المحددين في ترويسة الطلب.
- المُحيل: السماح أو رفض الطلب من المُحيل المحدد.
- عنوان IP: السماح فقط للطلبات التي تنشأ من عنوان IP محدد أو شبكة IP الفرعية.
- البروتوكول: السماح بالطلبات أو رفضها بناءً على البروتوكول المستخدم لطلب المحتوى.
- وقت انتهاء الصلاحية: قم بتعيين تاريخ وفترة زمنية لضمان بقاء الارتباط صالحًا لفترة زمنية محدودة فقط.
للحصول على المزيد من المعلومات، راجع أمثلة التكوين التفصيلية لكل معلمة في إعداد مصادقة الرمز المميز.
هام
إذا تم تمكين ترخيص الرمز المميز لأي مسار على هذا الحساب، فإن وضع التخزين المؤقت القياسي هو الوضع الوحيد الذي يمكن استخدامه للتخزين المؤقت لسلسلة الاستعلام. لمزيد من المعلومات، راجع التحكم في سلوك التخزين المؤقت لشبكة تسليم المحتوى Azure باستخدام سلاسل الاستعلام.
التصميمات المرجعية
يصف الرسم التخطيطي لسير العمل التالي كيفية استخدام شبكة تسليم المحتوى لمصادقة الرمز المميز للعمل مع تطبيق الويب الخاص بك.
منطق التحقق من صحة الرمز المميز على نقطة نهاية شبكة تسليم المحتوى
يصف المخطط الانسيابي التالي كيفية التحقق من صحة Azure Content Delivery Network لطلب العميل عند تكوين مصادقة الرمز المميز على نقطة نهاية شبكة تسليم المحتوى.
إعداد مصادقة الرمز المميز
من مدخل Microsoft Azure، استعرض للوصول إلى ملف تعريف شبكة تسليم المحتوى، ثم حدد إدارة لبدء تشغيل المدخل التكميلي.
مرر مؤشر الفأرة فوق HTTP كبير، ثم حدد Token Auth في القائمة المنبثقة. يمكنك بعد ذلك إعداد مفتاح التشفير ومعلمات التشفير على النحو التالي:
قم بإنشاء مفتاح تشفير واحد أو أكثر. يُعد مفتاح التشفير حساس لحالة الأحرف ويمكن أن يحتوي على أي مجموعة من الأحرف الأبجدية الرقمية. لا يسمح بأي أنواع أخرى من الأحرف، بما في ذلك المسافات. الحد الأقصى للطول هو 250 حرفًا. للتأكد من أن مفاتيح التشفير الخاصة بك عشوائية، يوصى بإنشائها باستخدام أداة OpenSSL.
تحتوي أداة OpenSSL على البنية التالية:
rand -hex <key length>
على سبيل المثال:
OpenSSL> rand -hex 32
لتجنب وقت التوقف عن العمل، قم بإنشاء مفتاح أساسي ومفتاح احتياطي. يوفر مفتاح النسخ الاحتياطي وصولاً غير متقطع إلى المحتوى الخاص بك عندما يتم تحديث مفتاحك الأساسي.
أدخل مفتاح تشفير فريدًا في مربع المفتاح الأساسي وأدخل مفتاحًا احتياطيًا اختياريًا في مربع مفتاح النسخ الاحتياطي.
حدد الحد الأدنى لإصدار التشفير لكل مفتاح من قائمة إصدار التشفير الأدنى، ثم حدد تحديث:
- V2: يشير إلى أنه يمكن استخدام المفتاح لإنشاء رموز الإصدار 2.0 و 3.0. استخدم هذا الخيار فقط إذا كنت تنتقل من مفتاح تشفير الإصدار 2.0 القديم إلى مفتاح الإصدار 3.0.
- V3: (موصى به) يشير إلى أنه لا يمكن استخدام المفتاح إلا لإنشاء رموز الإصدار 3.0.
استخدم أداة التشفير للتمكن من إعداد معلمات التشفير وإنشاء رمز مميز. باستخدام أداة التشفير، يمكنك السماح بالطلبات أو رفضها بناءً على وقت انتهاء الصلاحية، والبلد/ المنطقة، والمحيل، والبروتوكول، وعنوان IP للعميل (في أي مجموعة). على الرغم من عدم وجود حد لعدد المعلمات التي يمكن دمجها لتشكيل رمز مميز وتركيبتها، فإن الطول الإجمالي للرمز المميز يقتصر على 512 حرفا.
أدخل قيمًا لواحد أو أكثر من معلمات التشفير التالية في قسم أداة التشفير:
اسم المعلمة الوصف ec_expire يخصص وقت انتهاء صلاحية الرمز المميز، وبعد ذلك تنتهي صلاحية الرمز المميز. الطلبات المقدمة بعد انتهاء الوقت مرفوضة. تستخدم هذه المعلمة طابعًا زمنيًا لـ Unix، والذي يعتمد على عدد الثواني منذ حقبة Unix القياسية "1/1/1970 00:00:00 GMT". (يمكنك استخدام الأدوات عبر الإنترنت للتحويل بين الوقت القياسي ووقت Unix.) على سبيل المثال، إذا كنت تريد أن تنتهي صلاحية الرمز المميز في
12/31/2016 12:00:00 GMT
، فأدخل قيمة الطابع الزمني لـ Unix،1483185600
.ec_url_allow يمكنك تخصيص الرموز المميزة لأصل أو مسار معين. يكون الوصول إلى الطلبات التي يبدأ عنوان URL الخاص بها مقيدًا بمسار نسبي محدد. تُعتبر عناوين URL حساسة لحالة الأحرف. أدخل مسارات متعددة بفصل كل مسار بفاصلة؛ لا تضيف مسافات. بناءً على متطلباتك، يمكنك إعداد قيم مختلفة لتوفير مستوى وصول مختلف. على سبيل المثال، بالنسبة إلى عنوان URL
http://www.mydomain.com/pictures/city/strasbourg.png
، يُسمح بهذه الطلبات لقيم الإدخال التالية:- قيمة الإدخال `/`: جميع الطلبات مسموح بها.
- قيمة الإدخال '/الصور'، يسمح بالطلبات التالية:
- 'http://www.mydomain.com/pictures.png'
- 'http://www.mydomain.com/pictures/city/strasbourg.png'
- 'http://www.mydomain.com/picturesnew/city/strasbourgh.png'
- قيمة الإدخال'/ pictures/ `: يُسمح فقط بالطلبات التي تحتوي على المسار`/ pictures/ `. على سبيل المثال: `http://www.mydomain.com/pictures/city/strasbourg.png`.
- قيمة الإدخال`/ صور/ مدينة/ strasbourg.png`: يُسمح فقط بطلبات هذا المسار والأصل المحددين.
ec_country_allow يسمح فقط بالطلبات التي تنشأ من بلد/ منطقة محددة أو أكثر. الطلبات التي تأتي من جميع البلدان/ المناطق الأخرى مرفوضة. استخدم [رمز البلد/ المنطقة ISO 3166] (/ الإصدارات السابقة/ azure /mt761717 (v = azure.100)) لكل بلد/ منطقة وافصل كل واحد بفاصلة؛ لا تضيف مسافة. على سبيل المثال، إذا كنت تريد السماح بالوصول من الولايات المتحدة وفرنسا فقط، فأدخل "US،FR". ec_country_deny يرفض الطلبات التي تنشأ من واحد أو أكثر من البلدان/ المناطق المحددة. يُسمح بالطلبات الصادرة من جميع البلدان/ المناطق الأخرى. التنفيذ هو نفسه المعلمة ec_country_allow. إذا كان رمز البلد/ المنطقة موجودًا في كل من معلمات ec_country_allow و ec_country_deny، فإن المعلمة ec_country_allow لها الأسبقية. ec_ref_allow يسمح فقط للطلبات من المرجع المحدد. يحدد المُحيل عنوان URL لصفحة الويب المرتبطة بالمورد المطلوب. لا تضم البروتوكول إلى قيمة المعلمة. الأنواع التالية من المدخلات مسموح بها:
- اسم مضيف، أو اسم مضيف ومسار.
- مُحيلون متعددون. لإضافة عدة مُحيلين، افصل بين كل مُحيل بفاصلة؛ لا تضيف مسافة. إذا حددت قيمة للمحيل، ولكن لم يتم إرسال معلومات المرجع في الطلب بسبب تكوين المتصفح، فسيتم رفض الطلب افتراضيًا.
- طلبات ذات معلومات مرجعية مفقودة أو فارغة. بشكل افتراضي، تمنع المعلمة ec_ref_allow هذه الأنواع من الطلبات. للسماح بهذه الطلبات، أدخل إما النص، "مفقود"، أو أدخل قيمة فارغة (باستخدام فاصلة لاحقة).
- المجالات الفرعية. للسماح بالمجالات الفرعية، أدخل علامة النجمة (\ *). على سبيل المثال، للسماح لجميع المجالات الفرعية لـ "contoso.com"، أدخل "*.contoso.com`.
على سبيل المثال، للسماح بالوصول للطلبات من
www.contoso.com
، وجميع النطاقات الفرعية ضمنcontoso2.com
، والطلبات ذات الإحالات الفارغة أو المفقودة، قم بإدخالwww.contoso.com,*.contoso.com,missing
.ec_ref_deny يرفض الطلبات من المرجع المحدد. التنفيذ هو نفسه المعلمة ec_ref_allow. إذا كان المُحيل موجودًا في كل من معلمات ec_ref_allow وec_ref_deny، فإن المعلمة ec_ref_allow لها الأولوية. ec_proto_allow يسمح فقط للطلبات من البروتوكول المحدد. القيم الصالحة هي `http` أو` https` أو `http،https`. ec_proto_deny يرفض الطلبات من البروتوكول المحدد. التنفيذ هو نفسه المعلمة ec_proto_allow. إذا كان البروتوكول موجودًا في كل من معلمات ec_proto_allow و ec_proto_deny، فإن المعلمة ec_proto_allow لها الأسبقية. ec_clientip يقيد الوصول إلى عنوان IP للطالب المحدد. يتم دعم كل من إصدار بروتوكول الإنترنت 4 (IPv4) وبروتوكول الإنترنت الإصدار 6 (IPv6). يمكنك تحديد إما عنوان IP لطلب واحد أو عناوين IP مرتبطة بشبكة فرعية معينة. على سبيل المثال، يسمح "11.22.33.0/ 22" بالطلبات من عناوين IP 11.22.32.1 إلى 11.22.35.254. بعد الانتهاء من إدخال قيم معلمات التشفير، حدد مفتاحا للتشفير (إذا قمت بإنشاء مفتاح أساسي ومفتاح نسخ احتياطي) من قائمة Key To Encrypt .
حدد إصدار تشفير من قائمة إصدار التشفير: V2 للإصدار 2 أو V3 للإصدار 3 (مستحسن).
حدد تشفير لإنشاء الرمز المميز.
بعد إنشاء الرمز المميز، يتم عرضه في مربع الرمز المميز الذي تم إنشاؤه. لاستخدام الرمز المميز، ألحقه كسلسلة استعلام بنهاية الملف في مسار URL الخاص بك. على سبيل المثال،
http://www.domain.com/content.mov?a4fbc3710fd3449a7c99986b
اختياريًا، اختبر الرمز المميز الخاص بك باستخدام أداة فك التشفير حتى تتمكن من عرض معلمات الرمز المميز الخاص بك. الصق قيمة الرمز المميز في المربع رمز لفك التشفير. حدد مفتاح التشفير المراد استخدامه من قائمة Key To Decrypt، ثم حدد Decrypt.
بعد فك تشفير الرمز المميز، يتم عرض معلماته في مربع المعلمات الأصلية.
اختياريًا، قم بتخصيص نوع رمز الاستجابة الذي يتم إرجاعه عند رفض الطلب. حدد ممكّن، ثم حدد رمز الاستجابة من قائمة رمز الاستجابة. يتم تعيين اسم الرأس تلقائيًا على الموقع. حدد حفظ لتنفيذ التعليمة الاستجابة الجديد. بالنسبة إلى رموز استجابة معينة، يجب عليك أيضًا إدخال عنوان URL لصفحة الخطأ في مربع قيمة العنوان. يتم تحديد رمز الاستجابة 403 (ممنوع) افتراضيًا.
ضمن HTTP كبير، حدد محرك القواعد. يمكنك استخدام محرك القواعد لتحديد المسارات لتطبيق الميزة، وتمكين ميزة مصادقة الرمز المميز، وتمكين القدرات الإضافية المتعلقة بمصادقة الرمز المميز. لمزيد من المعلومات، راجع مرجع محرك القواعد.
- حدد قاعدة حالية أو أنشئ قاعدة جديدة لتحديد الأصل أو المسار الذي تريد تطبيق مصادقة الرمز عليه.
- لتمكين مصادقة الرمز المميز على قاعدة، حدد مصادقة الرمز المميز من قائمة الميزات، ثم حدد ممكّن. حدد تحديث إذا كنت تقوم بتحديث قاعدة أو إضافة إذا كنت تقوم بإنشاء قاعدة.
في محرك القواعد، يمكنك أيضا تمكين المزيد من الميزات المتعلقة بمصادقة الرمز المميز. لتمكين أي من الميزات التالية، حددها من قائمة الميزات، ثم حدد ممكّن.
رمز رفض مصادقة الرمز المميز: يحدد نوع الاستجابة التي يتم إرجاعها إلى مستخدم عند رفض طلب. تتجاوز القواعد التي تم تعيينها هنا رمز الاستجابة المحدد في قسم معالجة الرفض المخصص في صفحة المصادقة القائمة على الرمز المميز.
مصادقة الرمز المميز تجاهل حالة URL: يحدد ما إذا كان عنوان URL المستخدم للتحقق من صحة الرمز المميز حساسا لحالة الأحرف.
معلمة مصادقة الرمز المميز: تعيد تسمية معلمة سلسلة استعلام مصادقة الرمز المميز التي تظهر في عنوان URL المطلوب.
يمكنك تخصيص الرمز المميز الخاص بك عن طريق الوصول إلى التعليمات البرمجية المصدرية في GitHub. تشمل اللغات المتوفرة:
- C
- C#
- PHP
- Perl
- Java
- Python
ميزات Azure Content Delivery Network وتسعير الموفر
للحصول على معلومات حول الميزات، راجع ميزات منتج Azure Content Delivery Network. للحصول على معلومات بشأن أسعار Azure CDN، راجع أسعار شبكة تسليم المحتوى.