আপনি Apigee Edge-এর ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন .info- তে যান।
সুরক্ষিত স্টোর পরিষেবা API ব্যবহার করে
সিকিওর স্টোর সার্ভিস আপনাকে সংবেদনশীল ডেটা, যেমন ব্যাক-এন্ড সার্ভিসের নিরাপত্তা সংক্রান্ত তথ্য, এনক্রিপ্টেড ফরম্যাটে সংরক্ষণ করতে দেয়, যাতে সেগুলি অননুমোদিত ব্যবহার থেকে সুরক্ষিত থাকে। এই সুরক্ষিত স্টোরেজ এলাকাগুলোকে "ভল্ট" বলা হয় এবং Apigee Edge-এ এগুলিকে অর্গানাইজেশন বা এনভায়রনমেন্ট লেভেলে স্কোপ করা যায়।
উদাহরণস্বরূপ, একটি Node.js অ্যাপ্লিকেশনের জন্য ডাটাবেস সার্ভারের মতো কোনো সুরক্ষিত রিসোর্সে পৌঁছানোর জন্য প্রয়োজনীয় পাসওয়ার্ড সংরক্ষণ করতে সিকিওর স্টোর ব্যবহার করা যেতে পারে। আপনি ডেপ্লয়মেন্টের আগে একটি API-এর মাধ্যমে সিকিওর স্টোরে পাসওয়ার্ডটি সংরক্ষণ করতে পারেন এবং অ্যাপ্লিকেশনটি রানটাইমে সেই মানটি খুঁজে নিতে পারে।
এর ফলে, সোর্স কোড কন্ট্রোল সিস্টেমে পাসওয়ার্ডটি অন্তর্ভুক্ত করার, অথবা Node.js সোর্স কোডের সাথে Apigee Edge-এ এটি ডেপ্লয় করার কোনো প্রয়োজন থাকে না। এর পরিবর্তে, মানটি Apigee দ্বারা এনক্রিপ্টেড আকারে সংরক্ষিত হয় এবং অ্যাপ্লিকেশনটির প্রয়োজন হলেই কেবল এটি পুনরুদ্ধার করা হবে।
সিকিওর স্টোর এপিআই-এর ডকুমেন্টেশনের জন্য, ভল্টস দেখুন। নিম্নলিখিত বিভাগগুলিতে সিকিওর স্টোর এপিআই ব্যবহারের একটি সংক্ষিপ্ত বিবরণও দেওয়া হয়েছে।
সংস্থা অনুসারে ডেটা সংরক্ষণ
প্রতিটি 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-এর সুরক্ষিত স্টোর থেকে মান পুনরুদ্ধার করা
এপিজি-অ্যাক্সেস ইনস্টল করা হচ্ছে
আপনার Node.js কোডে apigee-access ব্যবহার করতে হলে, আপনাকে প্রথমে এটি ইনস্টল করতে হবে। উদাহরণস্বরূপ:
- আপনার প্রোজেক্টের রুট ডিরেক্টরিতে যান।
- চালান:
npm install apigee-access --save
কার্যাবলী
apigee-access-এর getVault() ফাংশনটি কোনো নির্দিষ্ট ভল্ট পুনরুদ্ধার করতে ব্যবহৃত হয়, যা হয় সংস্থা অনুযায়ী অথবা Node.js কোডটি যে বর্তমান পরিবেশে চলছে তার উপর ভিত্তি করে করা যায়।
getVault() দুটি প্যারামিটার গ্রহণ করে:
- পুনরুদ্ধার করার জন্য সুরক্ষিত স্টোরের নাম।
- পরিধি, যা
organizationবাenvironmentহতে পারে। যদি নির্দিষ্ট করে দেওয়া না থাকে, তবেorganizationধরে নেওয়া হয়।
getVault() দ্বারা ফেরত আসা অবজেক্টটির দুটি ফাংশন রয়েছে:
- getKeys(callback) : নির্দিষ্ট ভল্টে থাকা সমস্ত কী-এর নাম সম্বলিত একটি অ্যারে রিটার্ন করে। কলব্যাক ফাংশনটি দুটি আর্গুমেন্ট সহ কল করা হবে: অপারেশনটি ব্যর্থ হলে একটি এরর, অথবা ব্যর্থ না হলে "undefined", এবং দ্বিতীয় আর্গুমেন্ট হিসাবে প্রকৃত অ্যারেটি।
- get(key, callback) : একটি নির্দিষ্ট কী-এর সাথে যুক্ত সুরক্ষিত মানটি ফেরত দেয়। 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 });
আপনি Apigee Edge-এর ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন .info- তে যান।
সুরক্ষিত স্টোর পরিষেবা API ব্যবহার করে
সিকিওর স্টোর সার্ভিস আপনাকে সংবেদনশীল ডেটা, যেমন ব্যাক-এন্ড সার্ভিসের নিরাপত্তা সংক্রান্ত তথ্য, এনক্রিপ্টেড ফরম্যাটে সংরক্ষণ করতে দেয়, যাতে সেগুলি অননুমোদিত ব্যবহার থেকে সুরক্ষিত থাকে। এই সুরক্ষিত স্টোরেজ এলাকাগুলোকে "ভল্ট" বলা হয় এবং Apigee Edge-এ এগুলিকে অর্গানাইজেশন বা এনভায়রনমেন্ট লেভেলে স্কোপ করা যায়।
উদাহরণস্বরূপ, একটি Node.js অ্যাপ্লিকেশনের জন্য ডাটাবেস সার্ভারের মতো কোনো সুরক্ষিত রিসোর্সে পৌঁছানোর জন্য প্রয়োজনীয় পাসওয়ার্ড সংরক্ষণ করতে সিকিওর স্টোর ব্যবহার করা যেতে পারে। আপনি ডেপ্লয়মেন্টের আগে একটি API-এর মাধ্যমে সিকিওর স্টোরে পাসওয়ার্ডটি সংরক্ষণ করতে পারেন এবং অ্যাপ্লিকেশনটি রানটাইমে সেই মানটি খুঁজে নিতে পারে।
এর ফলে, সোর্স কোড কন্ট্রোল সিস্টেমে পাসওয়ার্ডটি অন্তর্ভুক্ত করার, অথবা Node.js সোর্স কোডের সাথে Apigee Edge-এ এটি ডেপ্লয় করার কোনো প্রয়োজন থাকে না। এর পরিবর্তে, মানটি Apigee দ্বারা এনক্রিপ্টেড আকারে সংরক্ষিত হয় এবং অ্যাপ্লিকেশনটির প্রয়োজন হলেই কেবল এটি পুনরুদ্ধার করা হবে।
সিকিওর স্টোর এপিআই-এর ডকুমেন্টেশনের জন্য, ভল্টস দেখুন। নিম্নলিখিত বিভাগগুলিতে সিকিওর স্টোর এপিআই ব্যবহারের একটি সংক্ষিপ্ত বিবরণও দেওয়া হয়েছে।
সংস্থা অনুসারে ডেটা সংরক্ষণ
প্রতিটি 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-এর সুরক্ষিত স্টোর থেকে মান পুনরুদ্ধার করা
এপিজি-অ্যাক্সেস ইনস্টল করা হচ্ছে
আপনার Node.js কোডে apigee-access ব্যবহার করতে হলে, আপনাকে প্রথমে এটি ইনস্টল করতে হবে। উদাহরণস্বরূপ:
- আপনার প্রোজেক্টের রুট ডিরেক্টরিতে যান।
- চালান:
npm install apigee-access --save
কার্যাবলী
apigee-access-এর getVault() ফাংশনটি কোনো নির্দিষ্ট ভল্ট পুনরুদ্ধার করতে ব্যবহৃত হয়, যা হয় সংস্থা অনুযায়ী অথবা Node.js কোডটি যে বর্তমান পরিবেশে চলছে তার উপর ভিত্তি করে করা যায়।
getVault() দুটি প্যারামিটার গ্রহণ করে:
- পুনরুদ্ধার করার জন্য সুরক্ষিত স্টোরের নাম।
- পরিধি, যা
organizationবাenvironmentহতে পারে। যদি নির্দিষ্ট করে দেওয়া না থাকে, তবেorganizationধরে নেওয়া হয়।
getVault() দ্বারা ফেরত আসা অবজেক্টটির দুটি ফাংশন রয়েছে:
- getKeys(callback) : নির্দিষ্ট ভল্টে থাকা সমস্ত কী-এর নাম সম্বলিত একটি অ্যারে রিটার্ন করে। কলব্যাক ফাংশনটি দুটি আর্গুমেন্ট সহ কল করা হবে: অপারেশনটি ব্যর্থ হলে একটি এরর, অথবা ব্যর্থ না হলে "undefined", এবং দ্বিতীয় আর্গুমেন্ট হিসাবে প্রকৃত অ্যারেটি।
- get(key, callback) : একটি নির্দিষ্ট কী-এর সাথে যুক্ত সুরক্ষিত মানটি ফেরত দেয়। 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 });