ما هو مفتاح API؟ كيفية استخدام مفاتيح API

ما هو مفتاح API؟ كيفية استخدام مفاتيح API

 

تتيح تقنية واجهة برمجة التطبيقات (API) ظهور إصدارات من منتج برمجي على مواقع ويب تابعة لجهات خارجية. يمكن أن تكون مفيدة في بعض المواقف المحددة.

ما هو القاسم المشترك بين يوتيوب وخرائط جوجل و X و Spotify و OpenWeatherMap؟ يمكنك تضمين محتواها خارج مواطنها الأصلية. وهذا ممكن بفضل واجهات برمجة التطبيقات (APIs).

فواجهات برمجة التطبيقات هي في الواقع وسيلة اتصال بين نوعين من البرامج - موقعك الإلكتروني على سبيل المثال وقائمة تشغيل Spotify التي تريد تضمينها. فهي توفر وصولا عاما واسعا إلى الأدوات الرقمية.

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

ما هو مفتاح API؟

مفتاح واجهة برمجة التطبيقات (API) هو معرف فريد يمكنه مصادقة الطلبات التي تقوم بها إلى واجهة برمجة التطبيقات (API). تتيح تقنية واجهة برمجة التطبيقات (API) ظهور إصدارات من منتج برمجي على مواقع إلكترونية تابعة لجهات خارجية.

إذا سبق لك أن ضغطت على تشغيل قائمة تشغيل Spotify على مدونة أو تفاعلت مع أداة خرائط Google على موقع ويب أحد الفنادق، فقد استخدمت واجهة برمجة تطبيقات. واستخدامك لموقع الويب الذي زرته مفتاح واجهة برمجة التطبيقات للوصول إلى واجهة برمجة التطبيقات تلك وبياناتها.

يمكن لمفاتيح واجهة برمجة التطبيقات (API) تأمين الواجهة من خلال ضمان أن مستخدمين محددين أو تطبيقات معتمدة فقط يمكنهم الوصول إلى واجهة برمجة التطبيقات والتفاعل معها. يتحكم مفتاح واجهة برمجة التطبيقات (API) المحدد، أو واجهة برمجة التطبيقات الخاصة، في الوصول إلى الخدمات أو البيانات - وهو في الأساس شكل من أشكال مصادقة المستخدم للتحقق من أن الشخص أو الكيان لديه إذن للوصول إلى تلك المعلومات.

مفاتيح API العامة مقابل مفاتيح API الخاصة

يمكن لمفاتيح واجهة برمجة التطبيقات (API) تحديد المشاريع، ومنح تفويض للمشروع، وإدارة استخدام التطبيق. كما أنها تسمح لموفري واجهة برمجة التطبيقات بوضع قيود على من يمكنه الوصول إلى هذه المعلومات وعدد المرات، مما قد يمنع إساءة الاستخدام، مثل إرسال رسائل غير مرغوب فيها أو اختراق البيانات.

يتحكم نوعان رئيسيان من المفاتيح في اوامر واجهة برمجة التطبيقات: المفاتيح العامة والمفاتيح الخاصة. إليك كيفية المقارنة بينهما من حيث الأمان والسرية:

الأمان

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

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

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

السرية

يمكن لأي شخص الوصول إلى مفاتيح واجهة برمجة التطبيقات العامة. قد تشاهد أحرفا تم إنشاؤها عشوائيا في رأس الطلب أو سلسلة استعلام عنوان URL أثناء مكالمة واجهة برمجة التطبيقات.

إذا نظرت بعناية إلى عنوان URL طويل لمقطع فيديو مضمن في يوتيوب، فقد تلاحظ وجود مفاتيح API فريدة في النهاية.

يجب عدم مشاركة مفاتيح API الخاصة - التي يخزنها التطبيق بشكل آمن - مع أي شخص.

كيفية عمل مفاتيح API

  • التوليد
  • المصادقة
  • الوصول إلى التطبيق
  • تحديد المعدل
  • الأمان

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

الإنشاء

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

المصادقة

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

وصول التطبيق

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

تحديد المعدل

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

الأمان

بينما تستخدم مفاتيح واجهة برمجة التطبيقات كشكل أساسي من أشكال المصادقة، يمكنك أيضا دمجها مع آليات أمان أخرى - مثل القائمة البيضاء لعناوين IP أو التشفير أو رموز OAuth - لتحديد حركة مرور التطبيقات وتعزيز الأمان. في جميع الحالات، يجب عليك التعامل مع مفاتيح واجهة برمجة التطبيقات كمعلومات حساسة والحفاظ على سريتها. يجب عدم مشاركتها علنا أو ترميزها في التطبيقات.

الاستخدامات الشائعة لمفاتيح API

  • التحكم في الوصول
  • تفويض المستخدم
  • تحديد أنماط الاستخدام
  • حظر حركة المرور غير المصرح بها
  • أتمتة عمليات التكامل ومهام التطبيقات

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

التحكم في الوصول

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

تعد مفاتيح واجهة برمجة التطبيقات الخاصة مهمة بشكل خاص لتأمين البيانات الحساسة، في حين أن مفاتيح واجهة برمجة التطبيقات العامة مناسبة للعمليات الأقل حساسية. تسمح مفاتيح واجهة برمجة التطبيقات الخاصة بالمشاريع على منصات مثل Google Cloud Platform Console للمطوّرين بالتحكم في الوصول بناء على مشاريع محددة.

تفويض المستخدم

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

تحديد أنماط الاستخدام

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

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

حظر حركة المرور غير المصرح بها

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

أتمتة عمليات التكامل ومهام التطبيقات

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

أفضل الممارسات لاستخدام مفاتيح واجهة برمجة التطبيقات

سيؤدي الاستخدام الآمن والفعال لمفاتيح واجهة برمجة التطبيقات إلى منع الوصول غير المصرح به من المستخدمين الضارين، وسيتيح لك التحكم في مكالمات واجهة برمجة التطبيقات وترخيص المشروع.

إليك بعض أفضل الممارسات التي يجب تنفيذها عند استخدام مفاتيح واجهة برمجة التطبيقات:
1. قم بتخزين مفاتيح واجهة برمجة التطبيقات بشكل آمن. لا تخزن مفاتيح واجهة برمجة التطبيقات (API) في نص عادي داخل تطبيقك؛ استخدم بدلا من ذلك طرقا آمنة مثل متغيرات البيئة أو ملفات التكوين المشفرة لحمايتها.

2. الحد من الوصول عندما يكون ذلك ممكنا. امنح مفاتيح واجهة برمجة التطبيقات فقط الأذونات اللازمة لأداء وظائفها المقصودة لأن منح وصول واسع النطاق قد يؤدي إلى عواقب غير مقصودة.

3. قم بتدوير مفاتيح واجهة برمجة التطبيقات بانتظام. تماما كما يجب على مستخدمي الإنترنت تدوير كلمات المرور الخاصة بهم، يجب على مسؤولي النظام إعادة إنشاء مفاتيح واجهة برمجة التطبيقات بشكل دوري لتقليل مخاطر الوصول غير المصرح به.

4. مراقبة استخدام المفاتيح. تتبّع أنماط استخدام مفاتيح واجهة برمجة التطبيقات (API) للكشف عن الانتهاكات الأمنية المحتملة أو الوصول غير المصرّح به.

5. تطبيق تحديد المعدل. حدّد عدد الطلبات التي يمكن للمستخدم إجراؤها باستخدام مفتاح واجهة برمجة التطبيقات خلال فترة محددة لمنع إساءة الاستخدام وضمان الاستخدام العادل حتى لا يتعطل برنامجك بسبب كثرة الطلبات.

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

ما هي الأسئلة الشائعة حول مفتاح واجهة برمجة التطبيقات

كيف تخزن مفاتيح API؟

قم بتخزين مفاتيح API بشكل آمن. قم بتخزينها باستخدام متغيرات البيئة أو ملفات التهيئة المشفرة أو أدوات إدارة مفاتيح API المتخصصة. لا تقم أبدا بترميز مفتاح واجهة برمجة API في التعليمات البرمجية المصدرية.

ما وظيفة مفتاح API؟

يصادق مفتاح واجهة برمجة التطبيقات (API) على التطبيقات ويخولها للوصول والتفاعل مع بيانات أو خدمات واجهة برمجة التطبيقات. فهو يضمن أن المستخدمين المعتمدين فقط (سواء كانوا أفرادا أو تطبيقات) يمكنهم تقديم طلبات واجهة برمجة التطبيقات.

من يحتاج إلى مفتاح API؟

إذا كنت بحاجة إلى الوصول إلى البيانات أو وظائف واجهة برمجة التطبيقات المستندة إلى الويب (API)، فأنت بحاجة إلى مفتاح API لمنحك هذا الوصول.

تعليقات