سياسة AccessControl

يتم الآن عرض مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
المعلومات

الموضوع

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

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

يمكنك إرفاق هذه السياسة في أي مكان خلال مسار الخادم الوكيل لواجهة برمجة التطبيقات، ولكنك ستحتاج على الأرجح إلى التحقّق من عناوين IP في بداية العملية ( Request / ProxyEndpoint / PreFlow)، حتى قبل المصادقة أو التحقّق من الحصة.

عيّنات

تحدد قيم القناع في نماذج IPv4 التالية أيًا من الثمانيات الأربع (8 و16 و24 و32 بت) التي تأخذها قاعدة المطابقة في الاعتبار عند السماح بالوصول أو رفضه. القيمة التلقائية هي 32. اطّلِع على السمة mask في مرجع العنصر للحصول على مزيد من المعلومات.

رفض 198.51.100.1

<AccessControl name="ACL">
  <IPRules noRuleMatchAction = "ALLOW">
    <MatchRule action = "DENY">
      <SourceAddress mask="32">198.51.100.1</SourceAddress>
    </MatchRule>
  </IPRules>
</AccessControl>

رفض جميع الطلبات الواردة من عنوان العميل: 198.51.100.1

السماح بالطلبات من أي عنوان عميل آخر.

رفض استخدام المتغيّرات

<AccessControl name="ACL">
  <IPRules noRuleMatchAction = "ALLOW">
    <MatchRule action = "DENY">
      <SourceAddress mask="{kvm.mask.value}">{kvm.ip.value}</SourceAddress>
    </MatchRule>
    </IPRules>
</AccessControl>

لنفترض أنك تستخدم خريطة قيم أساسية (KVM) لتخزين قيم الإخفاء وعناوين IP. وهذه طريقة سهلة لتغيير عناوين IP وإخفاء عناوين IP أثناء وقت التشغيل بدون الحاجة إلى تعديل الخادم الوكيل لواجهة برمجة التطبيقات وإعادة نشره. يمكنك استخدام سياسة KeyValueMapOperations لاسترداد المتغيّرات التي تحتوي على قيمتَي kvm.mask.value وkvm.ip.value (بافتراض أنّ هذا هو الاسم الذي أسميته المتغيّرات في سياسة KVM التي تحتوي على قيم القناع وقيم IP من KVM). إذا كانت القيم التي تم استردادها هي 24 للقناع و198.51.100.1 لعنوان IP، سترفض سياسة AccessControl جميع الطلبات الواردة من: 198.51.100.*

وسيتم السماح بجميع عناوين العملاء الأخرى.

رفض 198.51.100*

<AccessControl name="ACL">
  <IPRules noRuleMatchAction = "ALLOW">
    <MatchRule action = "DENY">
      <SourceAddress mask="24">198.51.100.1</SourceAddress>
    </MatchRule>
    </IPRules>
</AccessControl>

رفض جميع الطلبات الواردة من عنوان العميل: 198.51.100.*

السماح بالطلبات من أي عنوان عميل آخر.

198.51.*.*

<AccessControl name="ACL">
  <IPRules noRuleMatchAction = "ALLOW">
    <MatchRule action = "DENY">
       <SourceAddress mask="16">198.51.100.1</SourceAddress>
    </MatchRule>
  </IPRules>
</AccessControl>

رفض جميع الطلبات الواردة من عنوان العميل: 198.51.*.*

السماح بالطلبات من أي عنوان عميل آخر.

رفض 198.51.100.*، والسماح بـ 192.0.2.1

<AccessControl name="ACL">
  <IPRules noRuleMatchAction = "ALLOW">
    <MatchRule action = "ALLOW">
      <SourceAddress mask="32">192.0.2.1</SourceAddress>
    </MatchRule>
    <MatchRule action = "DENY">
      <SourceAddress mask="24">198.51.100.1</SourceAddress>
    </MatchRule>
  </IPRules>
</AccessControl>

رفض جميع الطلبات الواردة من عنوان العميل: 198.51.100.* ، مع السماح بالرقم 192.0.2.1.

السماح بالطلبات من أي عنوان عميل آخر.

السماح بالاستخدام 198.51.*.*

<AccessControl name="ACL">
  <IPRules noRuleMatchAction = "DENY">
    <MatchRule action = "ALLOW">
      <SourceAddress mask="16">198.51.100.1</SourceAddress>
    </MatchRule>
  </IPRules>
</AccessControl>

السماح بجميع الطلبات من العنوان: 198.51.*.*

رفض الطلبات الواردة من أي عنوان عميل آخر.

السماح بعناوين IP متعددة

<AccessControl name="ACL">
  <IPRules noRuleMatchAction = "DENY">
    <MatchRule action = "ALLOW">
      <SourceAddress mask="24">198.51.100.1</SourceAddress>
      <SourceAddress mask="24">192.0.2.1</SourceAddress>
      <SourceAddress mask="24">203.0.113.1</SourceAddress>
     </MatchRule>
  </IPRules>
</AccessControl>

السماح بالطلبات من عناوين العملاء: 198.51.100.* 192.0.2.* 203.0.113.*

رفض جميع العناوين الأخرى

رفض عناوين IP متعددة

<AccessControl name="ACL">
  <IPRules noRuleMatchAction = "ALLOW">
    <MatchRule action = "DENY">
      <SourceAddress mask="24">198.51.100.1</SourceAddress>
      <SourceAddress mask="24">192.0.2.1</SourceAddress>
      <SourceAddress mask="24">203.0.113.1</SourceAddress>
    </MatchRule>
  </IPRules>
</AccessControl>

رفض الطلبات الواردة من عناوين العملاء: 198.51.100.* 192.0.2.* 203.0.113.*

السماح بجميع العناوين الأخرى

السماح بعناوين IP متعددة ورفض عناوين IP متعددة

<AccessControl name="ACL">
  <IPRules noRuleMatchAction = "DENY">
    <MatchRule action = "DENY">
      <SourceAddress mask="24">198.51.100.1</SourceAddress>
      <SourceAddress mask="24">192.0.2.1</SourceAddress>
      <SourceAddress mask="24">203.0.113.1</SourceAddress>
    </MatchRule>
    <MatchRule action = "ALLOW">
      <SourceAddress mask="16">198.51.100.1</SourceAddress>
      <SourceAddress mask="16">192.0.2.1</SourceAddress>
      <SourceAddress mask="16">203.0.113.1</SourceAddress>
    </MatchRule>
  </IPRules>
</AccessControl>

السماح: 198.51.*.* 192.0.*.* 203.0.*.

رفض مجموعة فرعية من قائمة السماح: 198.51.100.* 192.0.2.* 203.0.113.*


ملاحظات الاستخدام

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

تتضمن عملية ضبط سياسة التحكم في الوصول وتنفيذها ما يلي:

  • حدِّد مجموعة من قواعد المطابقة مع إجراء من إجراءَين (ALLOW أو DENY) مرتبطَين بكل إجراء.
  • لكل قاعدة مطابقة، حدِّد عنوان IP (عنصر SourceAddress).
  • حدِّد الترتيب الذي يتم فيه اختبار القواعد.
  • يتم تنفيذ جميع قواعد المطابقة بالترتيب المحدد. وعند مطابقة إحدى القواعد، يتم تنفيذ الإجراء المقابل وتخطّي قواعد المطابقة التالية.
    • في حال ضبط القاعدة نفسها مع إجراءَي "السماح" و"الرفض"، يتم تفعيل القاعدة التي تم تحديدها أولاً في الترتيب ويتم تخطّي القاعدة التالية (مع الإجراء الآخر).

كيفية اختيار السياسة لعنوان IP لتقييمه

يمكن أن تأتي عناوين IP من مصادر مختلفة في الطلب. على سبيل المثال، يمكن أن يحتوي عنوان الرسالة True-Client-IP على عنوان IP، بينما يمكن أن يحتوي عنوان X-Forwarded-For على عنوان IP واحد أو أكثر. يوضّح هذا القسم طريقة إعداد سياسة AccessControl لتقييم عناوين IP المحدّدة التي تريد تقييمها.

في ما يلي المنطق الذي تستخدمه سياسة AccessControl لتحديد عنوان IP المطلوب تقييمه:

1- عنوان True-Client-IP

تتحقّق السياسة أولاً من عنوان IP في عنوان True-Client-IP. وإذا تضمّن العنوان عنوان IP صالحًا، ستقيّم السياسة هذا العنوان.

2. العنوان X-Forwarded-For

في حال عدم توفُّر عنوان True-Client-IP، أو في حال ضبط العنصر <IgnoreTrueClientIPHeader> على"صحيح"، تقيّم السياسة عناوين IP في عنوان X-Forwarded-For.

يملأ Edge عنوان X-Forwarded-For تلقائيًا بعنوان IP الذي تلقّاه من آخر عملية تأكيد اتصال خارجية عبر بروتوكول TCP (مثل عنوان IP للعميل أو جهاز التوجيه). في حال توفُّر عناوين IP متعددة في العنوان، تكون هذه العناوين على الأرجح سلسلة الخوادم التي عالجت الطلب. مع ذلك، قد تحتوي قائمة العناوين أيضًا على عنوان IP مخادع. كيف تحدّد السياسة العناوين التي يجب تقييمها؟

تحدّد إعدادات ضبط المؤسسة وإعدادات السياسة X-Forwarded-For العناوين التي يتم تقييمها للسياسة.

تأكّد أولاً من ضبط السمة feature.enableMultipleXForwardCheckForACL في مؤسستك. يمكنك استخدام واجهة برمجة تطبيقات الحصول على المؤسسة للتحقّق من ذلك. بعد ذلك:

  • إذا لم تظهر السمة feature.enableMultipleXForwardCheckForACL في قائمة السمات الخاصة بمؤسستك، يعني ذلك أنّه تم ضبط السمة على false (السمة التلقائية). عند ضبط هذه السمة على "خطأ"، تقيّم السياسة العنوان الأخير في العنوان (يظهر في أداة التتبُّع)، وهو عنوان IP الذي استلمه متصفّح Edge من آخر عملية تأكيد اتصال خارجية خاصة ببروتوكول التحكم في الإرسال.
  • إذا تم ضبط feature.enableMultipleXForwardCheckForACL في مؤسستك على "صحيح"، يجب ضبط العنصر <ValidateBasedOn> لتحديد عناوين IP التي يتم تقييمها من خلال السياسة.

تغيير السمة feature.enableMultipleXForwardCheckForACL

يمكن لمشرفي مؤسسة Edge استخدام واجهة برمجة التطبيقات لتعديل خصائص المؤسسة لضبط السمة feature.enableMultipleXForwardCheckForACL.

يحدّد مثال واجهة برمجة التطبيقات التالي الموقع في Edge for Private Cloud. إذا كانت هناك خصائص أخرى تم إعدادها في مؤسستك، تأكَّد من تضمينها أيضًا. وإلا، ستتم إزالتها.

curl -u email:password -X POST -H "Content-type:application/xml" http://host:8080/v1/o/myorg -d \
"<Organization type="trial" name="MyOrganization">
    <DisplayName>MyOrganization</DisplayName>
    <Properties>
        <Property name="feature.enableMultipleXForwardCheckForACL">true</Property>
        <!-- Include other existing properties as well. -->
    </Properties>
</Organization>"

في Edge لـ Private Cloud، بعد تغيير قيمة السمة feature.enableMultipleXForwardCheckForACL، يجب إعادة تشغيل معالجات الرسائل، على النحو الموضَّح في بدء/إيقاف/إعادة تشغيل المكوّنات الفردية.

سمات X-Forwarded-For في إحصاءات Apigee

تكتب "إحصاءات Edge" قيمة العنوان X-Forwarded-For في السمة x_forwarded_for_ip. لتحديد عنوان IP للعميل الذي أرسل الطلب إلى Edge، استخدِم القيمتَين ضمن السمتَين ax_true_client_ip أو ax_resolved_client_ip. اطّلِع على مرجع الفلاتر والمقاييس والسمات في "إحصاءات Google" للاطّلاع على مزيد من المعلومات.

لمحة عن إخفاء عناوين IP باستخدام تدوين CIDR

يُعد تدوين CIDR (التوجيه بين المجالات غير الفئوي) طريقةً للإشارة إلى نطاق من عناوين IP من خلال الإخفاء. وتنطبق هذه السياسة على كلٍ من IPv4 وIPv6. سنتكلم عن آلية عمل هذه الأداة سنستخدم IPv4 في الأمثلة التي نقدّمها بهدف البساطة.

عناوين IP هي مجموعات من الأرقام مفصولة بنقاط. في النظام الثنائي، تمثل كل مجموعة عددًا محددًا من وحدات البت (8 لبروتوكول IPv4 و16 لبروتوكول IPv6). يبدو عنوان IPv4 198.51.100.1 على النحو التالي في النظام الثنائي:

11000110.00110011.01100100.00000001

وهذا يعني 4 مجموعات مكونة من 8 بتات أو 32 وحدة بت إجمالاً. باستخدام CIDR، يمكنك الإشارة إلى نطاق عن طريق إضافة /number (1-32) إلى عنوان IP، على النحو التالي:

198.51.100.1/24

في هذه الحالة، يمثّل الرقم 24 الرقم الذي ستستخدمه لسمة mask في هذه السياسة.

يعني هذا الترميز أنّه "احتفظ بأول 24 بت كما هي بالضبط، ويمكن أن تكون وحدات البت المتبقية أي قيمة من 0 إلى 255". مثال:

الاحتفاظ بها كما هي تمامًا القيم المحتملة للمجموعة الأخيرة
198.51.100. 0 - 255

لاحظ أن القناع يحدث في نهاية المجموعة الثالثة. وهذا يجعل الأمور لطيفة ومرتبة، حيث يتم إنشاء قناع على النحو التالي: 198.51.100.*. في معظم الحالات، يمنحك استخدام مضاعفات الرقم 8 (IPv4) و16 (IPv6) مستوى الإخفاء الذي تريده:

IPv4: 8، و16، و24، و32

IPv6: 16، 32، 48، 64، 80، 96، 112، 128

مع ذلك، يمكنك استخدام أرقام أخرى للتحكّم بشكل أدقّ في إجراء عملية حسابية ثنائية بسيطة. في ما يلي مثال على استخدام قناع 30، كما في 198.51.100.1/30، حيث يساوي الرقم 1 الأخير 00000001 في النظام الثنائي:

الاحتفاظ بها كما هي تمامًا القيم المحتملة
11000110.00110011.01100100.000000 (أول 30 بت) 00000000 أو 00000001 أو 00000010 أو 00000011
198.51.100. 0 أو 1 أو 2 أو 3

في هذا المثال، عند ضبط الإعدادات على <SourceAddress mask="30">198.51.100.1</SourceAddress>، سيتم السماح بعناوين IP التالية (أو رفضها، استنادًا إلى قواعدك):

  • 198.51.100.0
  • 198.51.100.1
  • 198.51.100.2
  • 198.51.100.3

مرجع العنصر

يصف مرجع العنصر عناصر وسمات سياسة التحكم في الوصول.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AccessControl async="false" continueOnError="false" enabled="true" name="Access-Control-1">
    <DisplayName>Access Control 1</DisplayName>
    <IPRules noRuleMatchAction = "ALLOW">
        <MatchRule action = "ALLOW">
            <SourceAddress mask="32">198.51.100.1</SourceAddress>
        </MatchRule>
        <MatchRule action = "DENY">
            <SourceAddress mask="24">198.51.100.1</SourceAddress>
        </MatchRule>
    </IPRules>
    <ValidateBasedOn>X_FORWARDED_FOR_ALL_IP</ValidateBasedOn>
</AccessControl>

سمات <AccessControl>

<AccessControl async="false" continueOnError="false" enabled="true" name="Access-Control-1"> 

يوضِّح الجدول التالي السمات الشائعة لجميع العناصر الرئيسية للسياسة:

السمة الوصف تلقائي التواجد في المنزل
name

الاسم الداخلي للسياسة وقد تحتوي قيمة السمة name على أحرف وأرقام ومسافات وواصلات وشرطات سفلية ونقاط. لا يمكن أن تتجاوز هذه القيمة 255 حرفًا.

ويمكنك اختياريًا استخدام العنصر <DisplayName> لتصنيف السياسة في محرِّر الخادم الوكيل لواجهة المستخدم الإدارية باستخدام اسم مختلف للغة طبيعية.

لا ينطبق مطلوبة
continueOnError

اضبط القيمة على false لعرض رسالة خطأ عند تعذُّر تنفيذ السياسة. وهو سلوك متوقّع لمعظم السياسات.

اضبط القيمة على true لمواصلة تنفيذ التدفق حتى بعد تعذُّر تنفيذ السياسة.

false إجراء اختياري
enabled

اضبط القيمة على true لفرض السياسة.

اضبط القيمة على false من أجل إيقاف السياسة. ولن يتم فرض السياسة حتى إذا ظلت مرتبطة بمسار.

صحيح إجراء اختياري
async

تم إيقاف هذه السمة نهائيًا.

false منهي العمل به

العنصر <DisplayName>

استخدِم هذه السمة بالإضافة إلى السمة name لتصنيف السياسة في محرِّر الخادم الوكيل لواجهة المستخدم الإدارية باستخدام اسم مختلف بلغة طبيعية.

<DisplayName>Policy Display Name</DisplayName>
تلقائي

لا ينطبق

إذا لم تستخدم هذا العنصر، سيتم استخدام قيمة السمة name الخاصة بالسياسة.

التواجد في المنزل إجراء اختياري
Type سلسلة

العنصر <تجاهلTrueClientIPHeader>

عند ضبط هذه السياسة على "صحيح"، تتجاهل السياسة عنوان True-Client-IP وتقيّم عناوين IP في العنوان X-Forwarded-For، وفقًا لسلوك التقييم X-Forwarded-For الذي ضبطته.


<AccessControl async="false" continueOnError="false" enabled="true" name="Access-Control-1">
    <DisplayName>Access Control-1</DisplayName>
    <IgnoreTrueClientIPHeader>true</IgnoreTrueClientIPHeader>
    ...
</AccessControl>

تلقائي false
التواجد في المنزل إجراء اختياري
Type منطقي

عنصر <IPالقواعد>

العنصر الرئيسي الذي يتضمن القواعد التي تسمح بعناوين IP أو ترفضها تتيح لك السمة noRuleMatchAction تحديد كيفية التعامل مع أي عناوين IP لا تغطيها قواعد المطابقة التي تستخدمها.

<IPRules noRuleMatchAction = "ALLOW">
تلقائي لا ينطبق
التواجد في المنزل إجراء اختياري
Type لا ينطبق

السمات

السمة الوصف Type تلقائي التواجد في المنزل
noRuleMatchAction
الإجراء المطلوب اتخاذه (السماح أو منع الوصول) إذا لم يتم حل قاعدة المطابقة المحددة (غير متطابق).
القيمة الصالحة: ALLOW أو DENY
سلسلة سماح مطلوبة

العنصر <IPRules>/<MatchSheet>

الإجراء الذي يتم اتخاذه (السماح بالوصول أو منعه) إذا كان عنوان IP يتطابق مع عناوين SourceAddress(عناوين) المصدر التي تحدّدها.

<IPRules noRuleMatchAction = "ALLOW">
    <MatchRule action = "ALLOW">
        <SourceAddress mask="32">198.51.100.1</SourceAddress>
    </MatchRule>
    <MatchRule action = "DENY">
        <SourceAddress mask="24">198.51.100.1</SourceAddress>
    </MatchRule>
</IPRules>
تلقائي لا ينطبق
التواجد في المنزل إجراء اختياري
Type لا ينطبق

السمات

السمة الوصف Type تلقائي التواجد في المنزل
إجراء

الإجراء المطلوب اتخاذه (السماح أو منع الوصول) إذا لم يتم حل قاعدة المطابقة المحددة (غير متطابق).

القيمة الصالحة: ALLOW أو DENY

سلسلة سماح مطلوبة

عنصر <IPقواعدs>/<MatchRule>/<SourceAddress>

نطاق عنوان IP للعميل.

القيمة الصالحة: عنوان IP صالح (تدوين عشري منقّط). بالنسبة إلى سلوك حرف البدل، استخدِم السمة mask.

<IPRules noRuleMatchAction = "ALLOW">
    <MatchRule action = "ALLOW">
        <SourceAddress mask="{variable}">198.51.100.1</SourceAddress>
    </MatchRule>
    <MatchRule action = "DENY">
        <SourceAddress mask="24">{variable}</SourceAddress>
    </MatchRule>
</IPRules>

كما هو موضّح في المثال السابق، يتوافق العنصر SourceAddress أيضًا مع نماذج الرسائل للسمة mask أو عنوان IP، ما يعني أنّه يمكنك ضبط القيم باستخدام المتغيّرات المتوفّرة حاليًا في تدفق الخادم الوكيل لواجهة برمجة التطبيقات.

على سبيل المثال، يمكنك تخزين عنوان IP في خريطة قيمة مفتاح (KVM) واستخدام سياسة KeyValueMapOperations لاسترداد عنوان IP وتحديده لمتغيّر (مثل kvm.ip.value). يمكنك بعد ذلك استخدام هذا المتغيّر لعنوان IP:

<SourceAddress mask="24">{kvm.ip.value}</SourceAddress>

يمنحك ضبط القناع و/أو عنوان IP باستخدام متغيّر المرونة في تغيير القيم في وقت التشغيل بدون الحاجة إلى تعديل الخادم الوكيل لواجهة برمجة التطبيقات وإعادة نشره.

تلقائي لا ينطبق
التواجد في المنزل إجراء اختياري
Type سلسلة (عنوان IP واحد فقط)

السمات

السمة الوصف Type تلقائي التواجد في المنزل
كمامة

السمة mask هي طريقة للإشارة إلى نطاق عناوين IP المطلوب السماح بها أو رفضها. تعادل القناع استخدام تدوين CIDR (التوجيه بين المجالات غير الفئوي). مثال:

<SourceAddress mask="24">198.51.100.1</SourceAddress>

يعادل تدوين CIDR التالي:

198.51.100.1/24

قيم صالحة:

IPv4: من 1 إلى 32

IPv6: 1-128

القيمة صفر (0) صالحة لعنوان IP 0.0.0.0 فقط، وبالتالي غير عملية.

ضبط القناع باستخدام متغيّر

تتوافق السمة mask أيضًا مع نماذج الرسائل، ما يعني أنّه يمكنك ضبط القيمة باستخدام متغيّر متاح حاليًا في مسار الخادم الوكيل لواجهة برمجة التطبيقات. على سبيل المثال، يمكنك تخزين قيمة قناع في آلة متجه الدعم واستخدام سياسة KeyValueMapOperations لاسترداد القناع وتعيينه لمتغيّر. لضبط قناع IP باستخدام المتغيّر، استخدِم التنسيق التالي، على افتراض أنّ المتغيّر يُسمى kvm.mask.value:

mask="{kvm.mask.value}"

عدد صحيح لا ينطبق مطلوبة

العنصر <AUTHBasedOn>

عندما يحتوي عنوان HTTP الذي يتضمّن العنصر X-Forwarded-For على عناوين IP متعدّدة، يمكنك استخدام العنصر ValidateBasedOn هذا لتحديد عناوين IP التي يتم تقييمها.

لا تستخدم هذا الأسلوب لتقييم عناوين IP إلا إذا كنت متأكدًا من صلاحية عناوين IP التي تريد تقييمها. على سبيل المثال، إذا اخترت تقييم جميع عناوين IP الواردة في العنوان X-Forwarded-For، يجب أن تكون قادرًا على الوثوق في صحة هذه العناوين و/أو إعداد قواعد شاملة "منع" أو "السماح" للسماح فقط لعناوين IP الموثوق بها بالاتصال بالخادم الوكيل لواجهة برمجة التطبيقات.

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

تتيح لك القيمة التي تُدخلها في هذا العنصر تحديد ما إذا كان يجب وضع علامة في المربّع بجانب جميع عناوين IP في العنوان (الخيار التلقائي) أم من عنوان IP الأول فقط أم عنوان IP الأخير فقط.

<AccessControl async="false" continueOnError="false" enabled="true" name="Access-Control-1">
    <DisplayName>Access Control 1</DisplayName>
    <IPRules noRuleMatchAction = "ALLOW">
        <MatchRule action = "DENY">
            <SourceAddress mask="32">198.51.100.1</SourceAddress>
        </MatchRule>
    </IPRules>
    <ValidateBasedOn>X_FORWARDED_FOR_ALL_IP</ValidateBasedOn>
</AccessControl>
تلقائي X_FORWARDED_FOR_ALL_IP
التواجد في المنزل إجراء اختياري
القيم الصالحة

X_FORWARDED_FOR_ALL_IP (تلقائي)

X_FORWARDED_FOR_FIRST_IP

X_FORWARDED_FOR_LAST_IP

المخططات

يتم تحديد كل نوع من أنواع السياسات من خلال مخطّط XML (.xsd). يمكنك الرجوع إلى مخطّطات السياسات المتوفّرة على GitHub.

مرجع الخطأ

يصف هذا القسم رموز الأخطاء ورسائل الخطأ التي يتم عرضها ومتغيرات الأخطاء التي تضبطها Edge عندما تؤدي هذه السياسة إلى ظهور خطأ. هذه المعلومات مهمة لمعرفة ما إذا كنت تعمل على تطوير قواعد للأخطاء للتعامل معها. لمزيد من المعلومات، يمكنك الاطّلاع على المعلومات التي يجب معرفتها عن الأخطاء المتعلقة بالسياسات وأخطاء المعالجة.

أخطاء في وقت التشغيل

يمكن أن تحدث هذه الأخطاء عند تنفيذ السياسة.

رمز الخطأ رموز حالة HTTP السبب إصلاح
accesscontrol.IPDeniedAccess 403 يتطابق عنوان IP للعميل أو عنوان IP الذي تم تمريره في طلب واجهة برمجة التطبيقات مع عنوان IP المحدّد في العنصر <SourceAddress> ضمن العنصر <MatchRule> ضمن سياسة التحكّم في الوصول، ويتم ضبط السمة action للعنصر <MatchRule> على DENY.

متغيرات الخطأ

ويتم ضبط هذه المتغيرات عند حدوث خطأ في وقت التشغيل. لمزيدٍ من المعلومات، اطّلِع على المتغيّرات الخاصة بأخطاء السياسة.

المتغيرات المكان مثال
fault.name="fault_name" fault_name هو اسم الخطأ، كما هو موضَّح في جدول أخطاء وقت التشغيل أعلاه. اسم الخطأ هو الجزء الأخير من رمز الخطأ. fault.name Matches "IPDeniedAccess"
acl.policy_name.failed policy_name هو اسم السياسة التي حدّدها المستخدم التي أدت إلى حدوث الخطأ. acl.AC-AllowAccess.failed = true

مثال على الاستجابة للخطأ

{
   "fault":{
     "faultstring":"Access Denied for client ip : 52.211.243.3"
      "detail":{
         "errorcode":"accesscontrol.IPDeniedAccess"
      }
   }
}

مثال لقاعدة خطأ

<FaultRule name="IPDeniedAccess">
    <Step>
        <Name>AM-IPDeniedAccess</Name>
        <Condition>(fault.name Matches "IPDeniedAccess") </Condition>
    </Step>
    <Condition>(acl.failed = true) </Condition>
</FaultRule>