يتم الآن عرض مستندات 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 في الرسالة التي تضبط القواعد للتعامل معها.
- اضبط قناعًا لكل عنوان IP. أنت تسمح بالوصول أو ترفضه استنادًا إلى قيمة قناع على عنوان IP. يُرجى الاطّلاع على مقالة لمحة عن إخفاء عناوين IP باستخدام تدوين CIDR.
- حدِّد الترتيب الذي يتم فيه اختبار القواعد.
- يتم تنفيذ جميع قواعد المطابقة بالترتيب المحدد. وعند مطابقة إحدى القواعد، يتم تنفيذ الإجراء المقابل وتخطّي قواعد المطابقة التالية.
- في حال ضبط القاعدة نفسها مع إجراءَي "السماح" و"الرفض"، يتم تفعيل القاعدة التي تم تحديدها أولاً في الترتيب ويتم تخطّي القاعدة التالية (مع الإجراء الآخر).
كيفية اختيار السياسة لعنوان 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 |
الاسم الداخلي للسياسة وقد تحتوي قيمة السمة ويمكنك اختياريًا استخدام العنصر |
لا ينطبق | مطلوبة |
continueOnError |
اضبط القيمة على اضبط القيمة على |
false | إجراء اختياري |
enabled |
اضبط القيمة على اضبط القيمة على |
صحيح | إجراء اختياري |
async |
تم إيقاف هذه السمة نهائيًا. |
false | منهي العمل به |
العنصر <DisplayName>
استخدِم هذه السمة بالإضافة إلى السمة name
لتصنيف السياسة في محرِّر الخادم الوكيل لواجهة المستخدم الإدارية باستخدام اسم مختلف بلغة طبيعية.
<DisplayName>Policy Display Name</DisplayName>
تلقائي |
لا ينطبق إذا لم تستخدم هذا العنصر، سيتم استخدام قيمة السمة |
---|---|
التواجد في المنزل | إجراء اختياري |
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 | تلقائي | التواجد في المنزل |
---|---|---|---|---|
كمامة |
السمة
يعادل تدوين CIDR التالي: 198.51.100.1/24 قيم صالحة: IPv4: من 1 إلى 32 IPv6: 1-128 القيمة صفر (0) صالحة لعنوان IP 0.0.0.0 فقط، وبالتالي غير عملية. ضبط القناع باستخدام متغيّر تتوافق السمة
|
عدد صحيح | لا ينطبق | مطلوبة |
العنصر <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 |
---|---|
التواجد في المنزل | إجراء اختياري |
القيم الصالحة |
|
المخططات
يتم تحديد كل نوع من أنواع السياسات من خلال مخطّط XML (.xsd). يمكنك الرجوع إلى مخطّطات السياسات المتوفّرة على GitHub.
مرجع الخطأ
يصف هذا القسم رموز الأخطاء ورسائل الخطأ التي يتم عرضها ومتغيرات الأخطاء التي تضبطها Edge عندما تؤدي هذه السياسة إلى ظهور خطأ. هذه المعلومات مهمة لمعرفة ما إذا كنت تعمل على تطوير قواعد للأخطاء للتعامل معها. لمزيد من المعلومات، يمكنك الاطّلاع على المعلومات التي يجب معرفتها عن الأخطاء المتعلقة بالسياسات وأخطاء المعالجة.
أخطاء في وقت التشغيل
يمكن أن تحدث هذه الأخطاء عند تنفيذ السياسة.
رمز الخطأ | رموز حالة HTTP | السبب | إصلاح |
---|---|---|---|
accesscontrol.IPDeniedAccess |
403 | يتطابق عنوان IP للعميل أو عنوان IP الذي تم تمريره في طلب واجهة برمجة التطبيقات مع عنوان IP المحدّد في العنصر <SourceAddress> ضمن العنصر <MatchRule> ضمن سياسة التحكّم في الوصول، ويتم ضبط السمة action للعنصر <MatchRule> على DENY . |
build |
متغيرات الخطأ
ويتم ضبط هذه المتغيرات عند حدوث خطأ في وقت التشغيل. لمزيدٍ من المعلومات، اطّلِع على المتغيّرات الخاصة بأخطاء السياسة.
المتغيرات | المكان | مثال |
---|---|---|
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>