إذا كنت تطور أو تستخدم واجهات برمجة التطبيقات، فمن المحتمل أنك تعرف مدى أهمية حمايتها من الوصول غير المصرح به وسوء الاستخدام. تعد واجهات برمجة التطبيقات العمود الفقري للعديد من التطبيقات الحديثة، وتحتاج إلى تأمينها بآليات المصادقة والتفويض المناسبة.
ولكن كيف تصف وتوثق متطلبات الأمان لواجهات برمجة التطبيقات الخاصة بك؟ كيف تضمن أن يعرف مستهلكو واجهات برمجة التطبيقات الخاصة بك كيفية الوصول إليها بشكل آمن وصحيح؟ كيف تتجنب اللبس وعدم التناسق بين واجهات برمجة التطبيقات المختلفة وأسس الأمان؟
هنا تأتي أهمية أنظمة أمان OpenAPI. OpenAPI هو معيار مستخدم على نطاق واسع لوصف وتوثيق واجهات برمجة التطبيقات بشكل يمكن للآلات قراءته وسهل القراءة للبشر. تعتبر أنظمة أمان OpenAPI جزءًا من مواصفة OpenAPI التي تتيح لك تعريف وإشارة آليات الأمان التي تحمي واجهات برمجة التطبيقات الخاصة بك.
في هذا المقال، سوف نشرح ما هي أنظمة أمان OpenAPI، وكيف تعمل، وكيف يمكنك استخدامها لتأمين واجهات برمجة التطبيقات الخاصة بك. سنعرض لك أيضًا بعض الأمثلة على أنظمة أمان OpenAPI وكيفية استخدامها مع Apidog، وهي أداة قوية لتصميم واختبار وتوثيق واجهات برمجة التطبيقات.
ما هي أنظمة أمان OpenAPI؟
أنظمة أمان OpenAPI هي وسيلة لوصف متطلبات الأمان لواجهات برمجة التطبيقات الخاصة بك باستخدام مواصفة OpenAPI. يتم تعريفها في قسم components/securitySchemes من وثيقة OpenAPI الخاصة بك، ويمكن الإشارة إليها بواسطة الكلمة الرئيسية security على المستوى الجذري أو على مستوى العملية الخاصة بواجهات برمجة التطبيقات.
يمكن أن تصف أنظمة أمان OpenAPI أنواع مختلفة من آليات الأمان، مثل:
- مفاتيح واجهة برمجة التطبيقات
- أنظمة المصادقة عبر HTTP (أساسية، حاملة، إلخ.)
- OAuth 2.0
- OpenID Connect
كل نظام أمان له خاصية type التي تشير إلى نوع آلية الأمان، وخصائص أخرى تعتمد على النوع. على سبيل المثال، تحتوي آلية أمان مفتاح واجهة برمجة التطبيقات على خاصية name التي تحدد اسم الرأس أو معامل الاستعلام أو الكوكي الذي يحتوي على مفتاح واجهة برمجة التطبيقات، وخصائص in التي تحدد موقع مفتاح واجهة برمجة التطبيقات.
إليك مثال على آلية أمان مفتاح واجهة برمجة التطبيقات:
components:
securitySchemes:
ApiKeyAuth:
type: apiKey
name: X-API-Key
in: header
لتطبيق نظام أمان على واجهة برمجة التطبيقات الخاصة بك أو على عملية محددة، تحتاج إلى استخدام الكلمة الرئيسية security وتوفير مصفوفة من كائنات متطلبات الأمان. كائن متطلبات الأمان هو خريطة لأسماء أنظمة الأمان إلى مصفوفة من أسماء النطاق (لـ OAuth 2.0 وOpenID Connect) أو مصفوفة فارغة (لأنواع أخرى).
على سبيل المثال، لتطبيق نظام أمان مفتاح واجهة برمجة التطبيقات على واجهة برمجة التطبيقات بالكامل، يمكنك استخدام الصيغة التالية:
security:
- ApiKeyAuth: []
لتطبيق نظام أمان مفتاح واجهة برمجة التطبيقات على عملية معينة، يمكنك استخدام الصيغة التالية:
paths:
/pets:
get:
security:
- ApiKeyAuth: []
يمكنك أيضًا استخدام أنظمة أمان متعددة لواجهة برمجة التطبيقات الخاصة بك أو لعملية معينة، سواء كبدائل (OR منطقي) أو كتركيبات (AND منطقي). على سبيل المثال، لطلب إما مفتاح واجهة برمجة التطبيقات أو رمز حاملة لعملية معينة، يمكنك استخدام الصيغة التالية:
paths:
/pets:
get:
security:
- ApiKeyAuth: []
- BearerAuth: []
لتطلب كل من مفتاح واجهة برمجة التطبيقات ورمز حاملة لعملية معينة، يمكنك استخدام الصيغة التالية:
paths:
/pets:
get:
security:
- ApiKeyAuth: []
BearerAuth: []

لماذا نستخدم أنظمة أمان OpenAPI؟
تحتوي أنظمة أمان OpenAPI على فوائد عديدة لكل من موفري واجهات برمجة التطبيقات والمستهلكين، مثل:
- توفر وسيلة واضحة ومتسقة لوصف متطلبات الأمان لواجهات برمجة التطبيقات الخاصة بك، مما يساعد على تجنب الالتباس والأخطاء بين مستهلكي واجهات برمجة التطبيقات المختلفة والمطورين.
- تمكن من إنشاء وثائق تفاعلية ونماذج رمزية توضح كيفية الوصول إلى واجهات برمجة التطبيقات الخاصة بك بشكل آمن وصحيح، مما يمكن أن يحسن تجربة المستخدم ويقلل من منحنى التعلم الخاص بواجهات برمجة التطبيقات.
- تسهل تكامل واجهات برمجة التطبيقات الخاصة بك مع أدوات ومنصات مختلفة تدعم مواصفة OpenAPI، مثل Apidog، مما يمكن أن يساعدك في تصميم واختبار وتوثيق واجهات برمجة التطبيقات بشكل أسهل وأكثر كفاءة.
كيف تستخدم أنظمة أمان OpenAPI مع Apidog؟
Apidog هي أداة قوية لتصميم واختبار وتوثيق واجهات برمجة التطبيقات. تدعم مواصفة OpenAPI وتتيح لك إنشاء وتحرير وثائق OpenAPI بطريقة بصرية وبديهية. كما توفر ميزات مثل الاختبار المباشر، والخوادم الوهمية، وتوليد الرموز، والوثائق التفاعلية.
واحدة من مزايا استخدام Apidog هي أنه يمكنه اكتشاف وتطبيق أنظمة الأمان التي تحددها في وثيقة OpenAPI الخاصة بك تلقائيًا. على سبيل المثال، إذا قمت بتعريف نظام أمان مفتاح واجهة برمجة التطبيقات، سيطلب منك Apidog إدخال مفتاح واجهة برمجة التطبيقات الخاص بك وإرساله مع طلباتك. إذا قمت بتعريف نظام أمان OAuth 2.0، سيوجهك Apidog خلال عملية التفويض للحصول على رمز الوصول وتجديده لك.
لاستخدام أنظمة أمان OpenAPI مع Apidog، تحتاج إلى اتباع الخطوات التالية:
- إنشاء مشروع جديد أو استيراد وثيقة OpenAPI قائمة في Apidog.
- تعريف أنظمة الأمان الخاصة بك في قسم
components/securitySchemesفي وثيقة OpenAPI الخاصة بك، باستخدام الصيغة والخصائص الموصوفة أعلاه. - الإشارة إلى أنظمة الأمان الخاصة بك في الكلمة الرئيسية
securityعلى المستوى الجذري أو على مستوى العملية الخاصة بواجهات برمجة التطبيقات، باستخدام الصيغة والقيم الموصوفة أعلاه. - حفظ وثيقة OpenAPI الخاصة بك والانتقال إلى علامة التبويب الاختبار في Apidog.
- تحديد عملية تتطلب الأمان والنقر على زر الأمان في اللوحة اليمنى.
- أدخل معلمات الأمان المطلوبة، مثل مفتاح واجهة برمجة التطبيقات، اسم المستخدم وكلمة المرور، أو رمز التفويض، حسب نوع نظام الأمان.
- انقر على زر الإرسال لإرسال الطلب مع معلمات الأمان.
سيعرض Apidog الاستجابة من واجهة برمجة التطبيقات الخاصة بك ويظهر لك تفاصيل الطلب ومعلمات الأمان. يمكنك أيضًا عرض وتحرير وثيقة OpenAPI الخام في علامة التبويب الرمز، وتوليد وثائق تفاعلية ونماذج رمزية في علامات التبويب Docs وCode.
الخاتمة
تعتبر أنظمة أمان OpenAPI ميزة مفيدة في مواصفة OpenAPI التي تتيح لك وصف وتوثيق متطلبات الأمان لواجهات برمجة التطبيقات الخاصة بك. يمكن أن تساعدك في التواصل بشأن آليات الأمان التي تحمي واجهات برمجة التطبيقات الخاصة بك للمستهلكين والمطورين، وتمكن من إنشاء وثائق تفاعلية ونماذج رمزية توضح كيفية الوصول إلى واجهات برمجة التطبيقات الخاصة بك بشكل آمن وصحيح.
يمكنها أيضًا مساعدتك في دمج واجهات برمجة التطبيقات الخاصة بك مع أدوات ومنصات مختلفة تدعم مواصفة OpenAPI، مثل Apidog، التي يمكن أن تساعدك في تصميم واختبار وتوثيق واجهات برمجة التطبيقات بسهولة وكفاءة أكبر.
