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

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

يمكنك تكوين نقطة نهاية خاصة واردة لمثيل 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.
  • الاتصال غير مدعومة على البوابة المستضافة ذاتيا.

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

  • مثيل APIM موجود. أنشئ واحد إذا لم تكن قد قمت بذلك بالفعل.
  • شبكة ظاهرية وشبكة فرعية لاستضافة نقطة النهاية الخاصة. قد تحتوي الشبكة الفرعية على موارد 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. تعطيل نهج الشبكة في الشبكة الفرعية
  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. في القائمة اليمنى، حدد شبكة.

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

    أضف نقطة نهاية خاصة باستخدام بوابة Azure

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

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

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

    إنشاء نقطة نهاية خاصة في مدخل Microsoft Azure

  7. حدد علامة التبويب الشبكة الظاهرية أو الزر التالي: الشبكة الظاهرية في أسفل الشاشة.

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

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

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

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

  12. حدد "Review + create".

  13. حدد إنشاء.

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

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

كما يمكنك استخدام اتصال نقطة النهاية الخاصة - List By Service واجهة برمجة تطبيقات REST لسرد اتصالات نقطة النهاية الخاصة بمثيل الخدمة.

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

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

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

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

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

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

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{apimServiceName}privateEndpointConnections/{privateEndpointConnectionName}?api-version=2021-08-01

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

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

إشعار

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

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{apimServiceName}?api-version=2021-08-01
Authorization: Bearer {{authToken.response.body.access_token}}
Content-Type: application/json

استخدم جسم JSON التالي:

{
  [...]
  "properties": {
    "publicNetworkAccess": "Disabled"
  }
}

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

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

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

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

  3. حدد ⁧⁩تكوين DNS⁧⁩ في التنقل الأيمن.

  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. 

الخطوات التالية