আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশনে যান । তথ্য
এমন কিছু সময় আছে যখন আপনি রানটাইমে পুনরুদ্ধারের জন্য ডেটা সঞ্চয় করতে চান — মেয়াদ শেষ না হওয়া ডেটা যা আপনার API প্রক্সি লজিকে হার্ড-কোড করা উচিত নয়। মূল মান মানচিত্র (KVMs) এর জন্য আদর্শ। একটি KVM হল কী/মান স্ট্রিং জোড়ার একটি কাস্টম সংগ্রহ যা হয় এনক্রিপ্ট করা বা আনএনক্রিপ্ট করা। এখানে দুটি উদাহরণ আছে:
অন্যান্য ধরনের অধ্যবসায় সম্পর্কে জানতে, ক্যাশিং এবং অধ্যবসায় যোগ করা দেখুন।
কেভিএম পরিস্থিতি
এখানে কিছু পরিস্থিতিতে রয়েছে যেখানে KVMগুলি কাজে আসে:
- আপনার কাছে একটি API প্রক্সি রয়েছে যা একটি পরীক্ষা পরিবেশে একটি লক্ষ্য (বা পরিষেবা কলআউট) URL এবং একটি উত্পাদন পরিবেশে আরেকটি লক্ষ্য URL কল করতে হবে৷ আপনার প্রক্সিতে হার্ড-কোডিং URL-এর পরিবর্তে, আপনি প্রক্সিটি কোন পরিবেশে আছে তা শনাক্ত করতে পারেন, সম্পর্কিত কী ভ্যালু ম্যাপ অপারেশন নীতি নির্বাহ করতে পারেন এবং আপনার তৈরি করা KVMগুলির একটি থেকে সঠিক টার্গেট URL পুনরুদ্ধার করতে পারেন৷ এবং পরে, যদি আপনার একটি বা উভয় লক্ষ্য পরিবর্তিত হয়, আপনি কেবল নতুন ইউআরএলগুলির সাথে KVMগুলি আপডেট করুন৷ প্রক্সি নতুন মান তুলে নেয়, এবং কোনো প্রক্সি পুনরায় স্থাপনের প্রয়োজন হয় না।
- আপনি শংসাপত্র, ব্যক্তিগত কী বা টোকেন সংরক্ষণ করতে চান—যেমন বাহ্যিক পরিষেবার জন্য টোকেন, OAuth টোকেন তৈরির জন্য প্রয়োজনীয় শংসাপত্র, অথবা এনক্রিপশন বা JSON ওয়েব টোকেন (JWT) স্বাক্ষরের জন্য Java Callouts বা JavaScript-এ ব্যবহৃত ব্যক্তিগত কী। অনুরোধে শংসাপত্র, কী, বা টোকেনগুলি পাস করার পরিবর্তে বা আপনার প্রক্সি লজিকে সেগুলিকে হার্ড-কোড করার পরিবর্তে, আপনি সেগুলিকে একটি KVM (সর্বদা এনক্রিপ্ট করা) এ সংরক্ষণ করতে পারেন এবং তাদের প্রয়োজনের লক্ষ্যে কলে গতিশীলভাবে পুনরুদ্ধার করতে পারেন৷
আপনি অন্যান্য পরিস্থিতিতে খুঁজে পাবেন যেখানে কী/মান স্ট্রিং জোড়ার স্টোরেজ দরকারী। সাধারণভাবে, কেভিএম ব্যবহার করার কথা বিবেচনা করুন যখন:
- আপনার কোডের নির্দিষ্ট স্থানের রানটাইমে বিভিন্ন মান প্রয়োজন।
- সংবেদনশীল ডেটা হার্ড-কোডিং ছাড়াই পাস করতে হবে।
- আপনি এমন মান সঞ্চয় করতে চান যা ক্যাশের মতো মেয়াদ শেষ হয় না।
KVM এর সুযোগ আছে
স্কোপ মানে "যেখানে একটি KVM পাওয়া যায়।" KVMগুলি নিম্নলিখিত স্কোপে তৈরি করা যেতে পারে: organization
, environment
এবং apiproxy
।
উদাহরণস্বরূপ, যদি শুধুমাত্র একটি API প্রক্সির জন্য একটি KVM-এ ডেটার প্রয়োজন হয়, আপনি apiproxy
স্কোপে KVM তৈরি করতে পারেন, যেখানে শুধুমাত্র সেই API প্রক্সি ডেটা অ্যাক্সেস করতে পারে।
অথবা আপনি আপনার পরীক্ষার পরিবেশের সমস্ত API প্রক্সিগুলির একটি মূল মান মানচিত্রে অ্যাক্সেস পেতে চাইতে পারেন, এই ক্ষেত্রে আপনি পরিবেশের সুযোগে একটি মূল মান মানচিত্র তৈরি করতে চান। "prod" পরিবেশে নিয়োজিত প্রক্সিগুলি "পরীক্ষা" পরিবেশের সুযোগে KVM অ্যাক্সেস করতে পারে না। আপনি যদি একই KVM কীগুলি উৎপাদনে উপলব্ধ করতে চান, তাহলে "prod" পরিবেশে একটি সমান্তরাল KVM স্কোপ তৈরি করুন।
আপনি যদি চান যে সমস্ত পরিবেশের সমস্ত প্রক্সি একই KVM অ্যাক্সেস করতে পারে, তাহলে organization
সুযোগে KVM তৈরি করুন।
এনক্রিপ্ট করা KVM সম্পর্কে
এনক্রিপ্ট করা KVM একটি Apigee-উত্পাদিত AES-128 সাইফার কী দিয়ে এনক্রিপ্ট করা হয়। একটি KVM এনক্রিপ্ট করার জন্য ব্যবহৃত কী KVM এর সুযোগে সংরক্ষণ করা হয়। উদাহরণস্বরূপ, একটি প্রতিষ্ঠানের মধ্যে, পরিবেশের সুযোগে আপনার তৈরি করা সমস্ত এনক্রিপ্ট করা KVM একই পরিবেশ-স্কোপড কী ব্যবহার করে তৈরি করা হয়।
এজ নিম্নলিখিত উপায়ে এনক্রিপ্ট করা মানগুলির প্রদর্শন পরিচালনা করে। (এনক্রিপ্ট করা কেভিএম তৈরির তথ্যের জন্য কেভিএম পরিচালনা এবং ব্যবহার দেখুন।)
এজ UI
এনক্রিপ্ট করা কী মান মানচিত্রগুলি UI (*****) তে তারকাচিহ্ন দিয়ে মুখোশযুক্ত মানগুলি প্রদর্শন করে। যেমন:
ব্যবস্থাপনা API
ম্যানেজমেন্ট এপিআইতে, এনক্রিপ্ট করা মানগুলি মুখোশ করে ফেরত দেওয়া হয়। একটি এনক্রিপ্ট করা KVM কলে নমুনা ব্যবস্থাপনা API প্রতিক্রিয়া নিম্নরূপ:
{ "encrypted": true, "entry": [ { "name": "Key1", "value": "*****" }, { "name": "Key2", "value": "*****" } ], "name": "secretMap" }
ট্রেস এবং ডিবাগ
আপনি যখন এনক্রিপ্ট করা KVM মানগুলি পুনরুদ্ধার করতে কী মান মানচিত্র অপারেশন নীতি ব্যবহার করেন, আপনি মানটি সংরক্ষণ করার জন্য একটি ভেরিয়েবলের নাম সরবরাহ করেন। একটি এনক্রিপ্ট করা মান পেতে, আপনাকে পরিবর্তনশীল নামের সাথে " private.
" উপসর্গ যোগ করতে হবে, যা KVM কী/মানগুলিকে ট্রেস এবং ডিবাগ সেশনে উপস্থিত হতে বাধা দেয়।
সীমা
কোর পারসিসটেন্স সার্ভিসেস (সিপিএস) সক্ষম সংস্থাগুলিতে:
- KVM নাম/আইডেন্টিফায়ার কেস সংবেদনশীল।
- কী আকার 2 KB পর্যন্ত সীমাবদ্ধ।
- মান আকার 10 KB সীমিত.
প্রাইভেট ক্লাউডের জন্য Apigee Edge-এর জন্য, প্রতিটি KVM 15MB-এর বেশি হওয়া উচিত নয় (এটি কী এবং মানগুলির সম্মিলিত আকার)। আপনি এই সীমা অতিক্রম করলে, ব্যক্তিগত ক্লাউডের জন্য Apigee Edge একটি ত্রুটি প্রদান করে। আপনার KVM-এর আকার নির্ধারণ করতে, আপনি nodetool cfstats কমান্ড ব্যবহার করতে পারেন।
বৃহত্তর KVM এর ফলে কর্মক্ষমতা হ্রাস পেতে পারে। ফলস্বরূপ, কর্মক্ষমতা উন্নত করতে আপনার বড়, একশিলা KVM গুলিকে ছোট করে ভাগ করা উচিত।
কেভিএম পরিচালনা এবং ব্যবহার করা
আপনি বিভিন্ন উপায়ে KVM তৈরি করতে, পরিচালনা করতে এবং ব্যবহার করতে পারেন। এই বিভাগে এনক্রিপ্ট করা এবং এনক্রিপ্ট করা না হওয়া KVM তৈরি, তারপর পুনরুদ্ধার করার জন্য বিভিন্ন বিকল্প বর্ণনা করা হয়েছে।
KVM তৈরি এবং আপডেট করা হচ্ছে
আপনি নিম্নলিখিত উপায়ে KVM তৈরি এবং আপডেট করতে পারেন:
মূল মান মানচিত্র অপারেশন নীতি (কোন এনক্রিপশন নেই)
আপনার API প্রক্সি দ্বারা রানটাইম KVM তৈরি এবং আপডেটের জন্য, কী ভ্যালু ম্যাপ অপারেশন নীতি ব্যবহার করুন। (নীতিতে, আপনি প্যারেন্ট এলিমেন্টে
mapIdentifier
অ্যাট্রিবিউটে KVM-এর নাম উল্লেখ করেন।)<InitialEntries>
উপাদানটি আপনাকে একটি নতুন KVM-এ এন্ট্রিগুলির একটি বেসলাইন সেট তৈরি করতে এবং পপুলেট করতে দেয় যত তাড়াতাড়ি আপনি UI-তে নীতিটি সংরক্ষণ করেন বা API প্রক্সি স্থাপন করেন (যদি আপনি এটি অফলাইনে বিকাশ করেন)। নীতিতে মান পরিবর্তন হলে, বিদ্যমান মানগুলি ওভাররাইট করা হয়। বিদ্যমান কী/মানগুলির সাথে বিদ্যমান KVM-এ যেকোনো নতুন কী/মান যোগ করা হয়।<Put>
উপাদানটি একটি নতুন KVM তৈরি করে যদি একটি ইতিমধ্যে বিদ্যমান না থাকে এবং এটি এক বা একাধিক মান সহ একটি কী তৈরি করে। যদি KVM ইতিমধ্যেই বিদ্যমান থাকে, সেগুলি কী/মান যোগ করা হয় (বা কীটি ইতিমধ্যেই বিদ্যমান থাকলে আপডেট করা হয়)। আপনি একটি KVM নীতিতে একাধিক<Put>
উপাদান ব্যবহার করতে পারেন।ব্যবস্থাপনা API
ম্যানেজমেন্ট এপিআই হল আপনার এপিআই প্রক্সিতে রানটাইমের পরিবর্তে প্রশাসক হিসেবে কেভিএম-এর সাথে কাজ করার জন্য। উদাহরণস্বরূপ, আপনার কাছে একটি অভ্যন্তরীণ স্ক্রিপ্ট থাকতে পারে যা পরিচালন API ব্যবহার করে একটি পরীক্ষার পরিবেশে KVM গুলি মুছে ফেলতে এবং পুনরায় তৈরি করতে, অথবা আপনি সমস্ত প্রক্সিগুলিকে বাছাই করার জন্য একটি KVM-এ একটি কী এর মান পুনরায় সেট করতে চাইতে পারেন। (KVM-এর রানটাইম ম্যানিপুলেশনের জন্য, আপনার প্রক্সিতে কী ভ্যালু ম্যাপ অপারেশন নীতি ব্যবহার করুন)।
কী/মান মানচিত্র ব্যবস্থাপনা API আপনাকে এনক্রিপ্ট করা KVM এবং কী/মানগুলি সমস্ত স্কোপে (সংস্থা, পরিবেশ এবং অ্যাপিপ্রক্সি) তৈরি করতে, আপডেট করতে এবং মুছতে দেয়।
ব্যবস্থাপনা API এর সাথে একটি এনক্রিপ্ট করা KVM তৈরি করতে, JSON পেলোডে
"encrypted" : "true"
যোগ করুন। আপনি যখন KVM গুলি তৈরি করবেন শুধুমাত্র তখনই এনক্রিপ্ট করতে পারবেন৷ আপনি একটি বিদ্যমান KVM এনক্রিপ্ট করতে পারবেন না।ব্যবস্থাপনা UI
এজ ম্যানেজমেন্ট UI-তে, আপনি পরিবেশ-স্কোপড KVM তৈরি এবং আপডেট করতে পারেন, যেটি KVM-এর একমাত্র সুযোগ যা UI-তে প্রদর্শিত হয়। পরিচালনা UI রানটাইমে API প্রক্সিগুলির জন্য KVM ডেটা ম্যানুয়ালি পরিচালনা করার একটি ভাল উপায়। আরও তথ্যের জন্য পরিবেশের মূল মান মানচিত্র তৈরি এবং সম্পাদনা দেখুন।
KVM পুনরুদ্ধার করা হচ্ছে
আপনি কী মান মানচিত্র অপারেশন নীতির সাথে পুনরুদ্ধার করার সময় একটি সামান্য পরিবর্তনের সাথে একইভাবে এনক্রিপ্ট করা এবং এনক্রিপ্ট করা কী মান মানচিত্র পুনরুদ্ধার করেন।
- নীতি : এনক্রিপ্ট করা এবং এনক্রিপ্ট করা KVM পুনরুদ্ধার করতে কী ভ্যালু ম্যাপ অপারেশন নীতিতে
<Get>
উপাদানটি ব্যবহার করুন। একটি সামান্য পার্থক্য হল নীতির সাথে এনক্রিপ্ট করা মানগুলি পুনরুদ্ধার করা, যেখানে আপনাকে অবশ্যই ভেরিয়েবলের নামের সাথে একটি "private.
" উপসর্গ যোগ করতে হবে যাতে পুনরুদ্ধার করা মান থাকবে, যেমন রেফারেন্স বিষয়ের গেট অপারেশন বিভাগে বর্ণিত হয়েছে৷ আপনি API প্রক্সি ডিবাগ করার সময় এই উপসর্গটি ট্রেস এবং ডিবাগ সেশন থেকে মান লুকায়। - ম্যানেজমেন্ট এপিআই : প্রশাসনিক ব্যবস্থাপনার উদ্দেশ্যে, আপনি কেভিএম এবং কী/মান পেতে পরিবেশ কী মান মানচিত্র তৈরি এবং সম্পাদনা করতে পারেন। উদাহরণস্বরূপ, আপনি যদি JSON সংজ্ঞাগুলি পেয়ে এবং সংরক্ষণ করে KVM গুলি ব্যাক আপ করতে চান তবে ব্যবস্থাপনা API ব্যবহার করুন। সচেতন থাকুন, যদিও, এনক্রিপ্ট করা মানগুলি API প্রতিক্রিয়াতে ***** হিসাবে প্রদর্শিত হয়৷
- ম্যানেজমেন্ট UI : আপনি APIs > Environment Configuration > Key Value Maps (Classic Edge) অথবা Admin > Environments > Key Value Maps (New Edge) এ গিয়ে ম্যানেজমেন্ট UI-তে আপনার পরিবেশ-স্কোপড KVM দেখতে পারেন।
KVM উদাহরণ
একটি URL-এ মান পূরণ করতে একটি KVM ব্যবহার করার উদাহরণের জন্য, https://community.apigee.com/questions/32727/templatize-target-url-with-kvm-by-environment.html দেখুন।