قوائم الوصول إلى IP

تحتاج المؤسسات الواعية بالأمان التي تستخدم تطبيقات SaaS السحابية إلى تقييد الوصول إلى موظفيها. تساعد المصادقة على إثبات هوية المستخدم، ولكن ذلك لا يفرض موقع شبكة الاتصال للمستخدمين. يمكن أن يشكل الوصول إلى خدمة سحابية من شبكة غير آمنة مخاطر أمنية على المؤسسة، خاصة عندما يكون المستخدم قد أذن بالوصول إلى البيانات الحساسة أو الشخصية. تطبق حدود شبكة الاتصال المؤسسية نهج الأمان وتحد من الوصول إلى الخدمات الخارجية (على سبيل المثال، جدران الحماية والوكلاء وDLP وتسجيل الدخول)، لذا يفترض أن الوصول إلى ما وراء عناصر التحكم هذه غير موثوق به.

على سبيل المثال، افترض أن موظف المستشفى يصل إلى مساحة عمل Azure Databricks. إذا كان الموظف يمشي من المكتب إلى مقهى، يمكن للمستشفى منع الاتصالات إلى مساحة عمل Azure Databricks حتى لو كان العميل لديه بيانات اعتماد صحيحة للوصول إلى تطبيق الويب وAPI REST.

يمكنك تكوين مساحات عمل Azure Databricks بحيث يتصل الموظفون بالخدمة فقط من خلال شبكات الشركات الموجودة ذات المحيط الآمن. يمكن لعملاء Azure Databricks استخدام ميزة قوائم الوصول إلى IP لتحديد مجموعة من عناوين IP المعتمدة. تتطلب جميع الوصول الوارد إلى تطبيق الويب وخدمة واجهات برمجة التطبيقات REST اتصال المستخدم من عنوان IP معتمد.

بالنسبة للموظفين البعيدين أو المسافرين، يمكن للموظفين استخدام VPN للاتصال بشبكة الشركة، مما يتيح بدوره الوصول إلى مساحة العمل. باستخدام المثال السابق، يمكن أن يسمح المستشفى للموظف باستخدام VPN من المقهى للوصول إلى مساحة عمل Azure Databricks.

IP access lists overview diagram

المتطلبات

تكوين مرن

ميزة قوائم الوصول إلى IP مرنة:

  • يتحكم مسؤولو مساحة العمل الخاصة بك في مجموعة عناوين IP على الإنترنت العامة المسموح لها بالوصول. يعرف هذا باسم قائمة السماح. السماح عناوين IP متعددة بشكل صريح أو كشبكات فرعية بأكملها (على سبيل المثال 216.58.195.78/28).
  • يمكن لمسؤولي مساحة العمل تحديد عناوين IP أو شبكات فرعية اختياريا لحظرها حتى إذا كانت مضمنة في قائمة السماح. يعرف هذا بقائمة الحظر. قد تستخدم هذه الميزة إذا كان نطاق عناوين IP المسموح به يتضمن نطاقا أصغر من عناوين IP للبنية الأساسية التي تقع عمليا خارج محيط الشبكة الآمنة الفعلية.
  • يستخدم مسؤولو مساحة العمل واجهات برمجة التطبيقات REST لتحديث قائمة عناوين IP والشبكات الفرعية المسموح بها والممحجوبة.

تفاصيل الميزة

تتيح API لقائمة الوصول إلى IP لمسؤولي Azure Databricks تكوين IP يسمح بالقوائم وحظر القوائم لمساحة عمل. إذا تم تعطيل الميزة لمساحة عمل، يسمح بالوصول إليها. هناك دعم لقوائم السماح (التضمين) وقوائم الحظر (الاستبعاد).

عند محاولة الاتصال:

  1. أولا يتم التحقق من جميع قوائم الحظر. إذا كان عنوان IP اتصال يطابق أي قائمة كتلة، يتم رفض الاتصال.

  2. إذا لم يتم رفض الاتصال بواسطة قوائم الحظر، تتم مقارنة عنوان IP بقوائم السماح. إذا كان هناك قائمة السماح واحد على الأقل لمساحة العمل، يسمح الاتصال فقط إذا كان عنوان IP يطابق قائمة السماح. إذا لم تكن هناك قوائم السماح لمساحة العمل، يتم السماح بكافة عناوين IP.

بالنسبة لكافة السماح بالقوائم وقوائم الحظر مجتمعة، تدعم مساحة العمل قيم IP/CIDR بحد أقصى 1000 قيمة، حيث يتم احتساب CIDR واحد كقيمة واحدة.

بعد التغييرات على ميزة قائمة الوصول إلى IP، قد يستغرق الأمر بضع دقائق حتى تسري التغييرات.

IP access list flow diagram

كيفية استخدام API قائمة الوصول IP

تتناول هذه المقالة المهام الأكثر شيوعا التي يمكنك تنفيذها مع API. للحصول على مرجع API REST كاملة تحميل المواصفات OpenAPI وعرضه مباشرة أو باستخدام تطبيق يقرأ OpenAPI 3.0. لمزيد من التفاصيل حول استخدام المواصفات OpenAPI، راجع IP Access قائمة API 2.0.

للتعرف على المزيد حول المصادقة على واجهات برمجة التطبيقات Azure Databricks، راجع المصادقة باستخدام رموز الوصول الشخصية ل Azure Databricks.

المسار الأساسي لنقاط النهاية الموضحة في هذه المقالة هو https://<databricks-instance>/api/2.0 ، حيث هو اسم المجال الخاص بك Azure <databricks-instance>adb-<workspace-id>.<random-number>.azuredatabricks.net Databricks النشر.

تحقق مما إذا كانت مساحة العمل الخاصة بك قد تم تمكين ميزة قائمة الوصول إلى IP

للتحقق مما إذا كانت مساحة العمل الخاصة بك قد تم تمكين ميزة قائمة الوصول إلى IP، اتصل بواجهة برمجة التطبيقات (API) لحالة الحصول على الميزة . تمرير keys=enableIpAccessLists كوسيطات إلى الطلب.

في الاستجابة، enableIpAccessLists يحدد الحقل إما أو truefalse .

على سبيل المثال:

curl -X -n \
 https://<databricks-instance>/api/2.0/workspace-conf?keys=enableIpAccessLists

استجابة مثال:

{
  "enableIpAccessLists": "true",
}

تمكين ميزة قائمة الوصول إلى IP لمساحة عمل أو تعطيلها

لتمكين أو تعطيل ميزة قائمة الوصول إلى IP لمساحة عمل، اتصل بتمكين أو تعطيل API قائمة الوصول IP ( ).

في نص طلب JSON، حدد enableIpAccessLists ك true (ممكن) أو false (معطل).

على سبيل المثال، لتمكين الميزة:

curl -X PATCH -n \
  https://<databricks-instance>/api/2.0/workspace-conf \
  -d '{
    "enableIpAccessLists": "true"
    }'

استجابة مثال:

{
  "enableIpAccessLists": "true"
}

إضافة قائمة وصول IP

لإضافة قائمة وصول IP، اتصل بواجهة برمجة تطبيقات لإضافة قائمة وصول IP ( ).

في نص طلب JSON، حدد:

  • label — تسمية لهذه القائمة.
  • list_type — إما ALLOW (السماح بالقائمة) أو BLOCK (قائمة الحظر، مما يعني الاستبعاد حتى لو كان في قائمة السماح).
  • ip_addresses — صفيف JSON من عناوين IP ونطاقات CIDR، كقيم سلسلة.

الاستجابة هي نسخة من الكائن الذي قمت بتمريره، ولكن مع بعض الحقول الإضافية، أهمها list_id الحقل. قد تحتاج إلى حفظ هذه القيمة بحيث يمكنك تحديث القائمة أو حذفها لاحقا. إذا لم تقم بحفظه، لا تزال قادرا على الحصول على معرف لاحقا عن طريق الاستعلام عن مجموعة كاملة من قوائم الوصول IP مع GET طلب إلى /ip-access-lists نقطة النهاية.

على سبيل المثال، لإضافة قائمة السماح:

curl -X POST -n \
  https://<databricks-instance>/api/2.0/ip-access-lists
  -d '{
    "label": "office",
    "list_type": "ALLOW",
    "ip_addresses": [
        "1.1.1.1",
        "2.2.2.2/21"
      ]
    }'

استجابة مثال:

{
  "ip_access_list": {
    "list_id": "<list-id>",
    "label": "office",
    "ip_addresses": [
        "1.1.1.1",
        "2.2.2.2/21"
    ],
    "address_count": 2,
    "list_type": "ALLOW",
    "created_at": 1578423494457,
    "created_by": 6476783916686816,
    "updated_at": 1578423494457,
    "updated_by": 6476783916686816,
    "enabled": true
  }
}

لإضافة قائمة حظر، قم بنفس الشيء ولكن مع list_type تعيين إلى BLOCK .

تحديث قائمة وصول IP

لتحديث قائمة وصول IP:

  1. استدعاء القائمة كافة قوائم الوصول IP API ( ) ، والعثور على معرف القائمة التي تريد تحديثها.
  2. استدعاء التحديث API قائمة وصول IP ( ).

في نص طلب JSON، حدد على الأقل واحدة من القيم التالية لتحديث:

  • label — تسمية لهذه القائمة.
  • list_type — إما ALLOW (السماح بالقائمة) أو BLOCK (قائمة الحظر، مما يعني الاستبعاد حتى لو كان في قائمة السماح).
  • ip_addresses — صفيف JSON من عناوين IP ونطاقات CIDR، كقيم سلسلة.
  • enabled — تحديد ما إذا كانت هذه القائمة ممكنة أم لا. تمرير true أو false .

الاستجابة هي نسخة من الكائن الذي قمت بتمريره في مع حقول إضافية للتواريخ معرف وتعديل.

على سبيل المثال، لتحديث قائمة لتعطيله:

curl -X PATCH -n \
  https://<databricks-instance>/api/2.0/ip-access-lists/<list-id>
  -d '{ "enabled": "false" }'

استبدال قائمة وصول IP

لاستبدال قائمة وصول IP:

  1. استدعاء القائمة كافة قوائم الوصول IP API ( ) ، والعثور على معرف القائمة التي تريد استبدالها.
  2. استدعاء استبدال API قائمة وصول IP ( ).

في نص طلب JSON، حدد:

  • label — تسمية لهذه القائمة.
  • list_type — إما ALLOW (السماح بالقائمة) أو BLOCK (قائمة الحظر، مما يعني الاستبعاد حتى لو كان في قائمة السماح).
  • ip_addresses — صفيف JSON من عناوين IP ونطاقات CIDR، كقيم سلسلة.
  • enabled — تحديد ما إذا كانت هذه القائمة ممكنة أم لا. تمرير true أو false .

الاستجابة هي نسخة من الكائن الذي قمت بتمريره في مع حقول إضافية للتواريخ معرف وتعديل.

على سبيل المثال، لاستبدال محتويات القائمة المحددة بالقيم التالية:

curl -X PUT -n \
  https://<databricks-instance>/api/2.0/ip-access-lists/<list-id>
  -d '{
    "label": "office",
    "list_type": "ALLOW",
    "ip_addresses": [
        "1.1.1.1",
        "2.2.2.2/21"
      ],
    "enabled": "false"
    }'

حذف قائمة وصول IP

لحذف قائمة وصول IP:

  1. استدعاء القائمة كافة قوائم الوصول IP API ( ) ، والعثور على معرف القائمة التي تريد حذفها.
  2. استدعاء حذف API قائمة وصول IP ( ). لا يوجد نص طلب.
curl -X DELETE -n \
  https://<databricks-instance>/api/2.0/ip-access-lists/<list-id>