الخلاصة
نعم، يخزن Postman مفاتيح API وبيانات الاعتماد الأخرى عند حفظها في متغيرات البيئة مع تمكين المزامنة السحابية، وهو الإعداد الافتراضي. هذا لا يعني أن Postman يسيء استخدام مفاتيحك، ولكنه يعني أن بيانات الاعتماد الخاصة بك موجودة على خادم طرف ثالث. يساعدك فهم هذا على تحديد ما إذا كان الإعداد الافتراضي لـ Postman يتناسب مع متطلبات الأمان الخاصة بك، ومتى يكون استخدام أداة تعتمد على التخزين المحلي أولاً مثل Apidog هو الخيار الأفضل.
مقدمة
السؤال "هل يخزن Postman مفاتيح API الخاصة بي؟" يظهر بانتظام في مجتمعات المطورين. ابحث في Reddit's r/webdev أو r/programming، وستجد مواضيع من مطورين يسألون نفس الشيء، غالبًا ما يكون ذلك بسبب نتائج تدقيق أمني أو محادثة مع فريق الأمان الخاص بهم.
القلق مشروع. مفاتيح API هي أساسًا كلمات مرور لخدماتك. يمكن أن يؤدي مفتاح API مسرب لمعالج دفع إلى رسوم احتيالية. يمكن أن يؤدي مفتاح مزود السحابة المسرب إلى إنشاء موارد غير مصرح بها، أو تسريب بيانات، أو فاتورة بعشرات الآلاف من الدولارات. المطورون الذين يخزنون هذه المفاتيح في أدوات التطوير الخاصة بهم يمنحون ثقتهم لتلك الأداة.
يعرف معظم المطورين أنه لا يجب عليهم إدخال مفاتيح API في مستودعات GitHub العامة. الوعي حول أدوات عميل API أقل. يمتلك Postman أكثر من 30 مليون مستخدم، مما يعني أن عددًا كبيرًا من المطورين يخزنون بيانات الاعتماد في أداة دون فهم كامل لمكان ذهاب هذه البيانات.
تقدم هذه المقالة إجابة تقنية مباشرة على سؤال تخزين مفتاح API وتشرح ما يمكنك فعله حيال ذلك.
الإجابة المباشرة: نعم، مع سياق مهم
يخزن Postman مفاتيح API في السيناريوهات التالية:
عند استخدام متغيرات البيئة. نظام بيئة Postman هو الطريقة القياسية لتخزين بيانات الاعتماد لاستخدامها في الطلبات. إذا قمت بإنشاء متغير بيئة يسمى API_KEY بقيمة sk-abc123...، فسيتم مزامنة تلك القيمة مع خوادم Postman السحابية عند تنشيط المزامنة السحابية. هذا هو السلوك الافتراضي.
عند استخدام متغيرات المجموعة. تتم مزامنة المتغيرات المخزنة على مستوى المجموعة بنفس الطريقة.
عند استخدام المتغيرات العامة. تتم مزامنة المتغيرات العامة مع حساب Postman الخاص بك.
عندما تظهر بيانات الاعتماد في نصوص الطلبات أو رؤوسها. إذا قمت بتضمين بيانات اعتماد في رأس طلب (مثل Authorization: Bearer sk-abc123...) وحفظت المجموعة، فسيتم مزامنة تلك القيمة.
ما لا تتم مزامنته بشكل افتراضي: القيم المخزنة في Postman Vault. Vault هو مخزن بيانات اعتماد محلي لا تتم مزامنته صراحةً مع سحابة Postman. يتطلب تخزين بيانات الاعتماد هناك يدويًا بدلاً من متغيرات البيئة.
ماذا تعني "المزامنة السحابية" حقًا
المزامنة السحابية في Postman تعني أن نسخة من بيانات مساحة العمل الخاصة بك يتم الاحتفاظ بها باستمرار على خوادم Postman. يحدث هذا تلقائيًا في الخلفية. لا تحتاج إلى النقر فوق "حفظ" أو "مزامنة". أثناء عملك، تنتقل التغييرات إلى السحابة.
الغرض هو التعاون والمثابرة. إذا تعطل جهاز الكمبيوتر المحمول الخاص بك، فلن يضيع عملك لأنه موجود على سحابة Postman. إذا قمت بتبديل الأجهزة، فإن مجموعاتك وبيئاتك تتبعك لأنها تتم مزامنتها مع حسابك.
الآثار الأمنية هي أن مفاتيح API الخاصة بك، والتي قد تعتقد أنها موجودة في التطبيق على جهاز الكمبيوتر المحمول الخاص بك، موجودة في الواقع في كلا المكانين: جهاز الكمبيوتر المحمول الخاص بك وسحابة Postman.
يقوم Postman بتشفير هذه البيانات. المخطط المحدد هو تشفير AES-256 للبيانات في وضع السكون وTLS للبيانات أثناء النقل. هذا هو تشفير قياسي ومعقول. المفاتيح ليست موجودة كنص عادي في قاعدة بيانات Postman في مكان ما.
لكن التشفير لا يعني عدم إمكانية الوصول. يمكن لـ Postman الوصول إلى البيانات لتقديم الخدمة. إذا تعرض حساب Postman الخاص بك للاختراق (عبر التصيد الاحتيالي، أو حشو بيانات الاعتماد، أو اختراق بيانات في Postman)، فمن المحتمل أن تكون مفاتيح API المخزنة الخاصة بك قابلة للوصول لمن حصل على الوصول.
ماذا تقول سياسة خصوصية Postman حول بيانات الاعتماد الخاصة بك
تصف سياسة خصوصية Postman نفسها كمعالج بيانات، وليس كمراقب بيانات، لمحتوى مساحات العمل الخاصة بك. يقومون بمعالجة بياناتك لتقديم الخدمة. لا يبيعون محتوى مساحة العمل الخاصة بك لأطراف ثالثة.
النقاط الرئيسية من وثائق معالجة البيانات الخاصة بهم:
تحديد الغرض. يذكر Postman أنهم يستخدمون محتوى مساحة العمل لتقديم الخدمة وتحسينها، وليس للتسويق أو إعادة البيع.
المعالجون الفرعيون. يستخدم Postman خدمات طرف ثالث للبنية التحتية والدعم والتحليلات. قد يقوم هؤلاء المعالجون الفرعيون بمعالجة بياناتك كجزء من تقديم الخدمة. ينشر Postman قائمة بالمعالجين الفرعيين في وثائقهم.
طلبات الحكومة. بصفتها شركة أمريكية، تخضع Postman لطلبات تطبيق القانون الأمريكي بما في ذلك خطابات الأمن القومي. يمكن إجبار البيانات المخزنة على الخوادم الأمريكية من خلال الإجراءات القانونية.
إشعار الاختراق. تتضمن شروط Postman أحكامًا لإشعار اختراق الأمان. إذا كانت بياناتك متورطة في اختراق، فإن Postman ملزم تعاقديًا بإخطارك.
حذف البيانات. عندما تحذف حسابك، يحذف Postman بياناتك. تختلف جداول الاحتفاظ بالنسخ الاحتياطي.
هذه سياسة طبيعية لشركة برمجيات كخدمة (SaaS) تعمل بنموذج B2B. إنها لا تدل على نية سيئة. السؤال هو ما إذا كانت سياسة الأمان في مؤسستك تسمح بتخزين بيانات اعتماد API مع خدمة سحابية تابعة لجهة خارجية، وما إذا كنت قد راجعت هذه السياسة مقابل ما يفعله Postman بالفعل.
بعد الرؤية في مساحة العمل
بالإضافة إلى المزامنة السحابية، هناك بعد ثانٍ لمخاطر مفتاح API في Postman: رؤية مساحة العمل.
يمكن أن تكون مساحات عمل Postman عامة، أو تابعة للفريق، أو خاصة. مساحات العمل العامة يمكن الوصول إليها من قبل أي شخص دون مصادقة. يمكن البحث عنها في شبكة Postman العامة لـ API.
في عام 2023، وجد باحثو CloudSEK أكثر من 30,000 مساحة عمل عامة في Postman تحتوي على مفاتيح API حقيقية، ورموز (tokens)، وبيانات اعتماد أخرى. شركات مثل Razorpay و New Relic كانت لديها بيانات اعتماد حساسة في مساحات عمل عامة. لم يكن التعرض نتيجة لاختراق. بل كان بسبب قيام المطورين بتعيين مساحات العمل على أنها عامة دون إدراك أن نفس مساحة العمل تحتوي على بيانات اعتماد حقيقية في متغيرات البيئة.
هذه هي المخاطرة الثانية والمتميزة. حتى لو كنت تثق في أمان سحابة Postman، فإن سوء تكوين رؤية مساحة العمل يمكن أن يعرض بيانات الاعتماد الخاصة بك للإنترنت بأكمله.
من هو الأكثر عرضة للخطر
لا يواجه كل مطور نفس مستوى الخطر من معالجة Postman لبيانات الاعتماد. يكون الخطر أعلى عندما:
تخزن بيانات اعتماد الإنتاج في Postman. يعني الاختبار مقابل واجهات برمجة تطبيقات الإنتاج باستخدام مفاتيح الإنتاج أن بيانات اعتماد الإنتاج موجودة في سحابة Postman. وهذا شائع ومحفوف بالمخاطر حقًا.
مساحة عمل فريقك لديها وصول واسع. إذا كان كل شخص في شركة مكونة من 50 فردًا في نفس فريق Postman مع وصول إلى جميع مساحات العمل، فإن حسابًا واحدًا مخترقًا يعرض جميع بيانات الاعتماد للخطر.
تعمل في صناعة منظمة. غالبًا ما يكون لدى مؤسسات الرعاية الصحية والمالية والحكومية والدفاعية قواعد صريحة حول مكان تخزين بيانات معينة. قد يؤدي تخزين مفاتيح API التي تمنح الوصول إلى الأنظمة التي تحتوي على بيانات صحية محمية (PHI) أو بيانات مالية في سحابة طرف ثالث إلى انتهاك تلك القواعد.
مفاتيح API الخاصة بك تتمتع بامتيازات عالية. مفتاح للقراءة فقط لواجهة برمجة تطبيقات عامة هو خطر منخفض. مفتاح المسؤول لبنيتك التحتية السحابية أو معالج الدفع الخاص بك هو خطر عالٍ. تتناسب عواقب التعرض مع مستوى امتياز المفتاح.
أنت مقاول أو مستشار. يعني تخزين بيانات اعتماد API للعملاء في حساب Postman الشخصي الخاص بك أن بيانات اعتماد العميل موجودة على خادم طرف ثالث مرتبط بحسابك الشخصي. إذا تم اختراق هذا الحساب، فإن أمان العميل معرض للخطر.
كيف يغير Postman Vault الصورة
يقوم Postman Vault، الذي تم تقديمه لمعالجة هذه المخاوف، بتخزين قيم بيانات الاعتماد محليًا على جهازك. القيم الموجودة في Vault لا تتم مزامنتها مع سحابة Postman. تشير إليها في الطلبات باستخدام صيغة {{vault:variable_name}}.
هذا تحسين أمني مهم. مفاتيح API المخزنة في Vault ليست موجودة على خوادم Postman.
القيود: يتطلب تغييرًا سلوكيًا متعمدًا. لدى المطورين سنوات من الذاكرة العضلية حول متغيرات البيئة. يتطلب Vault من كل عضو في الفريق إعداد مخزنه المحلي الخاص، مما يعني أن بيانات الاعتماد لا تتم مشاركتها من خلال ميزات فريق Postman. تحتاج إلى آلية منفصلة لمشاركة الأسرار لإعداد أعضاء الفريق الجدد.
لا يعالج Vault أيضًا بيانات الاعتماد التي تظهر مباشرة في رؤوس الطلبات أو نصوصها، أو بيانات الاعتماد في متغيرات المجموعة والمتغيرات العامة.
الأدوات المحلية أولاً والنموذج البديل
الفرق الأساسي مع الأدوات المحلية أولاً هو الإعداد الافتراضي. مع Postman، تكون المزامنة السحابية قيد التشغيل ما لم تقم بإيقاف تشغيلها (وحتى في هذه الحالة، تتطلب Vault لبيانات الاعتماد على وجه التحديد). مع Apidog، تبقى البيانات محلية ما لم تقم بتشغيل المزامنة.
يتم تخزين متغيرات بيئة Apidog في قواعد بيانات SQLite محلية على جهازك. لا تتم مزامنتها في أي مكان دون اتخاذك إجراءً صريحًا. إذا لم تقم بتمكين مزامنة الفريق مطلقًا، فلن تغادر مفاتيح API الخاصة بك جهازك أبدًا.
بالنسبة للمطورين الذين يحتاجون إلى أداة للتعامل مع الأسرار بأمان دون أي تكوين، هذا فرق مهم. لا يتعين عليك معرفة Vault، أو تكوينه، أو تدريب فريقك بالكامل على استخدامه. السلوك الآمن هو السلوك الافتراضي.
يذهب برونو أبعد من ذلك: فهو يخزن كل شيء في ملفات على نظام ملفاتك. لا يوجد خيار سحابي على غرار Apidog على الإطلاق. إذا كان التخزين المحلي فقط مطلبًا صارمًا، فإن برونو يزيل السؤال تمامًا.
توصيات عملية
راجع ما قمت بتخزينه الآن. افتح بيئات Postman الخاصة بك وراجع كل متغير. ابحث عن مفاتيح API، والرموز (tokens)، وكلمات المرور، والأسرار. اعرف ما هو موجود في سحابة Postman.
انتقل إلى Postman Vault لبيانات الاعتماد. لأي بيانات اعتماد تحتاج إلى البقاء في Postman، انقلها إلى Vault. قم بتحديث وثائق فريقك وعملية الإعداد.
استخدم مفاتيح محدودة الامتيازات ومحددة النطاق للاختبار. أنشئ مفاتيح API خصيصًا للتطوير والاختبار بأقل الأذونات المطلوبة. إذا تم تسريب مفتاح اختبار، يكون التأثير محدودًا. لا تستخدم أبدًا مفاتيح المسؤول أو الإنتاج في أدوات التطوير.
راجع رؤية مساحة العمل. تأكد من عدم تعيين أي مساحة عمل تحتوي على بيانات اعتماد على أنها عامة (Public). اجعل الإعداد الافتراضي خاصًا (Private) لجميع مساحات العمل.
ضع في اعتبارك نموذج التهديد الخاص بك. بالنسبة للمشاريع الشخصية وواجهات برمجة التطبيقات غير الحساسة، ربما يكون إعداد Postman الحالي جيدًا. بالنسبة لبيانات اعتماد الإنتاج، أو البيانات المنظمة، أو عمل العملاء، قد يكون من الأسهل تجنب الخطوات الإضافية لتحقيق الأمان باستخدام Postman عن طريق استخدام أداة تعتمد على التخزين المحلي أولاً.
الأسئلة الشائعة
هل يبيع Postman مفاتيح API الخاصة بي أو بيانات مساحة العمل؟لا. تنص سياسة خصوصية Postman على أنها لا تبيع محتوى مساحة عمل المستخدم. يستخدمونها لتقديم الخدمة وتحسينها.
إذا تم اختراق حساب Postman الخاص بي، هل يمكن للمهاجم الحصول على مفاتيح API الخاصة بي؟نعم، إذا كانت هذه المفاتيح مخزنة في متغيرات البيئة التي تتم مزامنتها مع السحابة. لهذا السبب، يعد استخدام Postman Vault لبيانات الاعتماد وتمكين المصادقة متعددة العوامل على حساب Postman الخاص بك أمرًا مهمًا.
هل يدعم Postman المصادقة متعددة العوامل؟نعم. يدعم Postman المصادقة متعددة العوامل عبر تطبيقات المصادقة. يؤدي تمكين المصادقة متعددة العوامل إلى تقليل مخاطر اختراق الحساب بشكل كبير.
هل مفاتيح API في Postman Vault آمنة؟يتم تخزين المفاتيح المخزنة في Postman Vault محليًا ولا تتم مزامنتها مع سحابة Postman. إنها آمنة بقدر أمان جهازك المحلي. إذا تم اختراق جهازك، يمكن الوصول إلى محتويات Vault. ولكن لا يمكن لـ Postman الوصول إليها، ولا يمكن لشخص يخترق حساب Postman الخاص بك الوصول إليها دون اختراق جهازك أيضًا.
ماذا يجب أن أستخدم إذا لم أستطع تخزين مفاتيح API في أي أداة سحابية؟برونو هو الخيار الأكثر تقييدًا، بدون أي مكون سحابي على الإطلاق. يخزن Apidog في الوضع المحلي كل شيء على الجهاز. بالنسبة لبيئات الفريق التي لا تحتوي على أي أدوات سحابية على الإطلاق، يمنحك Hoppscotch المستضاف ذاتيًا أو Apidog المستضاف ذاتيًا التعاون دون الاعتماد على سحابة طرف ثالث.
كيف يمكنني إزالة مفاتيح API الخاصة بي من سحابة Postman؟انتقل إلى بيئات Postman الخاصة بك، واحذف المتغيرات التي تحتوي على بيانات الاعتماد، واستبدلها بإشارات إلى Vault. إذا كنت ترغب في إزالة بيانات المزامنة التاريخية، فستحتاج إلى حذف مساحة العمل وأي بيانات مرتبطة بها من إعدادات حساب Postman الخاص بك.
الإجابة على سؤال "هل يجمع Postman مفاتيح API الخاصة بي" هي نعم، بموجب الإعدادات الافتراضية وأنماط الاستخدام الشائعة. هذا لا يجعل Postman منتجًا سيئًا. بل يعني أنك تحتاج إلى فهم نموذج البيانات قبل تخزين بيانات الاعتماد الحساسة، واستخدام Vault أو أداة بديلة عندما تتطلب متطلبات الأمان الخاصة بك ذلك.
