سياسة AccessControl

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

المزايا

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

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

يمكنك إرفاق هذه السياسة في أي مكان بمسار الخادم الوكيل لواجهة برمجة التطبيقات، إلا أنّك ستريد على الأرجح التحقق من عناوين IP في بداية التدفق ( الطلب / 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 وإخفاء معلوماتها أثناء بيئة التشغيل بدون الحاجة إلى تحديث. وأعد نشر الخادم الوكيل لواجهة برمجة التطبيقات. يمكنك استخدام سياسة 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>

Allow: 198.51.*.* 192.0.*.* 203.0.*.*

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


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

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

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

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

كيفية اختيار السياسة لعنوان 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، أو إذا تم ضبط سمة عنصر &lt;IgnoreTrueClientIPHeader&gt; إلى صحيح، تقيّم السياسة عناوين IP في عنوان X-Forwarded-For.

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

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

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

  • إذا لم يظهر لك feature.enableMultipleXForwardCheckForACL في قائمة خصائص المؤسسة، فهذا يعني أنه تم تعيين الخاصية على false (الخيار الافتراضي). عند ضبط هذه السمة على "خطأ"، تقيّم السياسة العنوان الأخير في رأس الصفحة (يظهر في أداة التتبُّع)، وهي عنوان IP شبكة Edge التي تم تلقّيها من آخر عملية تأكيد اتصال خارجية لـ TCP.
  • إذا كان feature.enableMultipleXForwardCheckForACL في مؤسستك على "صحيح"، يجب ضبط الحقل &lt;ValidateBasedOn&gt; لتحديد عناوين 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 for Private Cloud، بعد تغيير قيمة موقع واحد (feature.enableMultipleXForwardCheckForACL)، يجب إعادة تشغيل معالِجات الرسائل، كما هو موضح في بدء/إيقاف/إعادة تشغيل مكوّنات فردية

تمت إعادة توجيه X-For باستخدام السمات في Apigee Analytics

يكتب Edge Analytics قيمة العنوان 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>

&lt;AccessControl&gt; السمات

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

يصف الجدول التالي السمات المشتركة بين جميع العناصر الرئيسية للسياسة:

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

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

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

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

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

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

خطأ اختياري
enabled

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

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

صحيح اختياري
async

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

خطأ منهي العمل به

&lt;DisplayName&gt; عنصر

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

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

لا ينطبق

إذا لم تستخدم هذا العنصر، سيتم ضبط قيمة السمة name للسياسة على النحو التالي: استخدام البيانات المختلفة.

التواجد في المنزل اختياري
النوع سلسلة

&lt;IgnoreTrueClientIPHeader&gt; عنصر

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


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

تلقائي خطأ
التواجد في المنزل اختياري
النوع منطقي

&lt;IPRules&gt; عنصر

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

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

السمات

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

&lt;IPRules&gt;/&lt;MatchRule&gt; عنصر

الإجراء الذي يجب اتخاذه (السماح بالوصول أو رفضه) إذا كان عنوان 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>
تلقائي لا ينطبق
التواجد في المنزل اختياري
النوع لا ينطبق

السمات

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

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

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

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

&lt;IPRules&gt;/&lt;MatchRule&gt;/&lt;SourceAddress&gt; عنصر

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

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

السمات

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

السمة 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 أيضًا مع نماذج الرسائل، التي يعني أنه يمكنك تعيين القيمة بمتغير متاح حاليًا في مسار الخادم الوكيل لواجهة برمجة التطبيقات على سبيل المثال، يمكنك تخزين قيمة قناع في KVM واستخدام سياسة KeyValueMapOperations لاسترداد القناع وتعيينه لمتغير. لتعيين قناع IP باستخدام المتغير، استخدم التنسيق التالي، على افتراض أنّ اسم المتغيّر يُسمى kvm.mask.value:

mask="{kvm.mask.value}"

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

&lt;ValidateBasedOn&gt; عنصر

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

استخدِم هذا المنهج لتقييم عناوين IP فقط في حال كنت متأكدًا من مدى صحتها. عناوين IP التي تريد تقييمها. على سبيل المثال، إذا اخترت تقييم جميع بالنسبة إلى عناوين IP في العنوان X-Forwarded-For، يجب أن تتمكن من الوثوق في و/أو صحة تلك العناوين، و/أو إعداد قواعد DENY أو ALLOW شاملة للسماح بإدخال تستدعي عناوين 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>