مشاركة عبر


الاتصال بشكل خاص بإدارة واجهة برمجة التطبيقات باستخدام نقطة نهاية خاصة واردة

ينطبق على: المطور | أساسي | قياسي | الإصدار 2 القياسي | قسط

يمكنك تكوين نقطة نهاية خاصة واردة لمثيل APIM للسماح للعملاء في شبكتك الخاصة بالوصول بأمان إلى المثيل عبر Azure Private Link.

  • تستخدم نقطة النهاية الخاصة عنوان IP من شبكة Azure الظاهرية التي تتم استضافتها فيها.

  • تنتقل نسبة استخدام الشبكة بين عميل على شبكتك الخاصة وإدارة واجهة برمجة التطبيقات عبر الشبكة الظاهرية ورابط خاص على شبكة Microsoft الأساسية، مما يلغي التعرض من الإنترنت العام.

  • تكوين إعدادات DNS المخصصة أو منطقة خاصة لـ Azure DNS لتعيين اسم مضيف API Management إلى عنوان IP الخاص بنقطة النهاية.

رسم تخطيطي يوضح اتصالا واردا آمنا بإدارة واجهة برمجة التطبيقات باستخدام نقطة نهاية خاصة.

باستخدام نقطة نهاية خاصة ورابط خاص، يمكنك القيام بما يلي:

  • إنشاء اتصالات ارتباط خاص متعددة بمثيل API Management.

  • استخدام نقطة النهاية الخاصة لإرسال نسبة استخدام الشبكة الواردة على اتصال آمن.

  • استخدام النهج لتمييز نسبة استخدام الشبكة التي تأتي من نقطة النهاية الخاصة.

  • قصر نسبة استخدام الشبكة الواردة على نقاط النهاية الخاصة فقط، مما يمنع استخراج البيانات.

  • اجمع بين نقاط النهاية الخاصة الواردة إلى مثيلات الإصدار 2 القياسية مع تكامل الشبكة الظاهرية الصادرة لتوفير عزل الشبكة من طرف إلى طرف لعملاء APIM وخدمات الواجهة الخلفية.

    رسم تخطيطي يوضح اتصالا واردا آمنا ب API Management Standard v2 باستخدام نقطة نهاية خاصة.

هام

  • يمكنك فقط تكوين اتصال نقطة نهاية خاصة لنسبة استخدام الشبكة الواردة إلى مثيل APIM.
  • يمكنك فقط تعطيل الوصول إلى الشبكة العامة إلى مثيل APIM بعد تكوين نقطة نهاية خاصة.

القيود

  • تدعم نقطة نهاية بوابة مثيل APIM فقط اتصالات Private Link الواردة.
  • يدعم كل مثيل APIM على الأكثر 100 اتصال Private Link.
  • الاتصالات غير مدعومة على البوابة المستضافة ذاتيا أو على بوابة مساحة العمل.
  • في مستويات APIM الكلاسيكية، لا يتم دعم نقاط النهاية الخاصة في المثيلات التي تم إدخالها في شبكة ظاهرية داخلية أو خارجية.

السيناريوهات النموذجية

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

تتضمن التكوينات المدعومة ما يلي:

  • مرر طلبات العميل من خلال جدار حماية وقم بتكوين القواعد لتوجيه الطلبات بشكل خاص إلى بوابة APIM.
  • تكوين Azure Front Door (أو Azure Front Door باستخدام Azure Application Gateway) لتلقي حركة المرور الخارجية ثم توجيه نسبة استخدام الشبكة بشكل خاص إلى بوابة APIM. على سبيل المثال، راجع توصيل Azure Front Door Premium بإدارة Azure API باستخدام Private Link.

المتطلبات الأساسية

  • مثيل APIM موجود. أنشئ واحد إذا لم تكن قد قمت بذلك بالفعل.
    • عند استخدام مثيل في مستوى المطور أو Premium الكلاسيكي، لا تقم بنشر (إدخال) المثيل في شبكة ظاهرية خارجية أو داخلية.
  • شبكة ظاهرية تحتوي على شبكة فرعية لاستضافة نقطة النهاية الخاصة. قد تحتوي الشبكة الفرعية على موارد Azure أخرى، ولكن لا يمكن تفويضها إلى خدمة أخرى.
  • (مستحسن) جهاز ظاهري في نفس الشبكة الفرعية أو شبكة فرعية مختلفة في الشبكة الظاهرية، لاختبار نقطة النهاية الخاصة.

طريقة الموافقة لنقطة النهاية الخاصة

عادة ما ينشئ مسؤول الشبكة نقطة نهاية خاصة. اعتمادًا على أذونات التحكم في الوصول المستندة إلى دور Azure (RBAC)، تتم الموافقة تلقائيًا على نقطة النهاية الخاصة التي تقوم بإنشائها لإرسال نسبة استخدام الشبكة إلى مثيل API Management، أو تتطلب من مالك المورد الموافقة يدويًا على الاتصال.

طريقة الموافقة الحد الأدنى من أذونات التحكم في الوصول استنادًا إلى الدور
تلقائي Microsoft.Network/virtualNetworks/**
Microsoft.Network/virtualNetworks/subnets/**
Microsoft.Network/privateEndpoints/**
Microsoft.Network/networkinterfaces/**
Microsoft.Network/locations/availablePrivateEndpointTypes/read
Microsoft.ApiManagement/service/**
Microsoft.ApiManagement/service/privateEndpointConnections/**
يدوي Microsoft.Network/virtualNetworks/**
Microsoft.Network/virtualNetworks/subnets/**
Microsoft.Network/privateEndpoints/**
Microsoft.Network/networkinterfaces/**
Microsoft.Network/locations/availablePrivateEndpointTypes/read

خطوات تكوين نقطة النهاية الخاصة

  1. الحصول على أنواع نقاط النهاية الخاصة المتوفرة في الاشتراك
  2. إنشاء نقطة نهاية خاصة - المدخل

الحصول على أنواع نقاط النهاية الخاصة المتوفرة في الاشتراك

تحقق من أن نوع نقطة النهاية الخاصة بـ API Management متوفر في اشتراكك وموقعك. في المدخل، ابحث عن هذه المعلومات عن طريق الانتقال إلى مركز الارتباطات الخاصة. حدد الموارد المدعومة.

كما يمكنك العثور على هذه المعلومات باستخدام أنواع نقاط النهاية الخاصة المتوفرة - قائمة واجهة برمجة تطبيقات REST.

GET https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{region}/availablePrivateEndpointTypes?api-version=2021-03-01

الإخراج يجب أن يتضمن Microsoft.ApiManagement.service نوع نقطة النهاية:

[...]

      "name": "Microsoft.ApiManagement.service",
      "id": "/subscriptions/{subscriptionId}/providers/Microsoft.Network/AvailablePrivateEndpointTypes/Microsoft.ApiManagement.service",
      "type": "Microsoft.Network/AvailablePrivateEndpointTypes",
      "resourceName": "Microsoft.ApiManagement/service",
      "displayName": "Microsoft.ApiManagement/service",
      "apiVersion": "2021-04-01-preview"
    }
[...]

إنشاء نقطة نهاية خاصة - المدخل

يمكنك إنشاء نقطة نهاية خاصة عند إنشاء مثيل APIM في مدخل Microsoft Azure، أو يمكنك إضافة نقطة نهاية خاصة إلى مثيل موجود. يمكنك أيضا إنشاء نقطة نهاية خاصة باستخدام مركز الارتباطات الخاصة.

لإضافة نقطة نهاية خاصة إلى مثيل APIM موجود:

  1. انتقل إلى خدمة API Management في مدخل Azure.

  2. في القائمة اليسرى، ضمن Deployment + infrastructure، حدد Network.

  3. حدد Inbound private endpoint connections>+ Add endpoint.

    لقطة شاشة توضح كيفية إضافة نقطة نهاية خاصة باستخدام مدخل Microsoft Azure.

  4. في علامة التبويب الأساسيات، أدخل المعلومات التالية أو حددها:

    الإعداد القيمة‬
    تفاصيل المشروع
    الاشتراك حدد Subscription الخاص بك.
    مجموعة الموارد حدد مجموعة موارد موجودة أو أنشئ واحدة جديدة. لابد أن يكون في نفس المنطقة مثل شبكتك الظاهرية.
    تفاصيل المثيل
    الاسم أدخل اسمًا لنقطة النهاية مثل myPrivateEndpoint.
    اسم واجهة الشبكة أدخل اسما لواجهة الشبكة، مثل myInterface
    المنطقة حدد موقعًا لنقطة النهاية الخاصة. لابد أن يكون في نفس المنطقة مثل شبكتك الظاهرية. قد يختلف عن المنطقة التي تتم فيها استضافة مثيل API Management الخاص بك.
  5. حدد الزر التالي: المورد في أسفل الشاشة. تم بالفعل ملء المعلومات التالية حول مثيل API Management الخاص بك:

    • الاشتراك
    • نوع المورد
    • اسم المورد
  6. في Resource، في Target sub-resource، حدد Gateway.

    لقطة شاشة تعرض إعدادات إنشاء نقطة نهاية خاصة في مدخل Microsoft Azure.

    هام

    يتم دعم المورد الفرعي للبوابة فقط لإدارة واجهة برمجة التطبيقات. الموارد الفرعية الأخرى غير مدعومة.

  7. حدد الزر Next: Virtual Network الموجود أسفل الشاشة.

  8. في الشبكة الظاهرية، أدخل هذه المعلومات أو حددها:

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

  10. في تكامل DNS الخاص، أدخل هذه المعلومات أو حددها:

    الإعداد القيمة‬
    التكامل مع منطقة DNS الخاصة اترك الإعداد الافتراضي نعم.
    الاشتراك حدد Subscription الخاص بك.
    مجموعة الموارد حدد مجموعة الموارد الخاصة بك.
    مناطق DNS الخاصة يتم عرض القيمة الافتراضية: (جديد) privatelink.azure-api.net.
  11. حدد الزر التالي: علامات التبويب في أسفل الشاشة. إذا كنت ترغب في ذلك، أدخل علامات لتنظيم موارد Azure.

  12. حدد الزر التالي: مراجعة + إنشاء في أسفل الشاشة. حدد إنشاء.

سرد اتصالات نقطة النهاية الخاصة بالمثيل

بعد إنشاء نقطة النهاية الخاصة وتحديث الخدمة، تظهر في القائمة على صفحة اتصالات نقطة النهاية الخاصة الواردة لمثيل APIM في المدخل.

لاحظ حالة اتصال نقطة النهاية:

  • الموافقة تشير إلى أن مورد API Management وافق تلقائيًا على الاتصال.
  • Pending يشير إلى أنه يجب الموافقة على الاتصال يدويًا من قبل مالك المورد.

الموافقة على اتصالات نقطة النهاية الخاصة المعلقة

إذا كان اتصال نقطة النهاية الخاصة في حالة معلقة، يجب على مالك مثيل APIM الموافقة عليه يدويا قبل أن يمكن استخدامه.

إذا كان لديك أذونات كافية، فوافق على اتصال نقطة نهاية خاصة في صفحة اتصالات نقطة النهاية الخاصة لمثيل API Management في المدخل. في قائمة (...)سياق الاتصال، حدد Approve.

يمكنك أيضا استخدام اتصال نقطة النهاية الخاصة لإدارة API - إنشاء أو تحديث REST API للموافقة على اتصالات نقطة النهاية الخاصة المعلقة.

تمكين الوصول اختياريًا إلى الشبكة العامة أو تعطيله

للحد اختياريا من نسبة استخدام الشبكة الواردة إلى مثيل APIM فقط إلى نقاط النهاية الخاصة، قم بتعطيل خاصية الوصول إلى الشبكة العامة. يمكنك تعطيل الوصول إلى الشبكة العامة فقط بعد تكوين نقطة نهاية خاصة.

إشعار

يمكن تعطيل الوصول إلى الشبكة العامة فقط في مثيلات APIM التي تم تكوينها باستخدام نقطة نهاية خاصة، وليس مع تكوينات الشبكات الأخرى.

لتعطيل خاصية الوصول إلى الشبكة العامة في المستويات الكلاسيكية باستخدام Azure CLI، قم بتشغيل الأمر التالي az apim update ، واستبدال أسماء مثيل APIM ومجموعة الموارد:

az apim update --name my-apim-service --resource-group my-resource-group --public-network-access false

يمكنك أيضا استخدام خدمة إدارة واجهة برمجة التطبيقات - تحديث واجهة برمجة تطبيقات REST لتعطيل الوصول إلى الشبكة العامة، عن طريق تعيين الخاصية publicNetworkAccess إلى Disabled.

التحقق من اتصال نقطة نهاية خاصة

بعد إنشاء نقطة النهاية الخاصة، تأكد من إعدادات DNS الخاصة بها في المدخل.

  1. انتقل إلى خدمة API Management في مدخل Azure.

  2. في القائمة اليسرى، ضمن Deployment + infrastructure، حدد Network>Inbound private endpoint connections، وحدد نقطة النهاية الخاصة التي أنشأتها.

  3. في التنقل الأيسر، ضمن Settings، حدد DNS configuration.

  4. راجع سجلات DNS وعنوان IP لنقطة النهاية الخاصة. عنوان IP عبارة عن عنوان خاص في مساحة العنوان للشبكة الفرعية حيث يتم تكوين نقطة النهاية الخاصة.

الاختبار في الشبكة الظاهرية

اتصل بجهاز ظاهري قمت بإعداده في الشبكة الظاهرية.

قم بتشغيل أداة مساعدة مثل nslookup أو dig للبحث عن عنوان IP الخاص بنقطة نهاية البوابة الافتراضي عبر الرابط الخاص. على سبيل المثال:

nslookup my-apim-service.privatelink.azure-api.net

الإخراج يجب أن يتضمن عنوان IP الخاص المقترن بنقطة النهاية الخاصة.

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

الاختبار من الإنترنت

من خارج مسار نقطة النهاية الخاصة، حاول استدعاء نقطة نهاية البوابة الافتراضية لمثيل API Management. إذا تم تعطيل الوصول العام، يتضمن الإخراج خطأ مع رمز 403 الحالة ورسالة مشابهة ل:

Request originated from client public IP address 192.0.2.12, public network access on this 'Microsoft.ApiManagement/service/my-apim-service' is disabled.
       
To connect to 'Microsoft.ApiManagement/service/my-apim-service', please use the Private Endpoint from inside your virtual network. 

تقييد اسم المجال المخصص في المستوى القياسي v2

حاليا، في المستوى القياسي v2، تتطلب APIM اسم DNS قابلا للحل بشكل عام للسماح بنسبة استخدام الشبكة إلى نقطة نهاية البوابة. إذا قمت بتكوين اسم مجال مخصص لنقطة نهاية البوابة، يجب أن يكون هذا الاسم قابلا للحل بشكل عام، وليس مقيدا بمنطقة DNS خاصة.

كحل بديل في السيناريوهات التي تحد فيها من الوصول العام إلى البوابة وتكون اسم مجال خاص، يمكنك إعداد بوابة التطبيق لتلقي نسبة استخدام الشبكة في اسم المجال الخاص وتوجيهها إلى نقطة نهاية بوابة مثيل إدارة واجهة برمجة التطبيقات. للحصول على مثال للبنية، راجع مستودع GitHub هذا.