ما المقصود بمفتاح واجهة برمجة التطبيقات؟
مفتاح واجهة برمجة التطبيقات (API) هو سلسلة أبجدية رقمية يستخدمها مطورو واجهات برمجة التطبيقات للتحكم في الوصول إلى واجهات برمجة التطبيقات (APIs). واجهة برمجة التطبيقات (API) هي آلية اتصال تسمح بتبادل البيانات بين اثنتين من الوحدات البرمجية. بمجرد إنشاء واجهة برمجة تطبيقات (API) لوحدتك، يُمكن لمطوري التطبيقات الآخرين الاتصال بواجهة برمجة التطبيقات الخاصة بك لدمج وظائفك ضمن التعليمة البرمجية الخاصة بهم. على سبيل المثال، يُمكنك تطوير وحدة تأخذ قائمة عناصر كمدخلات ثم تُرجع قائمةً تضم المتاجر التي يُمكنك شراء تلك العناصر منها بأقل سعر. يُمكن لتطبيق تجارة إلكترونية بعد ذلك استخدام واجهة برمجة التطبيقات (API) الخاصة بك في إنشاء قائمة لعملائه تضم عروض البقالة اليومية. بصفتك منشئ واجهة برمجة التطبيقات (API)، فإنك تستخدم مفاتيح واجهة برمجة التطبيقات (API) لتقييد ومراقبة الوصول إلى واجهة برمجة التطبيقات الخاصة بك. يحدد مفتاح واجهة برمجة التطبيقات (API) الاستخدام المصرح به لواجهة برمجة التطبيقات، وبالتالي تتمكن من الحفاظ على واجهات برمجة التطبيقات (APIs) وإدارتها وتحقيق أرباح منها بشكل أكثر كفاءة.
ما حالات استخدام مفاتيح واجهة برمجة التطبيقات؟
يستخدم مطورو البرامج مفاتيح واجهة برمجة التطبيقات لإدارة طريقة الوصول إلى واجهات برمجة التطبيقات التي ينشئونها. تساهم مفاتيح واجهة برمجة التطبيقات في تطوير التطبيقات السحابية الحديثة بعدة طرق.
مراقبة استخدام واجهة برمجة التطبيقات
يستخدم مُزودو خدمات واجهة برمجة التطبيقات مفاتيح واجهة برمجة التطبيقات لتتبع الاستخدام وإدارة استهلاك واجهة برمجة التطبيقات، خاصةً في حالة التطبيقات التجارية. إنهم يفرضون رسومًا على المستخدمين مقابل موارد الحوسبة التي تستهلكها واجهة برمجة التطبيقات.
بصفتك مُزودًا لخدمات واجهة برمجة التطبيقات، يمكنك تقييد الوصول إلى خدمات واجهة برمجة التطبيقات باستخدام مفاتيح واجهة برمجة التطبيقات الفريدة. من خلال السماح بحركة البيانات القانونية فحسب، يمكنك تحسين استخدام موارد واجهة برمجة التطبيقات وسعة عرض النطاق لها. ويمكنك تحليل إحصائيات الاستخدام لكل مفتاح لضبط حصص الخطط المختلفة أيضًا.
استكشاف أخطاء تكامل واجهة برمجة التطبيقات وإصلاحها
قد تواجه التطبيقات السحابية مشكلات فنية بسبب واجهات برمجة التطبيقات التي تستخدمها. يستخدم مطورو البرامج مفاتيح واجهة برمجة التطبيقات لاكتشاف أنماط البيانات غير الطبيعية ومطابقة حركة بيانات واجهة برمجة التطبيقات مع مُزودي الخدمات المعنيين. وبهذه الطريقة، يمكنهم تحديد واجهة برمجة التطبيقات المحددة التي تمنع تصرف التطبيق بشكل صحيح، ومن ثمَّ عزلها.
تحديد المشروعات
تتبادل التطبيقات البرمجية البيانات الحساسة مع الخدمات الخارجية من خلال واجهة برمجة التطبيقات. تعمل مفاتيح واجهة برمجة التطبيقات كآلية ترخيص للمشروع لتنظيم الاستخدام من قِبل المشروعات المسموح بها. لاستخدام واجهة برمجة التطبيقات، يجب أن يقدم المشروع بيانات اعتماد واجهة برمجة التطبيقات الصحيحة للوصول إلى وظائف البرنامج المجردة. من المهم ملاحظة أن مفاتيح واجهة برمجة التطبيقات لا تصادق على مستخدمين محددين. وبدلاً من ذلك، فإنها تحدد على نطاق واسع المؤسسة المرتبطة بمفتاح معين.
كيف يعمل مفتاح واجهة برمجة التطبيقات؟
يتكون مفتاح واجهة برمجة التطبيقات من حروف أبجدية وأرقام أُنشئت عشوائيًا. إنك تربط مفتاح واجهة برمجة تطبيقات محددًا بعميل واجهة برمجة تطبيقات محدد. ونظرًا إلى أن استخدام واجهة برمجة التطبيقات هو في الأساس وحدة برمجية تتواصل إلى وحدة أخرى، فإن المفاتيح مرتبطة بوحدات برمجية أو تطبيقات مختلفة تريد التواصل مع واجهة برمجة التطبيقات لديك.
عندما يرسل تطبيق طلبات واجهة برمجة التطبيقات، تسير العملية على النحو التالي:
- يتحقق خادم واجهة برمجة التطبيقات من مصادقة مقدم الطلب باستخدام مفتاح واجهة برمجة التطبيقات الفريد.
- إذا كان مفتاح واجهة برمجة التطبيقات لا يتطابق مع أي من المفاتيح المسموح بها، يرفض الخادم استدعاء واجهة برمجة التطبيقات ويرسل رسالة رفض.
- في حالة تطابق مفتاح واجهة برمجة التطبيقات، يلبي الخادم الطلب ويرسل الاستجابة المتوقعة.
بهذه الطريقة، تسمح مفاتيح واجهة برمجة التطبيقات لخادم واجهة برمجة التطبيقات بتحديد أصل جميع استدعاءات واجهة برمجة التطبيقات. يمكن للخادم بعد ذلك إجراء عمليات التحقق اللاحقة من أجل السماح بالوصول إلى بيانات واجهة برمجة التطبيقات وخدماتها.
تقييد استدعاءات واجهة برمجة التطبيقات
يمكن لمُزودي خدمات واجهة برمجة التطبيقات استخدام مفتاح واجهة برمجة التطبيقات لتنظيم درجات متفاوتة من الوصول إلى خدمات واجهة برمجة التطبيقات. عند التحقق من صحة الطلب، يمكن لخادم واجهة برمجة التطبيقات التحقق من بعض المعلمات قبل إتاحة المزيد من الوصول إلى خدماته.
نطاق الخدمة
يحدد الخادم نطاق الخدمات التي يمكن أن يمنحها للتطبيق طالب الخدمة. على سبيل المثال، تسمح بعض مفاتيح واجهة برمجة التطبيقات لمقدم الطلب بإضافة المعلومات وحذفها وقراءتها من مخزن بيانات واجهة برمجة التطبيقات. قد يقيد البعض الآخر استدعاءات واجهة برمجة التطبيقات على قراءة المعلومات فحسب.
اختيار الوظائف
يحدد الخادم نطاق استدعاء واجهة برمجة التطبيقات ويفرضه لتخصيص خدمات واجهة برمجة التطبيقات. على سبيل المثال، يمكنك استخدام مفاتيح واجهة برمجة التطبيقات لتقييد قدرة تطبيق تجارة إلكترونية على البحث عن بيانات المنتج في بلدان محددة فحسب. ويمكنك ربط مفاتيح واجهة برمجة التطبيقات محددة بعوامل تصفية بارامترية معينة لقاعدة البيانات، مثل الكتب والملابس أيضًا.
عدد الاستدعاءات
يستخدم مُزودو خدمات واجهة برمجة التطبيقات مفاتيح واجهة برمجة التطبيقات لتنظيم الوصول إلى واجهة برمجة التطبيقات بإحكام أيضًا. يطبق بعض مُزودي الخدمات قيد الوقت أو الطلب على واجهات برمجة التطبيقات لديهم. في مثل هذه الحالات، لا يمكن لتطبيق العميل استخدام واجهة برمجة التطبيقات إلا للمدة المحددة أو حتى لعدد مرات محدد يوميًا فحسب. بمجرد تجاوز الحدود، يرفض الخادم أي طلبات من مفاتيح واجهة برمجة التطبيقات المرتبطة.
ما الفرق بين مفتاح واجهة برمجة التطبيقات ورمز واجهة برمجة التطبيقات المميز؟
مفتاح واجهة برمجة التطبيقات هو سلسلة من المعرِّفات الفريدة التي تهدف أساسًا إلى تحديد حركة مرور التطبيق الواردة من عملاء واجهة برمجة التطبيقات. عادةً ما ترتبط مفاتيح واجهة برمجة التطبيقات بخوادم محددة يُنشر عليها التطبيق المستدعي. عندما يرسل التطبيق طلب واجهة برمجة تطبيقات، يحدد الخادم التطبيق المستدعي (المرسل للطلب) بواسطة مفتاح واجهة برمجة التطبيقات.
في المقابل، رمز واجهة برمجة التطبيقات المميز هو سلسلة من التعليمات البرمجية التي تحتوي على بيانات شاملة تحدد مستخدمًا معينًا. تحمل الرموز المميزة لواجهة برمجة التطبيقات نطاق الوصول الممنوح لمستخدم معين أيضًا. يسمح هذا للخادم بمصادقة طلبات المستخدم المستدعي والتحقق من مدى استخدام واجهة برمجة التطبيقات. على سبيل المثال، يمكن لمستخدم استخدام الرمز المميز لتسجيل الدخول الأحادي من أجل الوصول إلى مجموعة من واجهات برمجة التطبيقات.
يُعد إنشاء مفتاح واجهة برمجة تطبيقات أكثر بساطة بفضل دوره المحدود في تفويض المستخدم. على العكس من ذلك، يوجد المزيد من القيود والإجراءات إذا منحت إمكانية الوصول إلى الرموز المميزة لواجهة برمجة التطبيقات، لأنها تحمل بيانات التعريف والمصادقة.
في Amazon Web Services (AWS)، يُطلَق على الرموز المميزة لواجهة برمجة التطبيقات رموز المصادقة المميزة أو رموز الأمان المميزة أيضًا. يستخدم المطورون أذونات إدارة الهوية والوصول (IAM) أو أداة تفويض Lambda أو تجمع مستخدمي Amazon Cognito لإنشاء الرموز المميزة لواجهة برمجة التطبيقات وإدارة الوصول إلى واجهات برمجة التطبيقات.
ما أفضل الممارسات لمفتاح واجهة برمجة التطبيقات (API)؟
يجب عليك أن تضع في الاعتبار بعض أفضل الممارسات عند استخدام مفاتيح واجهة برمجة التطبيقات.
تجنب استخدام مفاتيح واجهة برمجة التطبيقات لمصادقة المستخدمين. ليس الهدف من مفاتيح واجهة برمجة التطبيقات تنظيم إمكانية وصول المستخدمين. وبالمثل، لا تضمِّن معلومات سرية في مفاتيح واجهة برمجة التطبيقات، لأنها قد تكون مرئية في أثناء الإرسال.
لا تضمِّن مفاتيح واجهة برمجة التطبيقات مباشرةً في التعليمات البرمجية المصدر أو المستودع. إذا نسيت إزالتها، فقد تظهر للجمهور عند نشر تطبيقك.
احذف مفاتيح واجهة برمجة التطبيقات عندما لا تكون قيد الاستخدام. ضع في اعتبارك إضافة تاريخ لانتهاء صلاحية المفاتيح لتوفير أمان أكثر فعالية لواجهة برمجة تطبيقات.
كيف يمكن لـ AWS المساعدة في إدارة مفتاح واجهة برمجة التطبيقات لديك؟
تقدم Amazon Web Services (AWS) بوابة Amazon API لاحتياجات إدارة مفتاح واجهة برمجة التطبيقات (API) لديك.
يمكنك استخدام بوابة Amazon API لإنشاء واجهات برمجة التطبيقات REST وHTTP وWebSocket ونشرها وصيانتها ومراقبتها وتأمينها على أي نطاق. يمكن لمطوري واجهة برمجة التطبيقات إنشاء واجهات برمجة تطبيقات تصل إلى AWS أو خدمات الويب الأخرى، فضلاً عن البيانات المخزّنة في سحابة AWS.
بعد إنشاء واجهات برمجة التطبيقات واختبارها ونشرها، يمكنك استخدام خطط استخدام بوابة Amazon API لإتاحتها في شكل عروض منتجات لعملائك. يمكنك تكوين خطط الاستخدام ومفاتيح واجهة برمجة التطبيقات للسماح لعملائك بالوصول إلى واجهات برمجة التطبيقات المحددة. ويمكنك البدء في خنق طلبات الوصول إلى واجهات برمجة التطبيقات هذه استنادًا إلى حدود وحصص محددة.
ابدأ استخدام إدارة مفتاح واجهة برمجة التطبيقات على AWS من خلال إنشاء حساب اليوم