با استفاده از فروشگاه امن

شما در حال مشاهده مستندات 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 خود، ابتدا باید آن را نصب کنید. برای مثال:

  1. با استفاده از دستور cd به دایرکتوری ریشه پروژه خود بروید.
  2. اجرا کنید: 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 خود، ابتدا باید آن را نصب کنید. برای مثال:

  1. با استفاده از دستور cd به دایرکتوری ریشه پروژه خود بروید.
  2. اجرا کنید: 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
});