تأمين واجهات برمجة التطبيقات باستخدام الاشتراكات
عند توزيع واجهات برمجة التطبيقات من خلال APIM من السهل والشائع تأمين الوصول إلى واجهات برمجة التطبيقات هذه باستخدام مفاتيح الاشتراك. يجب على المطورين الذين يحتاجون إلى استخدام واجهات برمجة التطبيقات الموزّعة تضمين مفتاح اشتراك صالح في طلبات HTTP عند إجراء مكالمات إلى واجهات برمجة التطبيقات هذه. ترفض بوابة API Management المكالمات بدون مفتاح اشتراك ولا تتم إعادة توجيه المكالمات إلى الخدمات الخلفية.
للحصول على مفتاح اشتراك للوصول إلى واجهات برمجة التطبيقات، يلزم الاشتراك. الاشتراك هو في الأساس حاوية مسماة لزوج من مفاتيح الاشتراك. يمكن للمطورين الذين يحتاجون إلى استهلاك واجهات برمجة التطبيقات الموزّعة الحصول على اشتراكات. ولا يحتاجون إلى موافقة ناشري واجهة برمجة التطبيقات. يمكن لناشري واجهة برمجة التطبيقات إنشاء اشتراكات مباشرة لمستهلكي واجهة برمجة التطبيقات أيضاً.
إشعار
تدعم APIM آليات أخرى أيضاً لتأمين الوصول إلى واجهات برمجة التطبيقات، بما في ذلك: OAuth2.0 وشهادات العميل الرقمية وقائمة السماح بـ IP.
الاشتراكات والمفاتيح
مفتاح الاشتراك هو مفتاح فريد تم إنشاؤه تلقائيا يمكن تمريره في رؤوس طلب العميل أو كمعلمة سلسلة استعلام. يرتبط المفتاح مباشرة باشتراك، ويجوز أن يكون نطاقه منتشرًا في مناطق مختلفة. تمنحك الاشتراكات تحكُّمًا متعدد المستويات في الأذونات والسياسات.
ونطاقات الاشتراك الثلاثة الرئيسية هي:
| النطاق | التفاصيل |
|---|---|
| جميع API | ينطبق ذلك على كل واجهة API يمكن الوصول إليها من البوابة |
| واجهة برمجة تطبيقات أحادية | ينطبق هذا النطاق على واجهة برمجة تطبيقات واحدة مستوردة وكافة نقاط النهاية التابعة لها |
| المنتج | المنتج هو مجموعة من واجهات برمجة التطبيقات أو أكثر التي تقوم بتكوينها في إدارة API Management. يمكنك القيام بتعيين APIs لأكثر من منتج واحد. يمكن أن تختلف المنتجات من حيث قواعد الوصول، وحِصص الاستخدام، وشروط الاستخدام. |
يجب أن تتضمن التطبيقات التي تستدعي واجهة API محمية المفتاح في كل طلب.
يمكنك إعادة إنشاء مفاتيح الاشتراك هذه في أي وقت، على سبيل المثال، إذا كنت تشك في مشاركة مفتاح مع مستخدمين غير مُصرَّح لهم.
كل اشتراك له مفتاحان؛ مفتاح أساسي ومفتاح ثانوي. وجود اثنين من المفاتيح يجعل الأمر أسهل عندما تحتاج إلى تجديد مفتاح. على سبيل المثال، إذا كنت تريد تغيير المفتاح الأساسي وتجنب وقت الفراغ، فاستخدم المفتاح الثانوي في التطبيقات الخاصة بك.
بالنسبة إلى المنتجات التي يتم فيها تفعيل الاشتراكات، يجب على العملاء توفير مفتاح عند إجراء مكالمات وتوجيهها إلى واجهات برمجة التطبيقات في هذا المنتج. يمكن للمطوِّرين الحصول على مفتاح عن طريق إرسال طلب اشتراك. إذا وافقت على الطلب، فعليك إرسال مفتاح الاشتراك لهم بطريقة آمِنة، كأن ترسله، مثلاً، في رسالة مشفرة. هذه الخطوة هي جزء أساسي من سير عمل API Management
الاتصال بواجهة برمجة التطبيقات API من خلال استخدام مفتاح الاشتراك
يجب أن تحتوي التطبيقات على مفتاح صالح في جميع طلبات HTTP عند إجراء مكالمات إلى نقاط نهاية API المحمية عن طريق الاشتراك. يمكن تمرير المفاتيح في عنوان الطلب، أو كسلسلة استفسار في URL.
اسم العنوان الافتراضي هو Ocp-Apim-Subscription-Key، وتكون سلسلة الاستعلام الافتراضية هي subscription-key.
لاختبار عمليات استدعاء واجهة برمجة التطبيقات، يمكنك استخدام مدخل المُطوِر، أو أدوات سطر الأوامر، مثل curl. فيما يلي مثال لطلب GET يستخدم مدخل المطور، والذي يعرض عنوان مفتاح الاشتراك:
فيما يلي كيفية تمرير مفتاح في عنوان الطلب باستخدام أمر curl:
curl --header "Ocp-Apim-Subscription-Key: <key string>" https://<apim gateway>.azure-api.net/api/path
فيما يلي مثال على أمر curl الذي يقوم بتمرير مفتاح في عنوان URL في شكل سلسلة استعلام:
curl https://<apim gateway>.azure-api.net/api/path?subscription-key=<key string>
إذا لم يتم تمرير المفتاح في العنوان، أو كسلسلة استعلام في عنوان URL، فستحصل على استجابة 401 Access Denied من بوابة API.