ডিফল্ট হিসেবে, Cloud Firestore-এ স্টোর করা সব ডেটা Google-এর ডিফল্ট এনক্রিপশন ব্যবহার করে এনক্রিপ্ট করা হয়। Cloud Firestore আপনার হয়ে এই এনক্রিপশন হ্যান্ডেল ও ম্যানেজ করে, এর জন্য আপনাকে অতিরিক্ত কোনও অ্যাকশন নিতে হয় না।
আপনার ডেটা সুরক্ষিত রাখে এমন 'কী' সম্পর্কিত নির্দিষ্ট সম্মতি বা রেগুলেশন সংক্রান্ত প্রয়োজনীয়তা থাকলে, আপনি Cloud Firestore-এর জন্য গ্রাহক-পরিচালিত এনক্রিপশন 'কী' (CMEK) ব্যবহার করতে পারবেন। আপনার ডেটা সুরক্ষিত রাখার জন্য Google-এর এনক্রিপশন কী ম্যানেজ করার পরিবর্তে, আপনার Cloud Firestore ডেটাবেস এমন একটি কী ব্যবহার করে সুরক্ষিত করা হয় যা আপনি Cloud Key Management Service (Cloud KMS)-এ কন্ট্রোল ও ম্যানেজ করেন।
এই পৃষ্ঠায় Cloud Firestore-এর জন্য CMEK-এর বিবরণ দেওয়া আছে। CMEK সম্পর্কে আরও তথ্য, কখন এবং কেন এটি চালু করতে হবে, তা সহ, নিম্নলিখিত Cloud KMS ডকুমেন্টেশন দেখুন:
Cloud Firestore-এর সাথে CMEK-সম্পর্কিত টাস্ক সম্পূর্ণ করার নির্দেশাবলীর জন্য, CMEK ব্যবহার করুন দেখুন।
ফিচার
- ডেটা কন্ট্রোল: CMEK আপনাকে KMS কী ম্যানেজ করতে দেয়। আপনার Cloud Firestore ডেটাবেসে স্টোর করা ডেটা এনক্রিপ্ট করার জন্য ব্যবহৃত 'কী' আপনি রোটেট, বন্ধ ও নষ্ট করতে পারবেন।
- পারফর্ম্যান্স: CMEK-এর কারণে Cloud Firestore SLA-এর উপর কোনও প্রভাব পড়ে না।
- অডিট করার সুবিধা: আপনি যদি Cloud KMS-এর জন্য অডিট লগিং চালু করেন, তাহলে 'কী' সংক্রান্ত সব অপারেশন লগ করা হয় এবং Cloud Logging-এ দেখা যায়।
- সংস্থার নীতি সংক্রান্ত সীমাবদ্ধতা: আপনার সংস্থার Cloud Firestore ডেটাবেসের জন্য এনক্রিপশন সংক্রান্ত সম্মতি সংক্রান্ত প্রয়োজনীয়তা নির্দিষ্ট করতে, আপনি CMEK সংস্থার নীতি সংক্রান্ত সীমাবদ্ধতা ব্যবহার করতে পারবেন।
মূল্য
Cloud KMS-এর জন্য 'কী' এবং সেই 'কী' ব্যবহার করে করা যেকোনও ক্রিপ্টোগ্রাফিক অপারেশনের খরচ চার্জ করা হয়। আরও তথ্যের জন্য, Cloud KMS-এর দাম দেখুন।
Cloud Firestore, Cloud KMS কী-কে এনক্রিপশন বা ডিক্রিপশন অপারেশন পারফর্ম করতে বললে, আপনাকে অপারেশন খরচের জন্য বিল করা হয়। গ্রাহক-পরিচালিত 'কী' দ্বারা এনক্রিপশন বা ডিক্রিপশন অপারেশন প্রতি ৫ মিনিটে হয় এবং ডেটাবেস অনুরোধের সাথে সিঙ্ক করা হয় না। Cloud Firestore-এর মাধ্যমে জেনারেট করা ক্রিপ্টোগ্রাফিক অপারেশনের প্রত্যাশিত সংখ্যা অনুযায়ী, খরচ সাধারণত কম হয়। Cloud অডিট লগের জন্য খরচ হল একটি অতিরিক্ত খরচ, তবে ক্রিপ্টোগ্রাফিক অপারেশনের প্রত্যাশিত সংখ্যা বিবেচনা করে এটি সাধারণত কম হবে বলে আশা করা হচ্ছে।
CMEK-সুরক্ষিত ডেটাবেস ব্যবহার করার জন্য কোনও অতিরিক্ত Cloud Firestore খরচ নেই এবং Cloud Firestore দাম প্রযোজ্য হতে থাকে।
আপনি কোনও ডেটাবেসের জন্য আপনার 'কী' তুলে নিলে, 'কী' উপলভ্য থাকার শেষ দিনে ডেটাবেসের সাইজের উপর ভিত্তি করে স্টোরেজের খরচ চার্জ করা হবে। ডেটাবেস মুছে না দেওয়া পর্যন্ত বা 'কী' আবার উপলভ্য না হওয়া পর্যন্ত, ডেটাবেসের সাইজ অনুযায়ী স্টোরেজের খরচ আপনাকে বহন করতে হবে।
CMEK-এর মাধ্যমে কী সুরক্ষিত করা হয়
আপনি যখন Cloud Firestore CMEK-সুরক্ষিত ডেটাবেস তৈরি করেন, তখন আপনার Cloud KMS 'কী' ব্যবহার করে ডেটা সুরক্ষিত রাখা হয়। এর মধ্যে সেইসব ডেটা অন্তর্ভুক্ত থাকে যা আপনি ডিস্ক বা ফ্ল্যাশ ড্রাইভে স্টোর করেন, যার মধ্যে ইনডেক্স ও ব্যাক-আপও পড়ে। কিছু ব্যতিক্রম প্রযোজ্য। নিম্নলিখিত ডেটার ধরন Google-এর ডিফল্ট এনক্রিপশন দ্বারা এনক্রিপ্ট করা হয়, CMEK 'কী' দ্বারা নয়:
- ট্রানজিটে বা মেমরিতে থাকা ডেটা
- ডেটাবেস মেটাডেটা
কী-এর স্ট্যাটাস উপলভ্য না থাকলে কীভাবে তা ম্যানেজ করা হয়
প্রতিটি ডেটা অনুরোধে এনক্রিপ্ট ও ডিক্রিপ্ট অপারেশন ইস্যু করা হয় না। পরিবর্তে, Cloud Firestore সিস্টেম প্রতি ৫ মিনিটে Cloud KMS পোল করে 'কী' এখনও উপলভ্য আছে কিনা তা চেক করে এবং 'কী' উপলভ্য থাকলে এনক্রিপ্ট ও ডিক্রিপ্ট অপারেশন পারফর্ম করে।
সিস্টেম যদি শনাক্ত করে যে 'কী' উপলভ্য নেই, তাহলে ১০ মিনিটের মধ্যে
Cloud Firestore ডেটাবেসে করা পরবর্তী যেকোনও কল, যার মধ্যে রিড,
রাইট ও কোয়েরি অন্তর্ভুক্ত, তা নিম্নলিখিত মেসেজ সহ
INVALID_ARGUMENT সমস্যার কথা জানায়:
The customer-managed encryption key required by the requested
resource is not accessible.
ডেটাবেসে টাইম-টু-লাইভ (TTL) নীতি থাকলে এবং 'কী' উপলভ্য না থাকার সময় কোনও মেয়াদ শেষ হওয়ার সময় পেরিয়ে গেলে, 'কী' রিস্টোর না করা পর্যন্ত TTL-এর মাধ্যমে ডেটা মুছে ফেলা বিলম্বিত হবে। ডেটাবেসে দীর্ঘ সময় ধরে চলা অপারেশন প্রসেসে থাকলে, সেগুলি নিম্নলিখিতভাবে প্রভাবিত হবে:
- ইনডেক্স বিল্ড অপারেশন এবং নতুন TTL নীতি চালু করার অপারেশন আর প্রোগ্রেস করবে না। বন্ধ হয়ে যাওয়া অপারেশন আবার চেষ্টা করা হবে যদি কী রিস্টোর করা হয়।
এমন যেকোনও পরিস্থিতিতে 'কী' উপলভ্য নেই বলে বিবেচনা করা হয় যেখানে ইচ্ছাকৃতভাবে Cloud Firestore-কে 'কী' অ্যাক্সেস করার অনুমতি দেওয়া হয় না। এর মধ্যে পড়ে:
- ব্যবহার করা হচ্ছে এমন 'কী' ভার্সন বন্ধ বা নষ্ট করা। কোনও 'কী' ভার্সন নষ্ট করার সময় সতর্ক থাকুন, কারণ এর ফলে ডেটা হারিয়ে যেতে পারে যা আর ফিরিয়ে আনা যাবে না।
- Cloud Firestore পরিষেবা অ্যাকাউন্ট থেকে 'কী' অ্যাক্সেস করার অনুমতি সরানো হচ্ছে।
'কী' রিস্টোর করা হলে, পোলিং অপারেশন শনাক্ত করে যে 'কী' আবার উপলভ্য হয়েছে। অ্যাক্সেস আবার চালু করা হয়, সাধারণত কয়েক মিনিটের মধ্যে, তবে বিরল ক্ষেত্রে কয়েক ঘণ্টা পর্যন্ত সময় লাগতে পারে। মনে রাখবেন, Cloud KMS কী-তে কিছু অপারেশন, যেমন কোনও কী বন্ধ বা নষ্ট করে দেওয়া, প্রোপাগেট করতে ৩ ঘণ্টা পর্যন্ত সময় লাগতে পারে। Cloud KMS-এ কোনও পরিবর্তন কার্যকর না হওয়া পর্যন্ত Cloud Firestore তা শনাক্ত করে না।
পরিস্থিতির উপর নির্ভর করে, কোনও কী রিস্টোর করার মধ্যে নিম্নলিখিত বিষয়গুলি অন্তর্ভুক্ত থাকে:
- বন্ধ করা 'কী' ভার্সন আবার চালু করা।
- নষ্ট হয়ে যাওয়া 'কী' ভার্সন রিস্টোর করা। স্থায়ীভাবে নষ্ট করার আগে, 'কী' ভার্সন নষ্ট করার জন্য শিডিউল করা হয়। আপনি শুধুমাত্র সেই সময়কালের মধ্যে একটি 'কী' রিস্টোর করতে পারবেন যখন একটি 'কী' ভার্সন ধ্বংস করার জন্য শিডিউল করা হয়। আপনি এমন কোনও 'কী' ফিরিয়ে আনতে পারবেন না যা আগেই স্থায়ীভাবে নষ্ট করে দেওয়া হয়েছে।
- Cloud Firestore পরিষেবা এজেন্টকে 'কী' অ্যাক্সেস করার অনুমতি আবার দেওয়া হচ্ছে।
কী রোটেশন সংক্রান্ত গুরুত্বপূর্ণ বিষয়
আপনি CMEK কী রোটেট করলে, Cloud Firestore CMEK কী-এর লেটেস্ট প্রাইমারি ভার্সন দিয়ে ডেটাবেস আবার এনক্রিপ্ট করে। আবার এনক্রিপ্ট করার প্রক্রিয়া চলাকালীন, আগের ও নতুন, দুটি 'কী' ভার্সনই উপলভ্য রাখুন। আবার এনক্রিপ্ট করার প্রসেস সম্পূর্ণ হয়ে গেলে, CMEK কী-এর আগের ভার্সন বন্ধ বা মুছে দিলে ডেটাবেসের অ্যাক্সেস বন্ধ হবে না, কারণ এটি নতুন প্রাইমারি কী ভার্সন দিয়ে এনক্রিপ্ট করা হয়েছে।
এছাড়াও, আপনি ডেটাবেস সুরক্ষিত করার জন্য ব্যবহার করা হচ্ছে এমন 'কী' ভার্সন দেখতে পারবেন। আরও তথ্যের জন্য, ব্যবহার করা হচ্ছে এমন 'কী' দেখুন।
এক্সটার্নাল Key Considerations
আপনি Cloud EKM কী ব্যবহার করলে, এক্সটার্নাল কী ম্যানেজমেন্ট পার্টনার সিস্টেমে আপনার এক্সটার্নালি-ম্যানেজ করা কী-এর উপলভ্যতার উপর Google-এর কোনও নিয়ন্ত্রণ থাকে না।
এক্সটার্নালি-ম্যানেজ করা 'কী' উপলভ্য না থাকলে, Cloud Firestore সর্বাধিক এক ঘণ্টার জন্য 'কী'-এর ক্যাশে করা ভার্সন ব্যবহার করে সম্পূর্ণ ডেটাবেস অপারেশন চালিয়ে যায়।
এক ঘণ্টা পরে, Cloud Firestore যদি এখনও Cloud KMS-এর সাথে কানেক্ট করতে না পারে,
তাহলে Cloud Firestore সুরক্ষামূলক ব্যবস্থা হিসেবে
ডেটাবেস অফলাইন করা শুরু করে। ডেটাবেসে কল করা হলে তা সম্পূর্ণ করা যাবে না এবং
INVALID_ARGUMENT সমস্যার মেসেজ দেখানো হবে, যার মধ্যে অতিরিক্ত বিবরণ থাকবে।
এক্সটার্নাল 'কী' ব্যবহার করার সময় আরও বিবেচনার জন্য Cloud External Key Manager ডকুমেন্টেশন দেখুন।
ব্যাক-আপ নেওয়া এবং ফিরিয়ে আনা
ব্যাক-আপে সেই একই এনক্রিপশন মেকানিজম ব্যবহার করা হয় যা আপনি যে ডেটাবেস থেকে এটি তৈরি করেছেন সেখানে ব্যবহার করা হয়েছে। CMEK-সুরক্ষিত Cloud Firestore ডেটাবেস ব্যাক-আপ তৈরি করার সময়, ব্যাক-আপ তৈরি করার সময় ব্যবহৃত প্রাথমিক কী ভার্সন দিয়ে ব্যাক-আপ এনক্রিপ্ট করে।
ব্যাক-আপ শিডিউল চালু করার ২৪ ঘণ্টা পরে Cloud Firestore CMEK ডেটাবেসের প্রথম ব্যাক-আপ তৈরি করে।
Cloud Firestore ব্যাকআপ সম্পর্কে আরও তথ্যের জন্য, ডেটার ব্যাক-আপ নেওয়া ও ফিরিয়ে আনা দেখুন।
ব্যাক-আপ থেকে ফিরিয়ে আনা ডেটাবেস ডিফল্ট হিসেবে ব্যাক-আপের মতো একই এনক্রিপশন মেকানিজম ব্যবহার করে। আপনি কোনও ডেটাবেস রিস্টোর করার সময়, নিম্নলিখিত উপায়ে আলাদা এনক্রিপশনের ধরন উল্লেখ করতে পারবেন:
- নতুনভাবে নির্দিষ্ট করা 'কী' ব্যবহার করে CMEK ডেটাবেসে রিস্টোর করুন।
- নন-CMEK ডেটাবেসে রিস্টোর করুন যা Google-এর ডিফল্ট এনক্রিপশন ব্যবহার করে।
- ব্যাক-আপের মতো একই এনক্রিপশন ব্যবহার করে এমন ডেটাবেসে রিস্টোর করুন।
ব্যাক-আপ থেকে Cloud Firestore ডেটাবেস ফিরিয়ে আনা সম্পর্কে আরও তথ্যের জন্য, ডেটাবেস ব্যাক-আপ থেকে ডেটা ফিরিয়ে আনা দেখুন। ব্যাক-আপ থেকে CMEK-সুরক্ষিত Cloud Firestore ডেটাবেস রিস্টোর করার ব্যাপারে আরও তথ্য পেতে, CMEK-সুরক্ষিত ডেটাবেস রিস্টোর করুন দেখুন।
ক্লোন
ডিফল্ট হিসেবে, অন্য ডেটাবেস থেকে ক্লোন করা ডেটাবেস সোর্স ডেটাবেসের মতো একই এনক্রিপশন মেকানিজম ব্যবহার করে। আপনি কোনও ডেটাবেস ক্লোন করার সময়, নিম্নলিখিত উপায়ে অন্য এনক্রিপশনের ধরন উল্লেখ করতে পারবেন:
- নতুনভাবে নির্দিষ্ট করা কী ব্যবহার করে CMEK ডেটাবেসে ক্লোন করুন।
- নন-CMEK ডেটাবেসে ক্লোন করুন যা Google-এর ডিফল্ট এনক্রিপশন ব্যবহার করে।
- (ডিফল্ট) সোর্স ডেটাবেসের মতো একই এনক্রিপশন ব্যবহার করে এমন ডেটাবেসে ক্লোন করুন।
Cloud Firestore ডেটাবেস ক্লোন করা সম্পর্কে আরও তথ্যের জন্য, ডেটাবেস ক্লোন করুন দেখুন। CMEK-সুরক্ষিত Cloud Firestore ডেটাবেস ক্লোন করার ব্যাপারে আরও তথ্যের জন্য, CMEK-সুরক্ষিত ডেটাবেস ক্লোন করুন দেখুন।
কী ট্র্যাকিং
আপনি 'কী' ট্র্যাকিং ব্যবহার করে রিসোর্স দেখতে পারবেন, যেমন, Cloud Firestore ডেটাবেস, যা একটি 'কী' সুরক্ষিত করে। কী ট্র্যাকিং সম্পর্কে আরও তথ্যের জন্য, কী-এর ব্যবহার দেখুন।
CMEK এবং 'কী' উপলভ্যতা
'কী' উপলভ্য না থাকলে বা বন্ধ করা থাকলে, CMEK-চালু করা ডেটাবেসে নিম্নলিখিত আচরণ হতে পারে:
আপনি এমন CMEK ডেটাবেস মুছে দিতে পারবেন যার 'কী' উপলভ্য নেই।
আপনি CMEK-চালু করা ডেটাবেস তৈরি করলে, বন্ধ করা 'কী' Google Cloud কনসোলে উপলভ্য 'কী'-এর তালিকায় দেখানো হয় না। আপনি ম্যানুয়ালি বন্ধ করা কী ইনপুট করলে, ডেটাবেস তৈরি করার প্রসেস
INVALID_ARGUMENTএরর ৪০০-এর সাথে ব্যর্থ হবে।
সীমাবদ্ধতা
CMEK-সুরক্ষিত ডেটাবেসের জন্য আপনি 'কী' পরিবর্তন করতে পারবেন না। আপনি 'কী' রোটেট, চালু ও বন্ধ করতে পারবেন।
আগে থেকে থাকা ডেটাবেসে আপনি CMEK চালু করতে পারবেন না। আপনি শুধুমাত্র নতুন ডেটাবেসে CMEK চালু করতে পারবেন এবং ডেটাবেস তৈরি করার সময় আপনাকে এটি চালু করতে হবে। আগে থেকে থাকা CMEK-নয় এমন ডেটাবেস থেকে CMEK-সুরক্ষিত ডেটাবেসে ডেটা মাইগ্রেট করতে, আপনার ডেটা এক্সপোর্ট করুন এবং তারপরে নতুন CMEK-সুরক্ষিত ডেটাবেসে ডেটা ইমপোর্ট করুন। এছাড়াও, আপনি CMEK নয় এমন ডেটাবেস থেকে CMEK ডেটাবেসে ডেটা রিস্টোর বা ক্লোন করতে পারবেন।
Cloud Firestore-এ সীমিত সংখ্যক CMEK-সুরক্ষিত ডেটাবেস কাজ করে।