1. ওভারভিউ
ক্লাউড কেএমএস হল একটি ক্লাউড-হোস্টেড কী ম্যানেজমেন্ট পরিষেবা যা আপনাকে আপনার ক্লাউড পরিষেবাগুলির জন্য ক্রিপ্টোগ্রাফিক কীগুলি পরিচালনা করতে দেয় যেভাবে আপনি প্রাঙ্গনে করেন। এতে হার্ডওয়্যার-ব্যাকড কীগুলির জন্য ক্লাউড এইচএসএম সহ বিভিন্ন কী প্রকার এবং উত্স ব্যবহার করে এনক্রিপশন, ডিক্রিপশন, স্বাক্ষর এবং যাচাইকরণের জন্য সমর্থন অন্তর্ভুক্ত রয়েছে। এই টিউটোরিয়ালটি আপনাকে শেখায় কিভাবে সিমেট্রিক ক্লাউড KMS কী ব্যবহার করে ডেটা এনক্রিপ্ট এবং ডিক্রিপ্ট করতে হয়।
আপনি শিখবেন
- ক্লাউড কেএমএস এপিআই কীভাবে সক্ষম করবেন
- কিভাবে একটি ক্লাউড KMS কী রিং তৈরি করবেন
- সিমেট্রিক এনক্রিপশন/ডিক্রিপশনের জন্য কীভাবে একটি ক্লাউড কেএমএস ক্রিপ্টো কী তৈরি করবেন
- কিভাবে একটি প্রতিসম ক্লাউড KMS ক্রিপ্টো কী ঘোরান
2. সেটআপ এবং প্রয়োজনীয়তা
স্ব-গতিসম্পন্ন পরিবেশ সেটআপ
- ক্লাউড কনসোলে সাইন ইন করুন এবং একটি নতুন প্রকল্প তৈরি করুন বা বিদ্যমান একটি পুনরায় ব্যবহার করুন৷ (যদি আপনার ইতিমধ্যেই একটি Gmail বা G Suite অ্যাকাউন্ট না থাকে তবে আপনাকে অবশ্যই একটি তৈরি করতে হবে।)
প্রজেক্ট আইডিটি মনে রাখবেন, সমস্ত Google ক্লাউড প্রকল্প জুড়ে একটি অনন্য নাম (উপরের নামটি ইতিমধ্যে নেওয়া হয়েছে এবং আপনার জন্য কাজ করবে না, দুঃখিত!)। এটি পরে এই কোডল্যাবে PROJECT_ID
হিসাবে উল্লেখ করা হবে।
- এর পরে, Google ক্লাউড সংস্থানগুলি ব্যবহার করার জন্য আপনাকে ক্লাউড কনসোলে বিলিং সক্ষম করতে হবে৷
এই কোডল্যাবের মাধ্যমে চালানোর জন্য খুব বেশি খরচ করা উচিত নয়, যদি কিছু থাকে। "ক্লিনিং আপ" বিভাগে যে কোনও নির্দেশাবলী অনুসরণ করতে ভুলবেন না যা আপনাকে কীভাবে সংস্থানগুলি বন্ধ করতে হবে তা পরামর্শ দেয় যাতে আপনি এই টিউটোরিয়ালের বাইরে বিলিং করতে না পারেন৷ Google ক্লাউডের নতুন ব্যবহারকারীরা $300USD ফ্রি ট্রায়াল প্রোগ্রামের জন্য যোগ্য৷
ক্লাউড শেল শুরু করুন
এই কোডল্যাবে আপনি ক্লাউড শেল ব্যবহার করবেন, একটি বিনামূল্যের ভার্চুয়ালাইজড পরিবেশ যা Google ক্লাউডে চলছে। GCP কনসোল থেকে উপরের ডানদিকে টুলবারে ক্লাউড শেল আইকনে ক্লিক করুন:
পরিবেশের ব্যবস্থা করতে এবং সংযোগ করতে এটি শুধুমাত্র কয়েক মুহূর্ত নিতে হবে। এটি সমাপ্ত হলে, আপনি এই মত কিছু দেখতে হবে:
এই ভার্চুয়াল মেশিনটি আপনার প্রয়োজনীয় সমস্ত ডেভেলপমেন্ট টুল দিয়ে লোড করা হয়েছে। এটি একটি ক্রমাগত 5GB হোম ডিরেক্টরি অফার করে এবং Google ক্লাউডে চলে, যা নেটওয়ার্ক কর্মক্ষমতা এবং প্রমাণীকরণকে ব্যাপকভাবে উন্নত করে। অন্যথায় নির্দেশ না দিলে, এই শেল থেকে সমস্ত কমান্ড চালান।
3. ক্লাউড KMS পরিষেবা সক্ষম করুন৷
আপনি ক্লাউড কেএমএস ব্যবহার করার আগে, আপনাকে প্রথমে আপনার প্রকল্পে পরিষেবাটি সক্ষম করতে হবে৷ এটি শুধুমাত্র প্রতি প্রকল্পের একবার করা প্রয়োজন। ক্লাউড কেএমএস পরিষেবা সক্ষম করতে, নিম্নলিখিত কমান্ডটি চালান:
$ gcloud services enable cloudkms.googleapis.com \ --project "${GOOGLE_CLOUD_PROJECT}"
এটি সক্ষম হতে এক মিনিট পর্যন্ত সময় লাগতে পারে৷ কমান্ডটি শেষ হলে সাফল্যের প্রতিবেদন করবে।
4. KMS কী তৈরি করুন
একটি ক্লাউড KMS কী রিং তৈরি করুন। ক্লাউড কেএমএসে, একটি কী রিং হল ক্রিপ্টোগ্রাফিক কীগুলির একটি যৌক্তিক সংগ্রহ। কী রিং-এ কীগুলি সম্পর্কে মেটাডেটা থাকে যেমন তাদের অবস্থান। global
অঞ্চলে my-keyring
নামে একটি কী রিং তৈরি করুন:
$ gcloud kms keyrings create "my-keyring" \ --location "global"
এখন আপনার তৈরি করা কী রিংয়ের ভিতরে উদ্দেশ্য encryption
সহ my-symmetric-key
নামে একটি ক্রিপ্টো কী তৈরি করুন।
$ gcloud kms keys create "my-symmetric-key" \ --location "global" \ --keyring "my-keyring" \ --purpose "encryption"
5. ডেটা এনক্রিপ্ট করুন
এনক্রিপ্ট করতে ডেটা সহ একটি ফাইল তৈরি করুন এবং ফাইলের ডেটা এনক্রিপ্ট করতে gcloud
কমান্ড লাইন টুল ব্যবহার করুন:
$ echo "my-contents" > ./data.txt
$ gcloud kms encrypt \ --location "global" \ --keyring "my-keyring" \ --key "my-symmetric-key" \ --plaintext-file ./data.txt \ --ciphertext-file ./data.txt.enc
এনক্রিপ্ট করা ডেটা ("সাইফারটেক্সট" নামেও পরিচিত) ডিস্কের data.txt.enc
এ সংরক্ষিত হয়। আপনি data.txt.enc
ফাইলটি খুললে, আপনি লক্ষ্য করবেন যে এটিতে অদ্ভুত, অমুদ্রিত অক্ষর রয়েছে। এর কারণ হল প্রাপ্ত তথ্য বাইনারি বিন্যাসে ।
ডাটাবেসে সাইফারটেক্সট সংরক্ষণ করার সময় বা HTTP অনুরোধের অংশ হিসাবে এটি প্রেরণ করার সময়, আপনাকে ডেটা এনকোড করতে হতে পারে। একটি সাধারণ এনকোডিং প্রক্রিয়া হল base64।
ক্লাউড কেএমএস আপনার সরবরাহ করা প্লেইনটেক্সটগুলির কোনও সংরক্ষণ করে না। আপনাকে একটি সুরক্ষিত স্থানে এই সাইফারটেক্সট সংরক্ষণ করতে হবে কারণ এটি প্লেইনটেক্সট মান পুনরুদ্ধার করতে হবে।
6. ডেটা ডিক্রিপ্ট করুন
gcloud
কমান্ড লাইন টুল ব্যবহার করে ফাইল থেকে সাইফারটেক্সট ডিক্রিপ্ট করুন:
$ gcloud kms decrypt \ --location "global" \ --keyring "my-keyring" \ --key "my-symmetric-key" \ --plaintext-file - \ --ciphertext-file ./data.txt.enc
gcloud
কমান্ড লাইন টুল ফাইল থেকে সাইফারটেক্সট পড়ে এবং ক্লাউড কেএমএস ব্যবহার করে ডিক্রিপ্ট করে। লক্ষ্য করুন এই উদাহরণটি --plaintext-file
আর্গুমেন্টকে -
হিসাবে উল্লেখ করে। এটি gcloud
টার্মিনালে ফলাফল প্রিন্ট করার নির্দেশ দেয়।
কনসোল my-contents
প্রিন্ট করবে, যা উপরের ফাইল থেকে একই প্লেইনটেক্সট মান।
7. কী ঘোরান
ক্লাউড কেএমএসে, একটি ক্রিপ্টো কী আসলে ক্রিপ্টো কী সংস্করণের একটি সংগ্রহ। কী রোটেশন সঞ্চালনের জন্য আপনি নতুন ক্রিপ্টো কী সংস্করণ তৈরি করতে পারেন। ক্লাউড কেএমএস একটি সময়সূচীতে স্বয়ংক্রিয়ভাবে কীগুলি ঘোরাতে পারে।
একটি কী ম্যানুয়ালি ঘোরাতে, একটি নতুন ক্রিপ্টো কী সংস্করণ তৈরি করুন এবং এটিকে প্রাথমিক সংস্করণ হিসাবে সেট করুন:
$ gcloud kms keys versions create \ --location "global" \ --keyring "my-keyring" \ --key "my-symmetric-key" \ --primary
ডেটা এনক্রিপ্ট করার জন্য ভবিষ্যতের সমস্ত অনুরোধ এই নতুন কী ব্যবহার করবে। পুরানো কীগুলি এখনও সেই কীগুলি ব্যবহার করে পূর্বে এনক্রিপ্ট করা ডেটা ডিক্রিপ্ট করার জন্য উপলব্ধ। ক্লাউড কেএমএস স্বয়ংক্রিয়ভাবে প্রদত্ত সাইফারটেক্সটের উপর ভিত্তি করে উপযুক্ত ডিক্রিপশন কী নির্ধারণ করে - ডিক্রিপশনের জন্য কোন ক্রিপ্টো কী সংস্করণ ব্যবহার করতে হবে তা আপনাকে নির্দিষ্ট করতে হবে না।
একটি পুরানো ক্রিপ্টো কী সংস্করণ ব্যবহার করে এনক্রিপ্ট করা সাইফারটেক্সট মানগুলিকে ক্লাউড কেএমএস ব্যবহার করে ডিক্রিপ্ট করা থেকে আটকাতে, আপনি সেই ক্রিপ্টো কী সংস্করণটি নিষ্ক্রিয় বা ধ্বংস করতে পারেন। নিষ্ক্রিয় করা একটি বিপরীত ক্রিয়াকলাপ যেখানে ধ্বংস করা স্থায়ী। একটি সংস্করণ নিষ্ক্রিয় করতে:
$ gcloud kms keys versions disable "1" \ --location "global" \ --keyring "my-keyring" \ --key "my-symmetric-key"
8. অভিনন্দন!
আপনি ক্লাউড KMS API সক্ষম করেছেন, একটি সিমেট্রিক এনক্রিপশন কী তৈরি করেছেন এবং এনক্রিপ্ট করা এবং ডিক্রিপ্ট করা ডেটা! ক্লাউড কেএমএস একটি শক্তিশালী পণ্য এবং এনক্রিপশন/ডিক্রিপশন শুধুমাত্র এর ক্ষমতার পৃষ্ঠকে স্ক্র্যাচ করে।
পরিষ্কার করুন
আপনি যদি অন্বেষণ শেষ করে থাকেন, তাহলে অনুগ্রহ করে আপনার প্রকল্প মুছে ফেলার কথা বিবেচনা করুন।
- ক্লাউড প্ল্যাটফর্ম কনসোলে যান
- আপনি যে প্রকল্পটি বন্ধ করতে চান তা নির্বাচন করুন, তারপরে শীর্ষে "মুছুন" এ ক্লিক করুন৷ এটি মুছে ফেলার জন্য প্রকল্পের সময়সূচী।
আরও জানুন
লাইসেন্স
এই কাজটি ক্রিয়েটিভ কমন্স অ্যাট্রিবিউশন 2.0 জেনেরিক লাইসেন্সের অধীনে লাইসেন্সপ্রাপ্ত।