ডিফল্টরূপে, Cloud Firestore সংরক্ষিত সমস্ত ডেটা গুগলের ডিফল্ট এনক্রিপশন ব্যবহার করে এনক্রিপ্ট করা থাকে। আপনার পক্ষ থেকে কোনো অতিরিক্ত পদক্ষেপ ছাড়াই Cloud Firestore আপনার জন্য এই এনক্রিপশনটি পরিচালনা ও ব্যবস্থাপনা করে।
আপনার ডেটা সুরক্ষিতকারী কী-গুলো সম্পর্কিত যদি নির্দিষ্ট কমপ্লায়েন্স বা নিয়ন্ত্রক প্রয়োজনীয়তা থাকে, তাহলে আপনি Cloud Firestore জন্য কাস্টমার-ম্যানেজড এনক্রিপশন কী (CMEK) ব্যবহার করতে পারেন। এক্ষেত্রে, গুগল আপনার ডেটা সুরক্ষিতকারী এনক্রিপশন কী-গুলো পরিচালনা করার পরিবর্তে, আপনার Cloud Firestore ডেটাবেসটি এমন একটি কী দ্বারা সুরক্ষিত থাকে যা আপনি ক্লাউড কী ম্যানেজমেন্ট সার্ভিস (Cloud KMS)- এ নিয়ন্ত্রণ ও পরিচালনা করেন।
এই পৃষ্ঠায় Cloud Firestore জন্য CMEK সম্পর্কে বর্ণনা করা হয়েছে। সাধারণভাবে CMEK সম্পর্কে আরও তথ্যের জন্য, যার মধ্যে কখন এবং কেন এটি সক্রিয় করতে হবে তা অন্তর্ভুক্ত, নিম্নলিখিত ক্লাউড KMS ডকুমেন্টেশন দেখুন:
Cloud Firestore এর সাথে CMEK-সম্পর্কিত কাজগুলি সম্পাদন করার নির্দেশাবলীর জন্য, Use CMEK দেখুন।
বৈশিষ্ট্য
- ডেটা নিয়ন্ত্রণ : CMEK আপনাকে KMS কী পরিচালনা করার সুযোগ দেয়। আপনি আপনার Cloud Firestore ডেটাবেসে সংরক্ষিত ডেটা এনক্রিপ্ট করতে ব্যবহৃত কী-টি পরিবর্তন, নিষ্ক্রিয় এবং ধ্বংস করতে পারেন।
- পারফরম্যান্স : CMEK Cloud Firestore SLA-কে প্রভাবিত করে না।
- নিরীক্ষাযোগ্যতা : আপনি যদি ক্লাউড কেএমএস-এর জন্য অডিট লগিং চালু করেন , তাহলে কী-টির উপর সম্পাদিত সমস্ত অপারেশন লগ করা হয় এবং Cloud Logging এ তা দেখা যায়।
- সাংগঠনিক নীতি সীমাবদ্ধতা : আপনি আপনার প্রতিষ্ঠানের Cloud Firestore ডেটাবেসগুলির জন্য এনক্রিপশন সম্মতি প্রয়োজনীয়তা নির্দিষ্ট করতে CMEK সাংগঠনিক নীতি সীমাবদ্ধতা ব্যবহার করতে পারেন।
মূল্য নির্ধারণ
ক্লাউড কেএমএস কী-এর খরচ এবং সেই কী ব্যবহার করে সম্পাদিত যেকোনো ক্রিপ্টোগ্রাফিক অপারেশনের জন্য চার্জ করে। আরও তথ্যের জন্য, ক্লাউড কেএমএস প্রাইসিং দেখুন।
যখন Cloud Firestore কোনো এনক্রিপশন বা ডিক্রিপশন অপারেশন সম্পাদনের জন্য ক্লাউড কেএমএস (KMS) কী ব্যবহার করে, তখন আপনাকে অপারেশন খরচের জন্য বিল করা হয়। গ্রাহক-পরিচালিত কী দ্বারা এনক্রিপশন/ডিক্রিপশন অপারেশন প্রতি ৫ মিনিটে সম্পন্ন হয় এবং এটি ডাটাবেস অনুরোধের সাথে সিঙ্ক্রোনাইজড নয়। Cloud Firestore দ্বারা উৎপন্ন ক্রিপ্টোগ্রাফিক অপারেশনের প্রত্যাশিত সংখ্যার তুলনায় খরচ সাধারণত কম থাকে। ক্লাউড অডিট লগের খরচ একটি অতিরিক্ত ব্যয়, তবে ক্রিপ্টোগ্রাফিক অপারেশনের প্রত্যাশিত সংখ্যার তুলনায় এটিও সাধারণত কম হবে বলে আশা করা যায়।
CMEK-সুরক্ষিত ডেটাবেস ব্যবহারের জন্য Cloud Firestore কোনো অতিরিক্ত খরচ নেই এবং Cloud Firestore মূল্য তালিকা প্রযোজ্য থাকবে।
আপনি যদি কোনো ডাটাবেসের কী (key) প্রত্যাহার করেন, তাহলে কী-টি সর্বশেষ উপলব্ধ থাকার দিনের আকারের উপর ভিত্তি করে স্টোরেজ খরচ ধার্য করা হবে। ডাটাবেসটি মুছে ফেলা না হওয়া পর্যন্ত অথবা কী-টি পুনরায় উপলব্ধ না হওয়া পর্যন্ত আপনাকে সেই ডাটাবেসের আকারের উপর ভিত্তি করে স্টোরেজ খরচ বহন করতে হবে।
CMEK দ্বারা কী সুরক্ষিত?
যখন আপনি একটি Cloud Firestore CMEK-সুরক্ষিত ডেটাবেস তৈরি করেন, তখন সংরক্ষিত ডেটা সুরক্ষিত করার জন্য আপনার ক্লাউড KMS কী ব্যবহৃত হয়। এর মধ্যে ডিস্ক বা ফ্ল্যাশ ড্রাইভে সংরক্ষিত ডেটাও অন্তর্ভুক্ত, যেমন ইনডেক্স এবং ব্যাকআপ। কিছু ব্যতিক্রম প্রযোজ্য। নিম্নলিখিত ডেটার ধরনগুলো CMEK কী দ্বারা নয়, বরং গুগলের ডিফল্ট এনক্রিপশন দ্বারা এনক্রিপ্ট করা হয়:
- স্থানান্তরিত বা মেমরিতে থাকা ডেটা
- ডেটাবেস মেটাডেটা
একটি অনুপলব্ধ কী স্ট্যাটাস কীভাবে পরিচালনা করা হয়
প্রতিটি ডেটা অনুরোধের জন্য এনক্রিপ্ট এবং ডিক্রিপ্ট অপারেশন চালানো হয় না। এর পরিবর্তে, Cloud Firestore সিস্টেম প্রতি ৫ মিনিট পর পর ক্লাউড কেএমএস-কে (Cloud KMS) জিজ্ঞাসা করে দেখে যে কী-টি (key) এখনও উপলব্ধ আছে কিনা এবং কী-টি উপলব্ধ থাকলে এনক্রিপ্ট ও ডিক্রিপ্ট অপারেশন সম্পাদন করে।
যদি সিস্টেমটি শনাক্ত করে যে কী-টি অনুপলব্ধ, তাহলে ১০ মিনিটের মধ্যে Cloud Firestore ডেটাবেসে পরবর্তী যেকোনো কল (রিড, রাইট এবং কোয়েরি সহ) একটি FAILED_PRECONDITION এরর দেখাবে এবং সাথে The customer-managed encryption key required by the requested resource is not accessible বার্তাটি দেবে।
যদি ডাটাবেসে টাইম-টু-লিভ (TTL) পলিসি থাকে, এবং কী-টি অনুপলব্ধ থাকা অবস্থায় কোনো মেয়াদোত্তীর্ণের সময় অতিক্রম করে, তাহলে কী-টি পুনঃস্থাপন না হওয়া পর্যন্ত TTL অনুযায়ী ডেটা মুছে ফেলার প্রক্রিয়া বিলম্বিত হবে। যদি ডাটাবেসে দীর্ঘ সময় ধরে চলমান কোনো অপারেশন থাকে, তবে সেগুলি নিম্নরূপভাবে প্রভাবিত হবে:
- ডেটা আমদানি বা রপ্তানি কার্যক্রমের অগ্রগতি থেমে যাবে এবং সেটিকে
Failedহিসেবে চিহ্নিত করা হবে। কী-টি পুনরায় সক্রিয় করা হলেও ব্যর্থ কার্যক্রমগুলো পুনরায় চেষ্টা করা হবে না । - ইনডেক্স তৈরির অপারেশন এবং নতুন TTL পলিসি সক্রিয় করার অপারেশনগুলোর অগ্রগতি থেমে যাবে। কী-টি পুনরায় চালু হলে থেমে যাওয়া অপারেশনগুলো আবার চেষ্টা করা হবে।
যে কোনো পরিস্থিতিতে ইচ্ছাকৃতভাবে Cloud Firestore কী অ্যাক্সেস করতে বাধা দেওয়া হলে, কী-টিকে অনুপলব্ধ বলে গণ্য করা হয়। এর মধ্যে অন্তর্ভুক্ত রয়েছে:
- ব্যবহৃত কী ভার্সনটি নিষ্ক্রিয় বা ধ্বংস করা । কী ভার্সন ধ্বংস করার সময় সতর্ক থাকুন, কারণ এর ফলে অপূরণীয় ডেটা নষ্ট হতে পারে ।
- Cloud Firestore পরিষেবা অ্যাকাউন্ট থেকে কী-টি অ্যাক্সেস করার অনুমতি অপসারণ করা হচ্ছে ।
যদি কী-টি পুনঃস্থাপন করা হয়, তাহলে পোলিং অপারেশনটি শনাক্ত করে যে কী-টি আবার উপলব্ধ হয়েছে। অ্যাক্সেস সাধারণত কয়েক মিনিটের মধ্যেই পুনরায় সক্রিয় করা হয়, তবে বিরল ক্ষেত্রে এতে কয়েক ঘণ্টা পর্যন্ত সময় লাগতে পারে। উল্লেখ্য যে, ক্লাউড কেএমএস কী-এর উপর কিছু অপারেশন, যেমন একটি কী নিষ্ক্রিয় করা বা ধ্বংস করা, কার্যকর হতে ৩ ঘণ্টা পর্যন্ত সময় লাগতে পারে। ক্লাউড কেএমএস-এ কোনো পরিবর্তন কার্যকর না হওয়া পর্যন্ত Cloud Firestore তা শনাক্ত করে না।
পরিস্থিতিভেদে, চাবি পুনঃস্থাপনের ক্ষেত্রে নিম্নলিখিত বিষয়গুলো জড়িত থাকে:
- নিষ্ক্রিয় করা কী সংস্করণ পুনরায় সক্রিয় করা ।
- ধ্বংস হয়ে যাওয়া কী ভার্সন পুনরুদ্ধার করা । স্থায়ীভাবে ধ্বংস হওয়ার আগে, একটি কী ভার্সন ধ্বংসের জন্য নির্ধারিত থাকে। আপনি শুধুমাত্র সেই সময়কালে একটি কী পুনরুদ্ধার করতে পারবেন যখন একটি কী ভার্সন ধ্বংসের জন্য নির্ধারিত থাকে। যে কী ইতিমধ্যে স্থায়ীভাবে ধ্বংস হয়ে গেছে, তা আপনি পুনরুদ্ধার করতে পারবেন না।
- Cloud Firestore সার্ভিস এজেন্টকে কী-টি অ্যাক্সেস করার অনুমতি পুনরায় প্রদান করা হচ্ছে ।
ঘূর্ণনের মূল বিবেচ্য বিষয়গুলি
আপনি যখন CMEK কী পরিবর্তন করেন, তখন Cloud Firestore CMEK কী-এর সর্বশেষ প্রাইমারি সংস্করণ দিয়ে ডাটাবেসটিকে পুনরায় এনক্রিপ্ট করে। পুনরায় এনক্রিপশন প্রক্রিয়া চলাকালীন, পুরানো এবং নতুন উভয় কী সংস্করণই হাতের কাছে রাখুন। পুনরায় এনক্রিপশন শেষ হয়ে গেলে, CMEK কী-এর পুরানো সংস্করণগুলি নিষ্ক্রিয় বা মুছে ফেললেও ডাটাবেসে অ্যাক্সেস বন্ধ হবে না, কারণ এটি নতুন প্রাইমারি কী সংস্করণ দিয়ে এনক্রিপ্ট করা থাকে।
আপনি একটি ডাটাবেস সুরক্ষিত করতে ব্যবহৃত কী-এর সংস্করণগুলোও দেখতে পারেন। আরও তথ্যের জন্য, ‘ব্যবহৃত কী দেখুন ’ দেখুন।
বাহ্যিক মূল বিবেচ্য বিষয়
আপনি যখন একটি ক্লাউড EKM কী ব্যবহার করেন, তখন বাহ্যিক কী ব্যবস্থাপনা অংশীদারের সিস্টেমে আপনার বাহ্যিকভাবে পরিচালিত কী-টির প্রাপ্যতার উপর গুগলের কোনো নিয়ন্ত্রণ থাকে না।
যদি বাহ্যিকভাবে পরিচালিত কোনো কী (key) অনুপলব্ধ থাকে, তাহলে Cloud Firestore এক ঘণ্টা পর্যন্ত যথাসাধ্য চেষ্টার মাধ্যমে সম্পূর্ণ ডাটাবেস কার্যক্রম সমর্থন করে চলে।
এক ঘণ্টা পরেও যদি Cloud Firestore ক্লাউড কেএমএস-এর সাথে সংযোগ স্থাপন করতে না পারে, তবে সুরক্ষামূলক ব্যবস্থা হিসেবে Cloud Firestore ডাটাবেসটিকে অফলাইন করে দেয়। ডাটাবেসে করা কলগুলো একটি FAILED_PRECONDITION এরর দেখিয়ে ব্যর্থ হবে, যেটিতে অতিরিক্ত বিবরণ অন্তর্ভুক্ত থাকে।
এক্সটার্নাল কী ব্যবহার সম্পর্কে আরও তথ্যের জন্য ক্লাউড এক্সটার্নাল কী ম্যানেজার ডকুমেন্টেশন দেখুন।
ব্যাকআপ এবং পুনরুদ্ধার
একটি ব্যাকআপ সেই ডাটাবেসের মতোই একই এনক্রিপশন পদ্ধতি ব্যবহার করে, যেখান থেকে আপনি এটি তৈরি করেছেন। যখন একটি CMEK-সুরক্ষিত Cloud Firestore ডাটাবেস একটি ব্যাকআপ তৈরি করে, তখন এটি ব্যাকআপ তৈরির সময় ব্যবহৃত প্রাইমারি কী সংস্করণ দিয়ে ব্যাকআপটিকে এনক্রিপ্ট করে।
আপনি ব্যাকআপ শিডিউল চালু করার মুহূর্ত থেকে ২৪ ঘন্টা অতিবাহিত হওয়ার পর Cloud Firestore একটি CMEK ডাটাবেসের প্রথম ব্যাকআপ তৈরি করে।
Cloud Firestore ব্যাকআপ সম্পর্কে আরও তথ্যের জন্য, ডেটা ব্যাকআপ এবং পুনরুদ্ধার দেখুন।
ব্যাকআপ থেকে পুনরুদ্ধার করা একটি ডাটাবেস ডিফল্টরূপে ব্যাকআপের মতোই এনক্রিপশন পদ্ধতি ব্যবহার করে। যখন আপনি একটি ডাটাবেস পুনরুদ্ধার করেন, তখন আপনি নিম্নলিখিত উপায়গুলির মধ্যে একটিতে একটি ভিন্ন এনক্রিপশন প্রকার নির্দিষ্ট করতে পারেন:
- নতুনভাবে নির্দিষ্ট করা একটি কী ব্যবহার করে CMEK ডেটাবেসে পুনরুদ্ধার করুন।
- গুগলের ডিফল্ট এনক্রিপশন ব্যবহার করে এমন একটি নন-CMEK ডেটাবেসে পুনরুদ্ধার করুন।
- এমন একটি ডাটাবেসে পুনরুদ্ধার করুন যা ব্যাকআপের মতো একই এনক্রিপশন ব্যবহার করে।
ব্যাকআপ থেকে একটি Cloud Firestore ডেটাবেস পুনরুদ্ধার করার বিষয়ে আরও তথ্যের জন্য, "ডেটাবেস ব্যাকআপ থেকে ডেটা পুনরুদ্ধার করুন" দেখুন। ব্যাকআপ থেকে একটি CMEK-সুরক্ষিত Cloud Firestore ডেটাবেস পুনরুদ্ধার করার বিষয়ে আরও তথ্যের জন্য, "একটি CMEK-সুরক্ষিত ডেটাবেস পুনরুদ্ধার করুন" দেখুন।
ক্লোন
ডিফল্টরূপে, অন্য একটি ডেটাবেস থেকে ক্লোন করা ডেটাবেস মূল ডেটাবেসের মতোই এনক্রিপশন পদ্ধতি ব্যবহার করে। যখন আপনি একটি ডেটাবেস ক্লোন করেন, তখন আপনি নিম্নলিখিত উপায়গুলির মধ্যে যেকোনো একটিতে একটি ভিন্ন এনক্রিপশন টাইপ নির্দিষ্ট করতে পারেন:
- নতুনভাবে নির্দিষ্ট করা একটি কী ব্যবহার করে CMEK ডেটাবেসে ক্লোন করুন।
- গুগলের ডিফল্ট এনক্রিপশন ব্যবহার করে এমন একটি নন-CMEK ডেটাবেসে ক্লোন করুন।
- (ডিফল্ট) এমন একটি ডেটাবেসে ক্লোন করুন যা উৎস ডেটাবেসের মতো একই এনক্রিপশন ব্যবহার করে।
Cloud Firestore ডেটাবেস ক্লোন করার বিষয়ে আরও তথ্যের জন্য, "একটি ডেটাবেস ক্লোন করুন" দেখুন। CMEK-সুরক্ষিত Cloud Firestore ডেটাবেস ক্লোন করার বিষয়ে আরও তথ্যের জন্য, "একটি CMEK-সুরক্ষিত ডেটাবেস ক্লোন করুন" দেখুন।
মূল ট্র্যাকিং
আপনি কী ট্র্যাকিং ব্যবহার করে সেইসব রিসোর্স দেখতে পারেন, যেমন Cloud Firestore ডেটাবেস, যা একটি কী দ্বারা সুরক্ষিত। কী ট্র্যাকিং সম্পর্কে আরও তথ্যের জন্য, ‘কী ব্যবহার দেখুন’ দেখুন।
CMEK এবং কী প্রাপ্যতা
যখন কীগুলি অনুপলব্ধ বা নিষ্ক্রিয় থাকে, তখন CMEK-সক্ষম ডেটাবেসগুলিতে ঘটতে পারে এমন নিম্নলিখিত আচরণগুলি সম্পর্কে সচেতন থাকুন:
- আপনি একটি CMEK-সক্ষম ডেটাবেসে Cloud Firestore পয়েন্ট-ইন-টাইম রিকভারি (PITR) সেটিংস পরিবর্তন করতে পারেন, এমনকি যদি কী-টি অনুপলব্ধ থাকে, কারণ PITR সেটিংস হলো ডেটাবেস মেটাডেটা, যা CMEK দ্বারা এনক্রিপ্ট করা হয় না।
- আপনি এমন একটি CMEK ডাটাবেস মুছে ফেলতে পারেন যেটিতে অনুপলব্ধ কী (key) রয়েছে।
- আপনি যখন একটি CMEK-সক্ষম ডেটাবেস তৈরি করেন, তখন নিষ্ক্রিয় কীগুলি Google Cloud কনসোলের উপলব্ধ কীগুলির তালিকায় প্রদর্শিত হয় না। আপনি যদি ম্যানুয়ালি একটি নিষ্ক্রিয় কী ইনপুট করেন, তাহলে
FAILED_PRECONDITIONerror 400 সহ ডেটাবেস তৈরির প্রক্রিয়াটি ব্যর্থ হবে।
সীমাবদ্ধতা
- আপনি CMEK-সুরক্ষিত ডাটাবেসের কোনো কী পরিবর্তন করতে পারবেন না। তবে, আপনি কী-গুলো রোটেট, এনাবল এবং ডিসেবল করতে পারবেন।
- CMEK-সুরক্ষিত ডেটাবেসগুলো শুধুমাত্র এনটিটি এবং ডকুমেন্ট ডেটার জন্য কী ভিজ্যুয়ালাইজার সমর্থন করে, ইনডেক্স ডেটার জন্য নয়।
- আপনি বিদ্যমান ডেটাবেসগুলিতে CMEK সক্রিয় করতে পারবেন না। আপনি শুধুমাত্র নতুন ডেটাবেসগুলিতে CMEK সক্রিয় করতে পারবেন, এবং ডেটাবেস তৈরি করার সময়ই আপনাকে এটি সক্রিয় করতে হবে। একটি বিদ্যমান নন-CMEK ডেটাবেস থেকে একটি CMEK-সুরক্ষিত ডেটাবেসে ডেটা স্থানান্তর করতে, আপনার ডেটা এক্সপোর্ট করুন এবং তারপরে নতুন CMEK-সুরক্ষিত ডেটাবেসে ডেটা ইম্পোর্ট করুন। এছাড়াও আপনি একটি নন-CMEK ডেটাবেস থেকে একটি CMEK ডেটাবেসে ডেটা রিস্টোর বা ক্লোন করতে পারেন।
- Cloud Firestore সীমিত সংখ্যক CMEK-সুরক্ষিত ডেটাবেস সমর্থন করে।
- আমরা ক্লাউড ফাংশনস (১ম জেনারেশন) ইন্টিগ্রেশনের সাথে CMEK সুরক্ষা সমর্থন করি না। আপনি যদি CMEK সুরক্ষা পেতে চান, তাহলে Cloud Run ফাংশনস ফায়ারস্টোর ট্রিগারস (২য় জেনারেশন) ব্যবহার করুন।
কীভাবে CMEK-সুরক্ষিত ডেটাবেস থেকে ডেটা বেরিয়ে যেতে পারে
আপনার অ্যাপ্লিকেশন দ্বারা কপি করা ডেটা এর ব্যবহারকারীরা যথেচ্ছ উপায়ে সংরক্ষণ করতে পারে। Cloud Firestore ডেটা অ্যাক্সেসকারী যেকোনো অ্যাপ্লিকেশনের জন্য যথাযথ নিরাপত্তা নিয়ন্ত্রণ প্রয়োজন, যাতে নিশ্চিত করা যায় যে শুধুমাত্র সঠিক অনুমোদনপ্রাপ্ত ব্যক্তিরাই ডেটা অ্যাক্সেস করতে পারে। আরও বিস্তারিত জানতে নিরাপত্তা নিয়মাবলী এবং IAM দেখুন।
ব্যাকআপ অ্যান্ড রিস্টোর , ক্লোন , অথবা ইম্পোর্ট অ্যান্ড এক্সপোর্ট ব্যবহার করে একটি CMEK-সুরক্ষিত ডেটাবেস থেকে ডেটা একটি নন-CMEK ডেটাবেসে সরানো যেতে পারে। শুধুমাত্র অনুমোদিত ব্যবহারকারীদের এই কাজগুলোর জন্য অনুমতি দিতে উপযুক্ত IAM কন্ট্রোল ব্যবহার করুন। এছাড়াও, রিস্টোর বা ক্লোন দ্বারা তৈরি যেকোনো ডেটাবেস এবং ইম্পোর্টের জন্য ব্যবহৃত যেকোনো Cloud Storage বাকেট যেন CMEK-সুরক্ষিত হয়, তা নিশ্চিত করতে CMEK অর্গানাইজেশন পলিসি কনস্ট্রেইন্ট ব্যবহার করা যেতে পারে।