মূল মান মানচিত্র সঙ্গে কাজ

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

এমন সময় আসে যখন আপনি রানটাইমে পুনরুদ্ধারের জন্য ডেটা সংরক্ষণ করতে চান—মেয়াদ উত্তীর্ণ না হওয়া ডেটা যা আপনার API প্রক্সি লজিকে হার্ড-কোড করা উচিত নয়। কী ভ্যালু ম্যাপ (KVM) এর জন্য আদর্শ। KVM হল কী/মান স্ট্রিং জোড়ার একটি কাস্টম সংগ্রহ যা হয় এনক্রিপ্ট করা হয় বা এনক্রিপ্ট করা হয় না। এখানে দুটি উদাহরণ দেওয়া হল:

অন্যান্য ধরণের স্থায়িত্ব সম্পর্কে জানতে, ক্যাশিং এবং স্থায়িত্ব যোগ করা দেখুন।

KVM পরিস্থিতি

এখানে কিছু পরিস্থিতির উল্লেখ করা হল যেখানে KVM গুলি কাজে আসে:

  • আপনার একটি API প্রক্সি আছে যার জন্য একটি টার্গেট (অথবা সার্ভিস কলআউট) URL একটি টেস্ট এনভায়রনমেন্টে এবং অন্য একটি টার্গেট URL একটি প্রোডাকশন এনভায়রনমেন্টে কল করতে হবে। আপনার প্রক্সিতে হার্ড-কোডিং URL গুলির পরিবর্তে, আপনি প্রক্সিটি কোন পরিবেশে আছে তা সনাক্ত করতে পারেন, সম্পর্কিত কী ভ্যালু ম্যাপ অপারেশন নীতি কার্যকর করতে পারেন এবং আপনার তৈরি করা KVM গুলির মধ্যে একটি থেকে সঠিক টার্গেট URL পুনরুদ্ধার করতে পারেন। এবং পরে, যদি আপনার একটি বা উভয় টার্গেট পরিবর্তন হয়, তাহলে আপনি কেবল নতুন URL গুলি দিয়ে KVM গুলি আপডেট করতে পারেন। প্রক্সি নতুন মানগুলি তুলে নেয় এবং কোনও প্রক্সি পুনঃস্থাপনের প্রয়োজন হয় না।
  • আপনি ক্রেডেনশিয়াল, প্রাইভেট কী, অথবা টোকেন সংরক্ষণ করতে চান—যেমন এক্সটার্নাল সার্ভিসের জন্য টোকেন, OAuth টোকেন তৈরি করার জন্য প্রয়োজনীয় ক্রেডেনশিয়াল, অথবা জাভা কলআউটে ব্যবহৃত প্রাইভেট কী অথবা এনক্রিপশন বা JSON ওয়েব টোকেন (JWT) সাইনিং এর জন্য জাভাস্ক্রিপ্ট। রিকোয়েস্টে ক্রেডেনশিয়াল, কী, অথবা টোকেন পাস করার পরিবর্তে, অথবা আপনার প্রক্সি লজিকে হার্ড-কোড করার পরিবর্তে, আপনি এগুলিকে একটি KVM (সর্বদা এনক্রিপ্ট করা) এ সংরক্ষণ করতে পারেন এবং যে লক্ষ্যগুলিতে তাদের প্রয়োজন হয় সেখানে কল করার সময় গতিশীলভাবে সেগুলি পুনরুদ্ধার করতে পারেন।

আপনি অন্যান্য পরিস্থিতি আবিষ্কার করবেন যেখানে কী/মান স্ট্রিং জোড়া সংরক্ষণ করা কার্যকর। সাধারণভাবে, KVM ব্যবহার করার কথা বিবেচনা করুন যখন:

  • আপনার কোডের নির্দিষ্ট স্থানগুলির জন্য রানটাইমে বিভিন্ন মান প্রয়োজন।
  • সংবেদনশীল তথ্য হার্ড-কোডিং ছাড়াই পাস করতে হবে।
  • আপনি এমন মান সংরক্ষণ করতে চান যা ক্যাশের মতো মেয়াদোত্তীর্ণ হয় না।

KVM-এর সুযোগ আছে

স্কোপ বলতে বোঝায় "যেখানে একটি KVM উপলব্ধ।" KVM গুলি নিম্নলিখিত স্কোপগুলিতে তৈরি করা যেতে পারে: organization , environment , এবং apiproxy

উদাহরণস্বরূপ, যদি শুধুমাত্র একটি API প্রক্সির জন্য একটি KVM-এ ডেটার প্রয়োজন হয়, তাহলে আপনি apiproxy স্কোপে KVM তৈরি করতে পারেন, যেখানে শুধুমাত্র সেই API প্রক্সিই ডেটা অ্যাক্সেস করতে পারবে।

অথবা আপনি আপনার পরীক্ষার পরিবেশের সমস্ত API প্রক্সিগুলিকে একটি কী ভ্যালু ম্যাপে অ্যাক্সেস দিতে চাইতে পারেন, সেই ক্ষেত্রে আপনি পরিবেশ স্কোপে একটি কী ভ্যালু ম্যাপ তৈরি করবেন। "prod" পরিবেশে স্থাপন করা প্রক্সিগুলি "test" পরিবেশ স্কোপে KVM অ্যাক্সেস করতে পারে না। আপনি যদি একই KVM কীগুলি উৎপাদনে উপলব্ধ করতে চান, তাহলে "prod" পরিবেশের সাথে সংযুক্ত একটি সমান্তরাল KVM তৈরি করুন।

যদি আপনি চান যে সকল পরিবেশের সকল প্রক্সি একই KVM অ্যাক্সেস করুক, তাহলে organization স্কোপে KVM তৈরি করুন।

এনক্রিপ্ট করা KVM সম্পর্কে

এনক্রিপ্ট করা KVM গুলি Apigee-জেনারেটেড AES-128 সাইফার কী দিয়ে এনক্রিপ্ট করা হয়। KVM এনক্রিপ্ট করার জন্য ব্যবহৃত কী KVM-এর স্কোপে সংরক্ষণ করা হয়। উদাহরণস্বরূপ, একটি প্রতিষ্ঠানের মধ্যে, পরিবেশ স্কোপে আপনার তৈরি সমস্ত এনক্রিপ্ট করা KVM একই পরিবেশ-স্কোপযুক্ত কী ব্যবহার করে তৈরি করা হয়।

এজ নিম্নলিখিত উপায়ে এনক্রিপ্ট করা মান প্রদর্শন পরিচালনা করে। (এনক্রিপ্ট করা KVM তৈরির তথ্যের জন্য KVM পরিচালনা এবং ব্যবহার দেখুন।)

এজ ইউআই

এনক্রিপ্ট করা কী মান মানচিত্রগুলি UI (*****) তে তারকাচিহ্ন দিয়ে মুখোশযুক্ত মান প্রদর্শন করে। উদাহরণস্বরূপ:

ম্যানেজমেন্ট এপিআই

ম্যানেজমেন্ট API-তে, এনক্রিপ্ট করা মানগুলি মুখোশযুক্ত অবস্থায় ফেরত পাঠানো হয়। একটি Get encrypted KVM কলে নমুনা ম্যানেজমেন্ট API প্রতিক্রিয়া নিম্নরূপ:

{
  "encrypted": true,
  "entry": [
    {
      "name": "Key1",
      "value": "*****"
    },
    {
      "name": "Key2",
      "value": "*****"
    }
  ],
  "name": "secretMap"
}

ট্রেস এবং ডিবাগ

যখন আপনি এনক্রিপ্ট করা KVM মান পুনরুদ্ধারের জন্য Key Value Map Operations নীতি ব্যবহার করেন, তখন আপনি মান সংরক্ষণের জন্য একটি ভেরিয়েবলের নাম সরবরাহ করেন। একটি এনক্রিপ্ট করা মান পেতে, আপনাকে ভেরিয়েবলের নামের সাথে " private. " প্রিফিক্স যোগ করতে হবে, যা KVM কী/মানগুলিকে ট্রেস এবং ডিবাগ সেশনে উপস্থিত হতে বাধা দেয়।

সীমা

কোর পারসিস্টেন্স সার্ভিসেস (CPS) সক্ষম প্রতিষ্ঠানগুলিতে:

  • KVM নাম/শনাক্তকারী কেস সংবেদনশীল।
  • কী সাইজ ২ কিলোবাইট পর্যন্ত সীমাবদ্ধ।
  • মান আকার ১০ কেবি পর্যন্ত সীমাবদ্ধ।

Apigee Edge for Private Cloud-এর ক্ষেত্রে, প্রতিটি KVM 15MB-এর বেশি হওয়া উচিত নয় (এটি কী এবং মানের সম্মিলিত আকার)। যদি আপনি এই সীমা অতিক্রম করেন, তাহলে Apigee Edge for Private Cloud একটি ত্রুটি ফেরত পাঠাবে। আপনার KVM-এর আকার নির্ধারণ করতে, আপনি nodetool cfstats কমান্ড ব্যবহার করতে পারেন।

বৃহত্তর KVM-এর ফলে কর্মক্ষমতা হ্রাস পেতে পারে। ফলস্বরূপ, কর্মক্ষমতা উন্নত করার জন্য আপনার বৃহৎ, একচেটিয়া KVM-গুলিকে ছোট ছোট ভাগে ভাগ করা উচিত।

KVM পরিচালনা এবং ব্যবহার

আপনি বিভিন্ন উপায়ে KVM তৈরি, পরিচালনা এবং ব্যবহার করতে পারেন। এই বিভাগটি এনক্রিপ্ট করা এবং এনক্রিপ্ট না করা উভয় ধরণের KVM তৈরি, তারপর পুনরুদ্ধার করার বিভিন্ন বিকল্প বর্ণনা করে।

KVM তৈরি এবং আপডেট করা হচ্ছে

আপনি নিম্নলিখিত উপায়ে KVM তৈরি এবং আপডেট করতে পারেন:

  • কী ভ্যালু ম্যাপ অপারেশন নীতি (কোনও এনক্রিপশন নেই)

    আপনার API প্রক্সি দ্বারা রানটাইম KVM তৈরি এবং আপডেটের জন্য, Key Value Map Operations নীতি ব্যবহার করুন। (নীতিমালায়, আপনি প্যারেন্ট এলিমেন্টের mapIdentifier অ্যাট্রিবিউটে KVM-এর নাম উল্লেখ করবেন।)

    <InitialEntries> উপাদানটি আপনাকে UI-তে নীতি সংরক্ষণ করার সাথে সাথে অথবা API প্রক্সি স্থাপন করার সাথে সাথে একটি নতুন KVM-এ একটি বেসলাইন এন্ট্রি সেট তৈরি এবং পূরণ করতে দেয় (যদি আপনি এটি অফলাইনে তৈরি করে থাকেন)। যদি নীতিতে মান পরিবর্তন হয়, তাহলে বিদ্যমান মানগুলি ওভাররাইট করা হয়। বিদ্যমান কী/মানগুলির পাশাপাশি বিদ্যমান KVM-এ যেকোনো নতুন কী/মান যোগ করা হয়।

    <Put> উপাদানটি যদি ইতিমধ্যেই বিদ্যমান না থাকে তবে একটি নতুন KVM তৈরি করে এবং এটি এক বা একাধিক মান সহ একটি কী তৈরি করে। যদি KVM ইতিমধ্যেই বিদ্যমান থাকে, তবে সেগুলি কী/মান যোগ করা হয় (অথবা যদি কী ইতিমধ্যেই বিদ্যমান থাকে তবে আপডেট করা হয়)। আপনি একটি KVM নীতিতে একাধিক <Put> উপাদান ব্যবহার করতে পারেন।

  • ম্যানেজমেন্ট এপিআই

    ম্যানেজমেন্ট API হল আপনার API প্রক্সিতে রানটাইম চলাকালীন KVM গুলির সাথে অ্যাডমিনিস্ট্রেটর হিসেবে কাজ করার জন্য। উদাহরণস্বরূপ, আপনার কাছে একটি অভ্যন্তরীণ স্ক্রিপ্ট থাকতে পারে যা পরীক্ষার পরিবেশে KVM গুলি মুছে ফেলা এবং পুনরায় তৈরি করার জন্য ম্যানেজমেন্ট API ব্যবহার করে, অথবা আপনি সমস্ত প্রক্সির জন্য KVM তে একটি কী এর মান রিসেট করতে চাইতে পারেন। (KVM গুলির রানটাইম ম্যানিপুলেশনের জন্য, আপনার প্রক্সিতে কী ভ্যালু ম্যাপ অপারেশন নীতি ব্যবহার করুন)।

    কী/মান মানচিত্র ব্যবস্থাপনা API আপনাকে সমস্ত স্কোপে (সংগঠন, পরিবেশ এবং এপিপ্রক্সি) এনক্রিপ্ট করা KVM এবং কী/মান তৈরি, আপডেট এবং মুছে ফেলতে দেয়।

    ম্যানেজমেন্ট API ব্যবহার করে একটি এনক্রিপ্ট করা KVM তৈরি করতে, JSON পেলোডে "encrypted" : "true" যোগ করুন। আপনি যখন KVM তৈরি করবেন তখনই কেবল এনক্রিপ্ট করতে পারবেন। আপনি বিদ্যমান KVM এনক্রিপ্ট করতে পারবেন না।

  • ব্যবস্থাপনা UI

    এজ ম্যানেজমেন্ট UI-তে, আপনি পরিবেশ-ভিত্তিক KVM তৈরি এবং আপডেট করতে পারেন, যা UI-তে প্রদর্শিত KVM-এর একমাত্র সুযোগ। রানটাইমের সময় API প্রক্সিগুলির জন্য KVM ডেটা ম্যানুয়ালি পরিচালনা করার জন্য ম্যানেজমেন্ট UI একটি ভাল উপায়। আরও তথ্যের জন্য পরিবেশ কী মান মানচিত্র তৈরি এবং সম্পাদনা দেখুন।

KVM গুলি পুনরুদ্ধার করা হচ্ছে

আপনি এনক্রিপ্ট করা এবং এনক্রিপ্ট না করা কী ভ্যালু ম্যাপ একইভাবে পুনরুদ্ধার করতে পারবেন, কী ভ্যালু ম্যাপ অপারেশন নীতি ব্যবহার করে পুনরুদ্ধার করার সময় সামান্য পরিবর্তনের সাথে।

  • নীতি : এনক্রিপ্ট করা এবং এনক্রিপ্ট না করা KVM গুলি পুনরুদ্ধার করতে Key Value Map Operations নীতিতে <Get> উপাদানটি ব্যবহার করুন। একটি সামান্য পার্থক্য হল নীতির সাথে এনক্রিপ্ট করা মানগুলি পুনরুদ্ধার করা, যেখানে আপনাকে ভেরিয়েবলের নামের সাথে একটি " private. " উপসর্গ যোগ করতে হবে যাতে পুনরুদ্ধার করা মান থাকবে, যেমনটি রেফারেন্স বিষয়ের Get operation বিভাগে বর্ণিত হয়েছে। API প্রক্সি ডিবাগ করার সময় এই উপসর্গটি ট্রেস এবং ডিবাগ সেশন থেকে মানটি লুকিয়ে রাখে।
  • ম্যানেজমেন্ট API : প্রশাসনিক ব্যবস্থাপনার উদ্দেশ্যে, আপনি KVM এবং কী/মান পেতে পরিবেশ তৈরি এবং সম্পাদনা কী মান মানচিত্র ব্যবহার করতে পারেন। উদাহরণস্বরূপ, যদি আপনি JSON সংজ্ঞাগুলি পেয়ে এবং সংরক্ষণ করে KVM গুলির ব্যাকআপ নিতে চান, তাহলে ম্যানেজমেন্ট API ব্যবহার করুন। তবে মনে রাখবেন যে এনক্রিপ্ট করা মানগুলি API প্রতিক্রিয়াতে ***** হিসাবে প্রদর্শিত হয়।
  • ম্যানেজমেন্ট UI : আপনি APIs > Environment Configuration > Key Value Maps (Classic Edge) অথবা Admin > Environments > Key Value Maps (New Edge) -এ গিয়ে আপনার পরিবেশ-ভিত্তিক KVM গুলি ম্যানেজমেন্ট UI-তে দেখতে পারেন।

KVM উদাহরণ

একটি URL-এ মান পূরণ করার জন্য KVM ব্যবহারের উদাহরণের জন্য, পরিবেশ অনুসারে KVM দিয়ে লক্ষ্য URL টেমপ্লেটাইজ করুন দেখুন।