নিরাপদ স্টোর ব্যবহার করা

আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন দেখুন।
তথ্য

নিরাপদ স্টোর পরিষেবা API ব্যবহার করা

সুরক্ষিত স্টোর পরিষেবা আপনাকে এনক্রিপ্টেড ফর্ম্যাটে ব্যাক-এন্ড পরিষেবার জন্য নিরাপত্তা সংক্রান্ত ক্রেডেনশিয়ালের মতো সংবেদনশীল ডেটা স্টোর করতে দেয় যাতে সেগুলি অননুমোদিত ব্যবহার থেকে সুরক্ষিত থাকে। এইসব নিরাপদ স্টোরেজ জায়গাকে "ভল্ট" বলা হয় এবং Apigee Edge-এ এগুলি সংস্থা বা এনভায়রনমেন্ট লেভেলে স্কোপ করা যেতে পারে।

যেমন, কোনও সুরক্ষিত রিসোর্স, যেমন ডেটাবেস সার্ভারে পৌঁছানোর জন্য Node.js অ্যাপ্লিকেশনের প্রয়োজনীয় পাসওয়ার্ড সেভ স্টোরে সেভ করা হতে পারে। আপনি ডিপ্লয় করার আগে API-এর মাধ্যমে সুরক্ষিত স্টোরে পাসওয়ার্ড সেভ করতে পারেন এবং রানটাইমে অ্যাপ্লিকেশনটি ভ্যালু দেখতে পারে।

এটি করার ফলে, সোর্স কোড কন্ট্রোল সিস্টেমে পাসওয়ার্ড অন্তর্ভুক্ত করার বা Node.js সোর্স কোডের সাথে Apigee Edge-এ এটি ডেপ্লয় করার প্রয়োজন হয় না। পরিবর্তে, ভ্যালু এনক্রিপ্ট করা ফর্মে Apigee-এর দ্বারা সেভ করা হয় এবং অ্যাপ্লিকেশন যখন এটির প্রয়োজন হবে তখনই এটি পুনরুদ্ধার করা হবে।

নিরাপদ স্টোর API সংক্রান্ত ডকুমেন্টেশনের জন্য, ভল্ট দেখুন। নিরাপদ স্টোর 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
  • স্টোরে আগে থেকেই থাকা ভ্যালুর সাথে উল্লেখ করা ভ্যালু মিললে "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 ইনস্টল করা হচ্ছে

আপনার Node.js কোডে apigee-access ব্যবহার করতে, আপনাকে প্রথমে এটি ইনস্টল করতে হবে। যেমন:

  1. আপনার প্রোজেক্টের রুট ডিরেক্টরিতে cd করুন।
  2. এক্সিকিউট করো: npm install apigee-access --save

ফাংশন

apigee-access getVault() ফাংশনটি কোনও নির্দিষ্ট ভল্টকে রিট্রিভ করতে ব্যবহৃত হয়, এটি প্রতিটি সংস্থা বা Node.js কোড যেখানে চলছে সেই বর্তমান এনভায়রনমেন্টের উপর ভিত্তি করে করা হয়।

getVault() দুটি প্যারামিটার নেয়:

  • যে নিরাপদ স্টোর থেকে ডেটা ফিরিয়ে আনা হবে তার নাম।
  • স্কোপ, যা organization বা environment হতে পারে। নির্দিষ্ট করা না থাকলে organization ধরে নেওয়া হয়।

getVault() থেকে পাওয়া অবজেক্টে দুটি ফাংশন থাকে:

  • getKeys(callback): নির্দিষ্ট ভল্টের মধ্যে থাকা সব কী-এর নাম সহ একটি অ্যারে রিটার্ন করে। কলব্যাক ফাংশনটি দুটি আর্গুমেন্ট সহ কল করা হবে: অপারেশনটি ব্যর্থ হলে একটি সমস্যা বা এটি ব্যর্থ না হলে "undefined" এবং দ্বিতীয় আর্গুমেন্ট হিসেবে আসল অ্যারে।
  • get(key, callback): কোনও নির্দিষ্ট কী-এর সাথে যুক্ত সুরক্ষিত ভ্যালু রিটার্ন করে। কলব্যাক ফাংশনকে দুটি আর্গুমেন্ট সহ কল করা হবে: অপারেশন ব্যর্থ হলে একটি এরর, অথবা ব্যর্থ না হলে "undefined" এবং দ্বিতীয় আর্গুমেন্ট হিসেবে আসল ভ্যালু।

উদাহরণ

ভল্ট থেকে কীভাবে ভ্যালু পেতে হয় তা 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
});