0Pricing
AWS Solutions Architect · درس

عناوين URL الموقعة وملفات تعريف الارتباط الموقعة والتقييد الجغرافي

قيّدوا الوصول إلى المحتوى المميز باستخدام عناوين URL وملفات تعريف الارتباط الموقعة، واحجبوا المستخدمين من بلدان محددة باستخدام التقييد الجغرافي.

عناوين URL الموقعة وملفات تعريف الارتباط الموقعة والتقييد الجغرافي درس مجاني في AWS Solutions Architect على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في AWS Solutions Architect، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة AWS Solutions Architect 4 دروس في المجموع.

تقييد الوصول إلى محتوى CloudFront

تقدّم CloudFront المحتوى افتراضيًا إلى أي مشاهد يعرف عنوان URL. وبالنسبة إلى المحتوى المميز أو الخاص—مثل دورات الفيديو، وتنزيلات البرامج المدفوعة، والموارد المخصصة للأعضاء—فأنت بحاجة إلى تقييد الوصول حتى لا يتمكن من استرداده إلا المستخدمون المصرح لهم.

توفر CloudFront آليتين للوصول المصرح به: عناوين URL موقعة (يمنح عنوان URL واحد الوصول إلى كائن محدد واحد) وملفات تعريف ارتباط موقعة (تمنح مجموعة من ملفات تعريف الارتباط الوصول إلى عدة كائنات تطابق نمط مسار). وتستخدم الآليتان توقيعات تشفيرية تُنشأ باستخدام زوج مفاتيح RSA.

عناوين URL موقعة من CloudFront

إن عنوان URL الموقّع هو عنوان URL من CloudFront يتضمن توقيعًا تشفيريًا يشفّر وقت انتهاء الصلاحية، وقد يتضمن اختياريًا تقييدًا لعنوان IP. يظل عنوان URL صالحًا حتى انتهاء صلاحيته فقط، ومن عنوان IP المسموح به فقط إذا تم تحديده. بعد انتهاء الصلاحية، يعيد CloudFront استجابة 403 Forbidden.

تُعد عناوين URL الموقّعة الأنسب من أجل: منح مستخدم واحد إمكانية الوصول إلى ملف محدد واحد، مثل تقرير PDF مُنشأ، أو توفير روابط تنزيل محددة المدة، أو استخدامها عندما يتعذر على العميل تعيين ملفات تعريف الارتباط، مثل تطبيقات الأجهزة المحمولة أو البث عبر RTMP.

# Generate a signed URL using AWS CLI (requires a CloudFront key pair)
aws cloudfront sign \
  --url https://d1234abcdef.cloudfront.net/premium/video.mp4 \
  --key-pair-id APKA1234567890 \
  --private-key file://private-key.pem \
  --date-less-than 2026-06-21T00:00:00Z

ملفات تعريف الارتباط الموقّعة من CloudFront

تعمل ملفات تعريف الارتباط الموقّعة بطريقة مشابهة لعناوين URL الموقّعة، لكنها تمنح الوصول إلى ملفات متعددة من دون تغيير كل عنوان URL. بعد نجاح المصادقة، يُنشئ خادمك ثلاث ملفات تعريف ارتباط (CloudFront-Policy وCloudFront-Signature وCloudFront-Key-Pair-Id) ويعيّنها في استجابة المتصفح. وتتضمن طلبات CloudFront اللاحقة من ذلك المتصفح ملفات تعريف الارتباط هذه، ما يمنح الوصول إلى كل المحتوى المطابق.

تُعد ملفات تعريف الارتباط الموقّعة الأنسب من أجل: منح المستخدمين الذين سجلوا الدخول إمكانية الوصول إلى قسم مميز كامل، مثل جميع مقاطع الفيديو ضمن /members/*، أو استخدامها عندما لا يمكنك التحكم في تنسيق عنوان URL لكل مورد على حدة.

مجموعات المفاتيح الموثوقة

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

يُخزَّن المفتاح الخاص بأمان، مثلًا في Secrets Manager، على خادم التوقيع لديك. وعندما يصادق مستخدم ما، يستخدم الخادم المفتاح الخاص لتوقيع عنوان URL أو سياسة ملف تعريف الارتباط. ويتحقق CloudFront من التوقيعات باستخدام المفتاح العام المطابق في مجموعة المفاتيح الموثوقة.

# Upload a public key to CloudFront
aws cloudfront create-public-key \
  --public-key-config '{
    "Name": "MySigningKey",
    "EncodedKey": "-----BEGIN PUBLIC KEY-----\n...<key>...\n-----END PUBLIC KEY-----",
    "CallerReference": "2026-06-20-key"
  }'

سياسات عناوين URL الموقّعة الجاهزة مقابل المخصصة

يمكن أن تستخدم عناوين URL الموقّعة أحد نوعي السياسات التاليين:

  • السياسة الجاهزة: أبسط صيغة، إذ تحدد عنوان URL للمورد ووقت انتهاء الصلاحية فقط. يكون التوقيع مضغوطًا وسهل الإنشاء.
  • السياسة المخصصة: أكثر مرونة، إذ تحدد عنوان URL للمورد مع أحرف بدل اختيارية (https://d123.cloudfront.net/videos/*)، ووقت بدء اختياري (وقت عدم الصلاحية قبله)، وتقييدًا اختياريًا لعنوان IP. وتُشفَّر صيغة JSON للسياسة بترميز Base64 داخل عنوان URL.

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

التقييد الجغرافي في CloudFront

يمنع التقييد الجغرافي، الذي يُسمى أيضًا التقييدات الجغرافية، CloudFront من تقديم المحتوى أو يسمح له بذلك استنادًا إلى بلد المشاهد. ويحدد CloudFront بلد المشاهد من عنوان IP الخاص به باستخدام قاعدة بيانات لتحديد الموقع الجغرافي تابعة لجهة خارجية.

تُعدِّل التقييد الجغرافي لكل توزيعة إما على هيئة قائمة سماح (لا يمكن الوصول إلى المحتوى إلا من البلدان المدرجة) أو قائمة حظر (تُحظر البلدان المدرجة). ويتلقى المستخدمون في البلدان المقيّدة استجابة HTTP 403. ويُعد التقييد الجغرافي أداة عامة وغير دقيقة، إذ ينطبق على التوزيعة بأكملها وليس على المسارات الفردية.

# Enable geo-restriction: block two countries
aws cloudfront update-distribution \
  --id EDFDVBD6EXAMPLE \
  --distribution-config '{
    ...existing config...
    "Restrictions": {
      "GeoRestriction": {
        "RestrictionType": "blacklist",
        "Quantity": 2,
        "Items": ["CN", "RU"]
      }
    }
  }' \
  --if-match ETVPDKIKX0DER

التقييد الجغرافي في CloudFront مقابل تحديد الموقع الجغرافي في Route 53

يستخدم كل من التقييد الجغرافي في CloudFront والتوجيه حسب الموقع الجغرافي في Route 53 الموقع الجغرافي، لكن لكل منهما غرض مختلف:

  • التقييد الجغرافي في CloudFront: يمنع تقديم المحتوى عند نقاط الحافة أو يسمح به في طبقة شبكة CDN؛ إذ يعيد 403 إلى البلدان المحظورة، وينطبق على مستوى التوزيعة
  • تحديد الموقع الجغرافي في Route 53: يوجّه استعلامات DNS إلى نقاط نهاية مختلفة، مثل خوادم أو صفحات مختلفة، استنادًا إلى الموقع الجغرافي؛ ولا يمنع الوصول، بل يوجّه المستخدم إلى محتوى أو بنية أساسية مختلفة

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

دمج عناوين URL الموقّعة مع S3 وOAC

بنية متكاملة لتقديم المحتوى الخاص:

  1. تكون حاوية S3 خاصة (من دون وصول عام)
  2. يستخدم CloudFront ميزة OAC بحيث لا تتمكن إلا التوزيعة من القراءة من S3
  3. يتطلب سلوك التخزين المؤقت للمحتوى الخاص عناوين URL أو ملفات تعريف ارتباط موقّعة (مع ربط مجموعة مفاتيح موثوقة)
  4. يصادق خادم التطبيق لديك على المستخدمين ويصدر عناوين URL أو ملفات تعريف ارتباط موقّعة
  5. يصل المستخدمون إلى المحتوى من خلال عناوين URL موقّعة من CloudFront ومحددة المدة فقط

حتى إذا خمّن مستخدم عنوان URL الخاص بـ S3 أو شاركه، فسيُحظر الوصول. وحتى إذا شارك عنوان URL الخاص بـ CloudFront، فستنتهي صلاحيته بعد المدة المحددة. ويوفر هذا النهج متعدد الطبقات دفاعًا متعمقًا لحماية المحتوى الرقمي.

التشفير على مستوى الحقول

يُعد التشفير على مستوى الحقول ميزة متقدمة في CloudFront تتيح تشفير حقول البيانات الحساسة في طلبات HTTP POST عند الحافة قبل إعادة توجيهها إلى المصدر. وحتى إذا تعرض خادم المصدر للاختراق، تظل الحقول المشفرة، مثل أرقام بطاقات الائتمان وأرقام الضمان الاجتماعي، غير قابلة للقراءة من دون المفتاح الخاص المطابق.

يشفّر CloudFront الحقول المحددة باستخدام مفتاح عام عند الحافة. ولا يمكن فك تشفير البيانات إلا بواسطة خدمة الواجهة الخلفية المقصودة التي تملك المفتاح الخاص المطابق. ويضيف التشفير على مستوى الحقول طبقة حماية ضمن مسار مؤمّن أصلًا باستخدام TLS.

نمط التحكم في الوصول المستند إلى الرموز

بالنسبة إلى التطبيقات الديناميكية التي تحتاج إلى تحكم دقيق في الوصول يتجاوز الحظر على مستوى البلدان، يتمثل أحد الأنماط الشائعة في الوصول المستند إلى الرموز باستخدام Lambda@Edge:

  1. يصادق المستخدم باستخدام Cognito أو خدمة المصادقة الخاصة بك، ويتلقى JWT
  2. يضمّن المستخدم JWT كمعلمة استعلام أو ملف تعريف ارتباط في طلبات CloudFront
  3. تتحقق دالة Viewer-Request في Lambda@Edge من توقيع JWT والادعاءات الموجودة فيه
  4. إذا كان صالحًا، تعيد Lambda@Edge توجيه الطلب إلى المصدر؛ وإذا كان غير صالح، تعيد 401

يوفر ذلك تحكمًا دقيقًا في الوصول لكل مستخدم ولكل مورد، بالكامل عند حافة CloudFront، من دون الوصول إلى المصدر للطلبات غير المصرح بها.

ملخص حالات الاستخدام الواقعية

أنماط سيناريوهات الاختبار الخاصة بعناوين URL/ملفات تعريف الارتباط الموقّعة والتقييد الجغرافي:

  • 'رابط تنزيل محدد المدة لملف تم شراؤه' → عنوان URL موقّع مع وقت انتهاء الصلاحية
  • 'المستخدمون المميزون الذين سجلوا الدخول يصلون إلى جميع مقاطع الفيديو في /premium/*' → ملفات تعريف ارتباط موقّعة مع سياسة تستخدم أحرف البدل
  • 'حظر الوصول عن المستخدمين في بلدان محددة بسبب التراخيص' → قائمة حظر للتقييد الجغرافي في CloudFront
  • 'تقديم محتوى مختلف إلى بلدان مختلفة' → تحديد الموقع الجغرافي في Route 53 مع توزيعات أو مصادر متعددة
  • 'حماية حقول بطاقات الائتمان حتى من مسؤولي المصدر' → التشفير على مستوى الحقول

تحقق سريع

اختبر فهمك لمفاهيم AWS Solutions Architect (SAA-C03) الواردة في هذا الدرس.

مراجعة الدرس

تعلمت في هذا الدرس أن عناوين URL الموقّعة تقيّد الوصول إلى ملفات فردية باستخدام وقت انتهاء الصلاحية وتقييد اختياري لعنوان IP، وأن ملفات تعريف الارتباط الموقّعة تمنح الوصول إلى ملفات متعددة تطابق نمط مسار ضمن جلسة مصادق عليها واحدة، وأن التقييد الجغرافي يحظر بلدانًا بأكملها أو يسمح لها على مستوى توزيعة CloudFront. بعد ذلك، سنستكشف CloudFront مع WAF وLambda@Edge.

الأسئلة الشائعة

هل درس «عناوين URL الموقعة وملفات تعريف الارتباط الموقعة والتقييد الجغرافي» مجاني؟

نعم — نص درس «عناوين URL الموقعة وملفات تعريف الارتباط الموقعة والتقييد الجغرافي» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة AWS Solutions Architect، انتقل إلى CoddyKit PRO. تتضمن دورة AWS Solutions Architect 4 دروس في المجموع.

ماذا ستتعلم في «عناوين URL الموقعة وملفات تعريف الارتباط الموقعة والتقييد الجغرافي»؟

قيّدوا الوصول إلى المحتوى المميز باستخدام عناوين URL وملفات تعريف الارتباط الموقعة، واحجبوا المستخدمين من بلدان محددة باستخدام التقييد الجغرافي. تتمرن على AWS Solutions Architect مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ AWS Solutions Architect؟

لا تُشترط خبرة سابقة. AWS Solutions Architect على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «عناوين URL الموقعة وملفات تعريف الارتباط الموقعة والتقييد الجغرافي»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس AWS Solutions Architect هذا؟

نعم. كل درس في AWS Solutions Architect يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. توزيعات CloudFront والمصادر الأصلية
  2. سلوكيات ذاكرة التخزين المؤقت وإعدادات TTL
  3. عناوين URL الموقعة وملفات تعريف الارتباط الموقعة والتقييد الجغرافي
  4. CloudFront مع WAF وLambda@Edge
← العودة إلى AWS Solutions Architect