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

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

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

  • تستخدم نقطة النهاية الخاصة عنوان IP من Azure VNet الذي تتم استضافته فيه.

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

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

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

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

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

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

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

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

هام

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

    يمكنك استخدام نموذج الشبكة الظاهرية الخارجية أو الداخلية لإنشاء اتصال صادر بنقاط النهاية الخاصة من مثيل API Management.

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

القيود

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

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

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

عادة ما ينشئ مسؤول الشبكة نقطة نهاية خاصة. اعتمادًا على أذونات التحكم في الوصول المستندة إلى دور 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. تعطيل نهج الشبكة في الشبكة الفرعية
  3. إنشاء نقطة نهاية خاصة - المدخل
  4. سرد اتصالات نقطة النهاية الخاصة بالمثيل
  5. الموافقة على اتصالات نقطة النهاية الخاصة المعلقة
  6. تمكين الوصول اختياريًا إلى الشبكة العامة أو تعطيله

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

تحقق من أن نوع نقطة النهاية الخاصة بـ 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"
    }
[...]

عطّل نُهج الشبكة في الشبكة الفرعية

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

إذا كنت تستخدم أدوات مثل Azure PowerShell أو Azure CLI أو واجهة برمجة تطبيقات REST لتكوين نقاط النهاية الخاصة، فقم بتحديث تكوين الشبكة الفرعية يدويًا. للحصول على أمثلة، راجع إدارة نُهج الشبكة لنقاط النهاية الخاصة.

عند استخدام مدخل Microsoft Azure لإنشاء نقطة نهاية خاصة، كما هو موضح في القسم التالي، يتم تعطيل نهج الشبكة تلقائيًا كجزء من عملية الإنشاء

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

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

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

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

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

  4. في علامة التبويب Basics في Create a private endpointأدخل، أو حدد المعلومات التالية:

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

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

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

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

  8. في Networking، أدخل هذه المعلومات أو حددها:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

إشعار

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

لتعطيل الوصول إلى الشبكة العامة باستخدام 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.azure-api.net

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

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

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

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

Request originated from client public IP address xxx.xxx.xxx.xxx, 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.