شما در حال مشاهده مستندات Apigee Edge هستید.
به مستندات Apigee X مراجعه کنید . اطلاعات
استفاده از APIهای سرویس فروشگاه امن
سرویس ذخیره امن به شما امکان میدهد دادههای حساس، مانند اطلاعات احراز هویت امنیتی برای سرویسهای back-end، را در قالب رمزگذاری شده ذخیره کنید تا از استفاده غیرمجاز محافظت شوند. این مناطق ذخیرهسازی امن "vaults" نامیده میشوند و میتوانند در سطح سازمان یا محیط در Apigee Edge قرار گیرند.
برای مثال، میتوان از حافظه امن برای ذخیره رمز عبوری که یک برنامه Node.js برای دسترسی به یک منبع محافظتشده مانند سرور پایگاه داده به آن نیاز دارد، استفاده کرد. میتوانید رمز عبور را قبل از استقرار از طریق یک API در حافظه امن ذخیره کنید و برنامه میتواند در زمان اجرا به آن مراجعه کند.
با انجام این کار، نیازی به وارد کردن رمز عبور در سیستم کنترل کد منبع یا استقرار آن در کنار کد منبع Node.js در Apigee Edge نیست. در عوض، مقدار توسط Apigee به صورت رمزگذاری شده ذخیره میشود و فقط زمانی که برنامه به آن نیاز داشته باشد، بازیابی میشود.
برای مستندات مربوط به APIهای فروشگاه امن، به Vaults مراجعه کنید. بخشهای بعدی همچنین مروری بر استفاده از API فروشگاه امن ارائه میدهند.
ذخیره دادهها بر اساس سازمان
هر سازمان Apigee Edge مجموعهای از انبارههای امن دارد و هر محیط یک انباره اضافی. به این ترتیب سازمانهایی که الزامات امنیتی متفاوتی برای backendهای مختلف دارند، میتوانند مقادیر امنیتی متفاوتی را ذخیره کنند. این بخش، ذخیرهسازی بر اساس سازمان را شرح میدهد.
کاربرد
- نام تمام فروشگاههای امن را بازیابی کنید:
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 استفاده میشود. این کد ممکن است برای اعتبارسنجی محتوای فروشگاه استفاده شود. توجه داشته باشید که پس از ذخیره، هیچ API برای بازیابی مقدار رمزگذاری نشده وجود ندارد:
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() برای بازیابی یک vault خاص، چه برای هر سازمان و چه بر اساس محیط فعلی که کد Node.js در آن اجرا میشود، استفاده میشود.
getVault() دو پارامتر میگیرد:
- نام فروشگاه امن برای بازیابی.
- دامنه، که ممکن است
organizationیاenvironmentباشد. اگر مشخص نشده باشد،organizationفرض میشود.
شیء برگردانده شده توسط getVault() دو تابع دارد:
- getKeys(callback) : آرایهای شامل نام تمام کلیدهای موجود در vault مشخص شده را برمیگرداند. تابع callback با دو آرگومان فراخوانی میشود: یک خطا در صورت عدم موفقیت عملیات، یا "undefined" در صورت عدم موفقیت، و آرایه واقعی به عنوان آرگومان دوم.
- get(key, callback) : مقدار امن مرتبط با یک کلید خاص را برمیگرداند. تابع callback با دو آرگومان فراخوانی میشود: یک خطا در صورت عدم موفقیت عملیات، یا "undefined" در صورت عدم موفقیت، و مقدار واقعی به عنوان آرگومان دوم.
مثال
در اینجا یک نمونه Node.js وجود دارد که نحوه دریافت یک مقدار از یک vault را نشان میدهد. همانطور که قبلاً توضیح داده شد، ماژول apigee-access برای کار کردن این کد نصب شده است.
var apigee = require('apigee-access'); var orgVault = apigee.getVault('vault1', 'organization'); orgVault.get('key1', function(err, secretValue) { // use the secret value here });
شما در حال مشاهده مستندات Apigee Edge هستید.
به مستندات Apigee X مراجعه کنید . اطلاعات
استفاده از APIهای سرویس فروشگاه امن
سرویس ذخیره امن به شما امکان میدهد دادههای حساس، مانند اطلاعات احراز هویت امنیتی برای سرویسهای back-end، را در قالب رمزگذاری شده ذخیره کنید تا از استفاده غیرمجاز محافظت شوند. این مناطق ذخیرهسازی امن "vaults" نامیده میشوند و میتوانند در سطح سازمان یا محیط در Apigee Edge قرار گیرند.
برای مثال، میتوان از حافظه امن برای ذخیره رمز عبوری که یک برنامه Node.js برای دسترسی به یک منبع محافظتشده مانند سرور پایگاه داده به آن نیاز دارد، استفاده کرد. میتوانید رمز عبور را قبل از استقرار از طریق یک API در حافظه امن ذخیره کنید و برنامه میتواند در زمان اجرا به آن مراجعه کند.
با انجام این کار، نیازی به وارد کردن رمز عبور در سیستم کنترل کد منبع یا استقرار آن در کنار کد منبع Node.js در Apigee Edge نیست. در عوض، مقدار توسط Apigee به صورت رمزگذاری شده ذخیره میشود و فقط زمانی که برنامه به آن نیاز داشته باشد، بازیابی میشود.
برای مستندات مربوط به APIهای فروشگاه امن، به Vaults مراجعه کنید. بخشهای بعدی همچنین مروری بر استفاده از API فروشگاه امن ارائه میدهند.
ذخیره دادهها بر اساس سازمان
هر سازمان Apigee Edge مجموعهای از انبارههای امن دارد و هر محیط یک انباره اضافی. به این ترتیب سازمانهایی که الزامات امنیتی متفاوتی برای backendهای مختلف دارند، میتوانند مقادیر امنیتی متفاوتی را ذخیره کنند. این بخش، ذخیرهسازی بر اساس سازمان را شرح میدهد.
کاربرد
- نام تمام فروشگاههای امن را بازیابی کنید:
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 استفاده میشود. این کد ممکن است برای اعتبارسنجی محتوای فروشگاه استفاده شود. توجه داشته باشید که پس از ذخیره، هیچ API برای بازیابی مقدار رمزگذاری نشده وجود ندارد:
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() برای بازیابی یک vault خاص، چه برای هر سازمان و چه بر اساس محیط فعلی که کد Node.js در آن اجرا میشود، استفاده میشود.
getVault() دو پارامتر میگیرد:
- نام فروشگاه امن برای بازیابی.
- دامنه، که ممکن است
organizationیاenvironmentباشد. اگر مشخص نشده باشد،organizationفرض میشود.
شیء برگردانده شده توسط getVault() دو تابع دارد:
- getKeys(callback) : آرایهای شامل نام تمام کلیدهای موجود در vault مشخص شده را برمیگرداند. تابع callback با دو آرگومان فراخوانی میشود: یک خطا در صورت عدم موفقیت عملیات، یا "undefined" در صورت عدم موفقیت، و آرایه واقعی به عنوان آرگومان دوم.
- get(key, callback) : مقدار امن مرتبط با یک کلید خاص را برمیگرداند. تابع callback با دو آرگومان فراخوانی میشود: یک خطا در صورت عدم موفقیت عملیات، یا "undefined" در صورت عدم موفقیت، و مقدار واقعی به عنوان آرگومان دوم.
مثال
در اینجا یک نمونه Node.js وجود دارد که نحوه دریافت یک مقدار از یک vault را نشان میدهد. همانطور که قبلاً توضیح داده شد، ماژول apigee-access برای کار کردن این کد نصب شده است.
var apigee = require('apigee-access'); var orgVault = apigee.getVault('vault1', 'organization'); orgVault.get('key1', function(err, secretValue) { // use the secret value here });