أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلى
مستندات Apigee X. info
استخدام واجهات برمجة التطبيقات لخدمة التخزين الآمن
تتيح لك خدمة التخزين الآمن تخزين البيانات الحسّاسة، مثل بيانات اعتماد الأمان للخدمات الخلفية، بتنسيق مشفَّر لحمايتها من الاستخدام غير المصرح به. تُعرف مناطق التخزين الآمنة هذه باسم "الخزائن"، ويمكن تحديد نطاقها على مستوى المؤسسة أو البيئة في Apigee Edge.
على سبيل المثال، يمكن استخدام المخزن الآمن لتخزين كلمة مرور يتطلّبها تطبيق Node.js للوصول إلى مورد محمي، مثل خادم قاعدة بيانات. يمكنك تخزين كلمة المرور في المخزن الآمن من خلال واجهة برمجة تطبيقات قبل النشر، ويمكن للتطبيق البحث عن القيمة في وقت التشغيل.
وبالتالي، لا حاجة إلى تضمين كلمة المرور في نظام التحكّم في رمز المصدر أو نشرها مع رمز مصدر Node.js على Apigee Edge. بدلاً من ذلك، تخزّن Apigee القيمة بشكل مشفّر، ولا يتم استردادها إلا عندما يحتاج إليها التطبيق.
للاطّلاع على مستندات حول واجهات برمجة التطبيقات الخاصة بالمخزن الآمن، يُرجى الانتقال إلى المخازن. تقدّم الأقسام التالية أيضًا نظرة عامة على استخدام واجهة برمجة التطبيقات الخاصة بالمخزن الآمن.
تخزين البيانات حسب المؤسسة
تتضمّن كل مؤسسة Apigee Edge مجموعة من المتاجر الآمنة، ويتضمّن كل بيئة متجرًا إضافيًا. بهذه الطريقة، يمكن للمؤسسات التي لديها متطلبات أمان مختلفة لأنظمة خلفية مختلفة تخزين قيم آمنة مختلفة. يوضّح هذا القسم كيفية التخزين حسب المؤسسة.
الاستخدام
- استرداد أسماء جميع المتاجر الآمنة:
GET /o/{organization}/vaults
- استرداد قائمة بالإدخالات (وليس قيمها المشفرة) من خزينة مسماة
GET /o/{organization}/vaults/{name}
-
استرداد إدخال واحد (وليس قيمته المشفرة)
GET /o/{organization}/vaults/{name}/entries/{entryname}
-
أنشئ خزنة جديدة باسم "name" بدون قيم:
POST /o/{organization}/vaults { "name": "{name}" } curl https://api.enterprise.apigee.com/v1/o/testorg/vaults -H "Content-Type: application/json" -d '{"name": "test2" }' -X POST
-
ضَع إدخالاً جديدًا في الخزانة بالاسم والقيمة الآمنة المحدّدين.
POST /o/{organization}/vaults/{vaultname}/entries { "name": "{entryname}", "value": "{securevalue}" } curl https://api.enterprise.apigee.com/v1/o/testorg/vaults/test2/entries -H "Content-Type: application/json" -d '{"name": "value1", "value": "verysecret" }' -X POST
-
استبدِل قيمة الإدخال المحدّد بقيمة جديدة:
PUT /o/{organization}/vaults/{vaultname}/entries/{entryname} curl https://api.enterprise.apigee.com/v1/o/testorg/vaults/test2/entries/value1 -d 'verymoresecret' -X PUT
-
تعرض القيمة "true" إذا كانت القيمة المحدّدة تتطابق مع ما هو متوفّر في المتجر، وتعرض القيمة "false" إذا لم تتطابق. في كلتا الحالتين، يتم استخدام رمز حالة HTTP 200. وقد يتم استخدامها للتحقّق من صحة محتوى المتجر. يُرجى العِلم أنّه بعد تخزين القيمة، لن تتوفّر واجهة برمجة تطبيقات لاسترداد القيمة غير المشفّرة:
POST /o/{organization}/vaults/{vaultname}/entries/{entryname}?action=verify curl https://api.enterprise.apigee.com/v1/o/testorg/vaults/test2/entries/value1?action=verify -d 'verymoresecret' -X POST
- احذف إدخال الخزنة المحدّد:
DELETE /o/{organization}/vaults/{vaultname}/entries/{entryname}
-
احذف الخزنة بأكملها.
DELETE /o/{organization}/vaults/{name}
تخزين البيانات حسب البيئة
يمكنك أيضًا تخزين البيانات حسب بيئة Apigee Edge. في هذه الحالة، يتم تحديد نطاق البيانات ببيئة (مثل "prod"). باستخدام هذه الميزة، يمكن تخزين قيم مختلفة في وقت التشغيل استنادًا إلى المكان الذي يتم فيه تشغيل نص Node.js البرمجي.
الاستخدام
GET /o/{organization}/e/{env}/vaults GET /o/{organization}/e/{env}/vaults/{name} GET /o/{organization}/e/{env}/vaults/{name}/entries/{entryname} POST /o/{organization}/e/{env}/vaults POST /o/{organization}/e/{env}/vaults/{vaultname}/entries PUT /o/{organization}/e/{env}/vaults/{vaultname}/entries/{entryname} POST /o/{organization}/e/{env}/vaults/{vaultname}/entries/{entryname}?action=verify DELETE /o/{organization}/e/{env}/vaults/{vaultname}/entries/{entryname} DELETE /o/{organization}/e/{env}/vaults/{name}
استرداد القيم من مخزن آمن في Node.js
تثبيت apigee-access
لاستخدام apigee-access في رمز Node.js، عليك تثبيته أولاً. على سبيل المثال:
- انتقِل إلى الدليل الجذري لمشروعك باستخدام الأمر cd.
- التنفيذ:
npm install apigee-access --save
الدوال
يتم استخدام الدالة apigee-access getVault() لاسترداد خزينة معيّنة، إما لكل مؤسسة أو استنادًا إلى البيئة الحالية التي يتم فيها تشغيل رمز Node.js.
تتلقّى الدالة getVault() مَعلمتَين:
- اسم المخزن الآمن الذي سيتم استرداده.
- النطاق، الذي قد يكون
organizationأوenvironmentفي حال عدم تحديدها، يتم استخدام القيمةorganization.
يحتوي العنصر الذي تعرضه الدالة getVault() على وظيفتَين:
- getKeys(callback): تعرض هذه الطريقة صفيفًا يحتوي على أسماء جميع المفاتيح في الخزنة المحدّدة. سيتم استدعاء دالة رد الاتصال مع وسيطتَين: خطأ إذا فشلت العملية، أو "غير محدّد" إذا لم تفشل، والمصفوفة الفعلية كوسيطة ثانية.
- get(key, callback): لعرض القيمة الآمنة المرتبطة بمفتاح معيّن. سيتم استدعاء دالة رد الاتصال مع وسيطتَين: خطأ إذا فشلت العملية، أو "غير محدّد" إذا لم تفشل، والقيمة الفعلية كمعامل ثانٍ.
مثال
في ما يلي نموذج Node.js يوضّح كيفية الحصول على قيمة من خزينة. يجب تثبيت الوحدة apigee-access لكي يعمل هذا الرمز، كما هو موضّح سابقًا.
var apigee = require('apigee-access'); var orgVault = apigee.getVault('vault1', 'organization'); orgVault.get('key1', function(err, secretValue) { // use the secret value here });