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

شما در حال مشاهده اسناد Apigee Edge هستید.
به مستندات Apigee X بروید .
اطلاعات

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

سرویس فروشگاه امن به شما امکان می‌دهد داده‌های حساس مانند اعتبارنامه‌های امنیتی سرویس‌های پشتیبان را در قالب رمزگذاری شده ذخیره کنید تا از استفاده غیرمجاز محافظت شوند. این مکان‌های ذخیره‌سازی ایمن «حفظه» نامیده می‌شوند و می‌توانند در سطوح سازمانی یا محیطی در Apigee Edge قرار بگیرند.

به عنوان مثال، فروشگاه امن ممکن است برای ذخیره رمز عبور مورد نیاز یک برنامه Node.js به منظور دسترسی به یک منبع محافظت شده، مانند سرور پایگاه داده استفاده شود. می‌توانید رمز عبور را قبل از استقرار از طریق یک API در فروشگاه امن ذخیره کنید و برنامه می‌تواند مقدار آن را در زمان اجرا جستجو کند.

با انجام این کار، نیازی به گنجاندن رمز عبور در سیستم کنترل کد منبع، یا استقرار آن در کنار کد منبع Node.js در Apigee Edge وجود ندارد. در عوض، مقدار توسط Apigee به صورت رمزگذاری شده ذخیره می شود و تنها زمانی بازیابی می شود که برنامه به آن نیاز داشته باشد.

برای مستندات مربوط به APIهای فروشگاه امن، به Vaults مراجعه کنید. بخش‌های زیر نیز یک نمای کلی از استفاده از API فروشگاه امن ارائه می‌دهند.

ذخیره سازی داده ها توسط سازمان

هر سازمان 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
  • اگر مقدار مشخص شده با آنچه قبلاً در فروشگاه وجود دارد مطابقت داشته باشد، "درست" را برگردانید و اگر این مقدار را ندارد "نادرست" را برگردانید. در هر دو مورد، کد وضعیت 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 با دو آرگومان فراخوانی می شود: یک خطا اگر عملیات با شکست مواجه شود، یا "تعریف نشده" اگر انجام نشود، و آرایه واقعی به عنوان آرگومان دوم.
  • get(key, callback) : مقدار امن مربوط به یک کلید خاص را برمی گردانید. تابع callback با دو آرگومان فراخوانی می شود: یک خطا در صورت عدم موفقیت عملیات، یا "تعریف نشده" در صورت عدم موفقیت، و مقدار واقعی به عنوان آرگومان دوم.

مثال

در اینجا یک نمونه 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
});