أنت تعرض مستندات Apigee Edge.
انتقل إلى
مستندات Apigee X. معلومات
استخدام واجهات برمجة التطبيقات لخدمة المتجر الآمن
تتيح لك خدمة التخزين الآمن إمكانية تخزين البيانات الحساسة، مثل بيانات اعتماد الأمان خدمات الواجهة الخلفية، بتنسيق مشفّر لحمايتها من الاستخدام غير المصرح به. هذه مناطق التخزين الآمنة تسمى "خزائن"، ويمكن تحديد نطاقها إما للمؤسسة أو بيئة التشغيل في Apigee Edge.
على سبيل المثال، يمكن استخدام المخزن الآمن لتخزين كلمة المرور التي يطلبها بروتوكول Node.js. من أجل الوصول إلى مورد محمي، مثل خادم قاعدة بيانات. يمكنك تخزين كلمة المرور في المتجر الآمن من خلال واجهة برمجة تطبيقات قبل النشر، ويمكن للتطبيق البحث عن القيمة في وقت التشغيل.
من خلال إجراء ذلك، لا داعي لتضمين كلمة المرور في عنصر التحكّم في رمز المصدر. ، أو لنشره إلى جانب رمز المصدر Node.js في Apigee Edge. بدلاً من ذلك، تكون القيمة يخزنه Apigee في شكل مشفّر ولن يتم استرداده إلا عندما يحتاج التطبيق إلى بها.
للحصول على مستندات حول واجهات برمجة تطبيقات المتجر الآمن، يُرجى الاطّلاع على أدوات Vault. تقدم الأقسام التالية أيضًا نظرة عامة على استخدام واجهة برمجة تطبيقات المتجر الآمن.
يتم تخزين البيانات حسب مؤسسة
تمتلك كل مؤسسة في Apigee Edge مجموعة من المتاجر الآمنة، ولكل بيئة سمة متجر إضافي. وبهذه الطريقة فإن المؤسسات التي لديها متطلبات أمان مختلفة الواجهات الخلفية تخزين قيم آمنة مختلفة. يصف هذا القسم التخزين حسب المؤسسة.
الاستخدام
- استرداد أسماء جميع المتاجر الآمنة:
GET /o/{organization}/vaults
- يمكنك استرداد قائمة بالإدخالات (وليس قيمها المشفَّرة) من خزانة مُسَمّاة.
GET /o/{organization}/vaults/{name}
-
استرداد إدخال واحد (ولكن ليس قيمته المشفرة).
GET /o/{organization}/vaults/{name}/entries/{entryname}
-
إنشاء خزانة جديدة باسم "الاسم" بدون قيم:
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
-
عرض "صحيح" إذا كانت القيمة المحددة تطابق ما هو موجود بالفعل في المخزن، و"خطأ" إذا إلا أنها لا تستخدم. وفي كلتا الحالتين، يتم استخدام رمز حالة 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
- حذف إدخال Vault المحدّد:
DELETE /o/{organization}/vaults/{vaultname}/entries/{entryname}
-
حذف الخزنة بالكامل
DELETE /o/{organization}/vaults/{name}
تخزين البيانات حسب البيئة
يمكنك أيضًا تخزين البيانات حسب بيئة Apigee Edge. في هذه الحالة، يتم تحديد نطاق البيانات (مثل "إنتاج"). باستخدام هذه الميزة، يمكن تخزين قيم مختلفة في وقت التشغيل اعتمادًا على مكان تشغيل النص البرمجي 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، يجب تثبيته.
أولاً. على سبيل المثال:
- القرص المضغوط إلى الدليل الجذر لمشروعك.
- التنفيذ:
npm install apigee-access --save
الدوال
تُستخدم دالة getVault() للوصول إلى apigee لاسترداد خزنة معينة، إما المؤسسة أو استنادًا إلى البيئة الحالية التي يتم فيها تشغيل رمز 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 });