ডিফল্ট হিসেবে, 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 Audit Logs-এর খরচ হল অতিরিক্ত খরচ, তবে ক্রিপ্টোগ্রাফিক অপারেশনের প্রত্যাশিত সংখ্যা বিবেচনা করে এটিও সাধারণত কম হবে বলে আশা করা হচ্ছে।
CMEK-সুরক্ষিত ডেটাবেস ব্যবহার করার জন্য কোনও অতিরিক্ত Cloud Firestore খরচ নেই এবং Cloud Firestore মূল্য প্রযোজ্য হতে থাকে।
আপনি কোনও ডেটাবেসের জন্য আপনার 'কী' তুলে নিলে, 'কী' উপলভ্য থাকার শেষ দিনে ডেটাবেসের সাইজের উপর ভিত্তি করে স্টোরেজের খরচ চার্জ করা হবে। ডেটাবেস মুছে না দেওয়া পর্যন্ত বা 'কী' আবার উপলভ্য না হওয়া পর্যন্ত, ডেটাবেসের সাইজ অনুযায়ী স্টোরেজের খরচ আপনাকে বহন করতে হবে।
CMEK-এর মাধ্যমে কী সুরক্ষিত করা হয়
আপনি যখন Cloud Firestore CMEK-সুরক্ষিত ডেটাবেস তৈরি করেন, তখন আপনার Cloud KMS 'কী' ব্যবহার করে ডেটা সুরক্ষিত রাখা হয়। এর মধ্যে এমন ডেটা অন্তর্ভুক্ত যা আপনি ডিস্ক বা ফ্ল্যাশ ড্রাইভে স্টোর করেন, যার মধ্যে ইনডেক্স ও ব্যাক-আপও রয়েছে। কিছু ব্যতিক্রম প্রযোজ্য। নিম্নলিখিত ডেটার ধরন Google-এর ডিফল্ট এনক্রিপশন দ্বারা এনক্রিপ্ট করা হয়, CMEK 'কী' দ্বারা নয়:
- ট্রানজিটে বা মেমরিতে থাকা ডেটা
- ডেটাবেস মেটাডেটা
কী-এর স্ট্যাটাস উপলভ্য না থাকলে কীভাবে তা ম্যানেজ করা হয়
প্রতিটি ডেটা অনুরোধে এনক্রিপ্ট ও ডিক্রিপ্ট অপারেশন ইস্যু করা হয় না। পরিবর্তে, Cloud Firestore সিস্টেম প্রতি ৫ মিনিট অন্তর Cloud KMS পোল করে দেখে যে 'কী' এখনও উপলভ্য আছে কিনা এবং 'কী' উপলভ্য থাকলে এনক্রিপ্ট ও ডিক্রিপ্ট অপারেশন পারফর্ম করে।
সিস্টেম যদি শনাক্ত করে যে 'কী' উপলভ্য নেই, তাহলে ১০ মিনিটের মধ্যে
Cloud Firestore ডেটাবেসে করা পরবর্তী যেকোনও কল,
যার মধ্যে রিড, রাইট ও কোয়েরি অন্তর্ভুক্ত, The customer-managed encryption key required by the requested
resource is not accessible মেসেজ সহ
FAILED_PRECONDITION সমস্যার মেসেজ দেখায়।
ডেটাবেসে টাইম-টু-লাইভ (TTL) নীতি থাকলে এবং 'কী' উপলভ্য না থাকার সময় কোনও মেয়াদ শেষ হওয়ার সময় পেরিয়ে গেলে, 'কী' রিস্টোর না করা পর্যন্ত TTL-এর মাধ্যমে ডেটা মুছে দেওয়ার প্রসেস পিছিয়ে দেওয়া হবে। ডেটাবেসে দীর্ঘ সময় ধরে চলা অপারেশন প্রসেসে থাকলে, সেগুলি নিম্নলিখিতভাবে প্রভাবিত হবে:
- ডেটা ইমপোর্ট বা এক্সপোর্ট করার প্রসেস আর এগোবে না এবং
Failedহিসেবে চিহ্নিত করা হবে। কী রিস্টোর করা হলে, সম্পূর্ণ না হওয়া অপারেশন আবার চেষ্টা করা হবে না। - ইনডেক্স বিল্ড অপারেশন এবং নতুন 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 সুরক্ষামূলক ব্যবস্থা হিসেবে ডেটাবেস অফলাইন করা শুরু করে। ডেটাবেসে কল করা হলে, FAILED_PRECONDITION
সমস্যার কারণে তা সম্পূর্ণ করা যাবে না এবং এতে অতিরিক্ত বিবরণ অন্তর্ভুক্ত থাকবে।
এক্সটার্নাল কী ব্যবহার করার ব্যাপারে আরও তথ্য পেতে 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-চালু থাকা ডেটাবেসে আপনি Cloud Firestore পয়েন্ট-ইন-টাইম রিকভারি (PITR) সেটিংস পরিবর্তন করতে পারবেন, কারণ PITR সেটিংস হল ডেটাবেস মেটাডেটা, যা CMEK-এর মাধ্যমে এনক্রিপ্ট করা হয় না।
- আপনি এমন CMEK ডেটাবেস মুছে দিতে পারবেন যার 'কী' উপলভ্য নেই।
- আপনি CMEK-চালু করা ডেটাবেস তৈরি করলে, বন্ধ করা 'কী' Google Cloud কনসোলে উপলভ্য 'কী'-এর তালিকায় দেখানো হয় না। আপনি ম্যানুয়ালি কোনও বন্ধ করা কী ইনপুট করলে, ডেটাবেস তৈরি করার প্রসেস
FAILED_PRECONDITIONerror 400-এর সাথে ব্যর্থ হবে।
সীমাবদ্ধতা
- CMEK-সুরক্ষিত ডেটাবেসের জন্য আপনি 'কী' পরিবর্তন করতে পারবেন না। আপনি 'কী' রোটেট, চালু ও বন্ধ করতে পারবেন।
- CMEK-সুরক্ষিত ডেটাবেস শুধুমাত্র এন্টিটি ও ডকুমেন্ট ডেটার জন্য Key Visualizer-কে সাপোর্ট করে, ইনডেক্স ডেটার জন্য নয়।
- আগে থেকে থাকা ডেটাবেসে আপনি CMEK চালু করতে পারবেন না। আপনি শুধুমাত্র নতুন ডেটাবেসে CMEK চালু করতে পারবেন এবং ডেটাবেস তৈরি করার সময় আপনাকে এটি চালু করতে হবে। আগে থেকে থাকা CMEK-নয় এমন ডেটাবেস থেকে CMEK-সুরক্ষিত ডেটাবেসে ডেটা মাইগ্রেট করতে, আপনার ডেটা এক্সপোর্ট করুন এবং তারপরে নতুন CMEK-সুরক্ষিত ডেটাবেসে ডেটা ইমপোর্ট করুন। এছাড়াও, আপনি CMEK নয় এমন ডেটাবেস থেকে CMEK ডেটাবেসে ডেটা রিস্টোর বা ক্লোন করতে পারবেন।
- Cloud Firestore-এ সীমিত সংখ্যক CMEK-সুরক্ষিত ডেটাবেস কাজ করে।
- Cloud Functions (ফার্স্ট জেনারেশন) ইন্টিগ্রেশনের সাথে CMEK সুরক্ষা কাজ করে না। আপনি CMEK সুরক্ষা পেতে চাইলে, Cloud Run ফাংশন Firestore ট্রিগার (২য় জেনারেশন) ব্যবহার করুন।
CMEK-সুরক্ষিত ডেটাবেস থেকে কীভাবে ডেটা সরানো যেতে পারে
আপনার অ্যাপ্লিকেশনের কপি করা ডেটা ব্যবহারকারীরা ইচ্ছামতো স্টোর করতে পারেন। Cloud Firestore ডেটা অ্যাক্সেস করা যেকোনও অ্যাপ্লিকেশনের জন্য উপযুক্ত নিরাপত্তা কন্ট্রোল প্রয়োজন যাতে শুধুমাত্র সঠিক অনুমোদনপ্রাপ্ত ব্যক্তিরাই ডেটা অ্যাক্সেস করতে পারেন। আরও বিবরণের জন্য নিরাপত্তা সংক্রান্ত নিয়ম এবং IAM দেখুন।
CMEK-সুরক্ষিত ডেটাবেস থেকে ডেটা CMEK-সুরক্ষিত নয় এমন ডেটাবেসে সরানো যেতে পারে ব্যাক-আপ নিন ও ফিরিয়ে আনুন, ক্লোন করুন, অথবা ইমপোর্ট করুন এবং এক্সপোর্ট করুন বিকল্প ব্যবহার করে। অনুমোদিত ব্যবহারকারীদের এইসব অ্যাকশনের জন্য অনুমতি দিতে উপযুক্ত IAM কন্ট্রোল ব্যবহার করুন। এছাড়াও, রিস্টোর বা ক্লোন করে তৈরি করা যেকোনও ডেটাবেস এবং ইম্পোর্টের জন্য ব্যবহৃত যেকোনও Cloud Storage বাকেট CMEK-সুরক্ষিত কিনা তা নিশ্চিত করতে CMEK সংস্থার নীতি সংক্রান্ত সীমাবদ্ধতা ব্যবহার করা যেতে পারে।