सुरक्षित करने वाली ऐसी कुंजियां जिन्हें ग्राहक मैनेज करता है (CMEK)

डिफ़ॉल्ट रूप से, Cloud Firestore में सेव किए गए सभी डेटा को Google के डिफ़ॉल्ट एन्क्रिप्शन का इस्तेमाल करके एन्क्रिप्ट (सुरक्षित) किया जाता है. Cloud Firestore Cloud Firestore, इस एन्क्रिप्शन को आपके लिए मैनेज करता है. इसके लिए, आपको कोई अतिरिक्त कार्रवाई नहीं करनी पड़ती.

अगर आपके पास डेटा को सुरक्षित रखने वाली कुंजियों से जुड़ी, खास तौर पर अनुपालन या कानूनी ज़रूरतें हैं, तो Cloud Firestore के लिए, ग्राहक की ओर से मैनेज की जाने वाली एन्क्रिप्शन कुंजियों (सीएमईके) का इस्तेमाल किया जा सकता है.Cloud Firestore आपके डेटा को सुरक्षित रखने वाली एन्क्रिप्शन कुंजियों को Google मैनेज नहीं करता. इसके बजाय, आपके Cloud Firestore डेटाबेस को Cloud Key Management Service (Cloud KMS) में मैनेज की जाने वाली कुंजी का इस्तेमाल करके सुरक्षित किया जाता है. इस कुंजी को आप कंट्रोल करते हैं.

इस पेज पर, Cloud Firestore के लिए सीएमईके के बारे में बताया गया है. सीएमईके के बारे में ज़्यादा जानने के लिए, Cloud KMS का यह दस्तावेज़ देखें. इसमें यह भी बताया गया है कि सीएमईके को कब और क्यों चालू करना चाहिए:

Cloud Firestore के साथ सीएमईके से जुड़े टास्क करने के निर्देश पाने के लिए, सीएमईके का इस्तेमाल करना देखें.

सुविधाएं

  • डेटा कंट्रोल: सीएमईके की मदद से, केएमएस कुंजी को मैनेज किया जा सकता है. आप अपने Cloud Firestore डेटाबेस में सेव किए गए डेटा को एन्क्रिप्ट (सुरक्षित) करने के लिए इस्तेमाल की गई कुंजी को रोटेट, बंद, और मिटा सकते हैं.
  • परफ़ॉर्मेंस: सीएमईके से, Cloud Firestore एसएलए पर कोई असर नहीं पड़ता.
  • ऑडिट की सुविधा: अगर आप Cloud KMS के लिए ऑडिट लॉगिंग की सुविधा चालू करते हैं, तो कुंजी पर की गई सभी कार्रवाइयों को लॉग किया जाता है. इन्हें Cloud Logging में देखा जा सकता है.
  • संगठन की नीति से जुड़ी पाबंदियां: संगठन में डेटाबेस के लिए, एन्क्रिप्शन से जुड़ी ज़रूरी शर्तों को तय करने के लिए, सीएमईके संगठन की नीति से जुड़ी पाबंदियों का इस्तेमाल किया जा सकता है.Cloud Firestore

कीमत

Cloud KMS, कुंजी की लागत और उस कुंजी का इस्तेमाल करके की गई क्रिप्टोग्राफ़िक कार्रवाइयों के लिए शुल्क लेता है. ज़्यादा जानकारी के लिए, Cloud KMS की कीमत देखें.

जब Cloud Firestore asks the Cloud KMS कुंजी से एन्क्रिप्शन या डिक्रिप्शन की कार्रवाई करने के लिए कहता है, तो आपसे कार्रवाई की लागत का शुल्क लिया जाता है. ग्राहक की ओर से मैनेज की जाने वाली कुंजी से एन्क्रिप्शन या डिक्रिप्शन की कार्रवाई हर पांच मिनट में होती है. यह डेटाबेस के अनुरोधों के साथ सिंक नहीं होती. Cloud Firestore से जनरेट होने वाली क्रिप्टोग्राफ़िक कार्रवाइयों की अनुमानित संख्या को देखते हुए, लागत आम तौर पर कम होती है Cloud Firestore. Cloud Audit Logs की लागत एक अतिरिक्त खर्च है. हालांकि, क्रिप्टोग्राफ़िक कार्रवाइयों की अनुमानित संख्या को देखते हुए, यह भी आम तौर पर कम होती है.

सीएमईके से सुरक्षित डेटाबेस का इस्तेमाल करने के लिए, Cloud Firestore का कोई अतिरिक्त शुल्क नहीं लिया जाता. साथ ही, Cloud Firestore की कीमत लागू होती रहती है.

अगर किसी डेटाबेस के लिए कुंजी रद्द की जाती है, तो स्टोरेज की लागत उस दिन के साइज़ के हिसाब से ली जाएगी जब कुंजी उपलब्ध थी. डेटाबेस के मिटने या कुंजी के फिर से उपलब्ध होने तक, आपसे स्टोरेज की लागत ली जाती रहेगी.

सीएमईके से क्या सुरक्षित किया जाता है

Cloud Firestore सीएमईके से सुरक्षित डेटाबेस बनाने पर, आपकी Cloud KMS कुंजी का इस्तेमाल करके, सेव किए गए डेटा को सुरक्षित किया जाता है. इसमें डिस्क या फ़्लैश ड्राइव पर सेव किया गया डेटा शामिल होता है. जैसे, इंडेक्स और बैकअप. हालांकि, कुछ अपवाद लागू होते हैं. नीचे दिए गए डेटा टाइप को सीएमईके कुंजी से नहीं, बल्कि Google के डिफ़ॉल्ट एन्क्रिप्शन से एन्क्रिप्ट (सुरक्षित) किया जाता है:

  • ट्रांसफ़र किया जा रहा या मेमोरी में मौजूद डेटा
  • डेटाबेस का मेटाडेटा

कुंजी के उपलब्ध न होने की स्थिति को कैसे मैनेज किया जाता है

हर डेटा अनुरोध पर, एन्क्रिप्ट और डिक्रिप्ट करने की कार्रवाइयां नहीं की जाती हैं. इसके बजाय, Cloud Firestore सिस्टम हर पांच मिनट में Cloud KMS को पोल करता है. इससे यह पता चलता है कि कुंजी अब भी उपलब्ध है या नहीं. अगर कुंजी उपलब्ध है, तो एन्क्रिप्ट और डिक्रिप्ट करने की कार्रवाइयां की जाती हैं.

अगर सिस्टम को पता चलता है कि कुंजी उपलब्ध नहीं है, तो Cloud Firestore डेटाबेस के लिए किए गए सभी अनुरोधों पर, 10 मिनट के अंदर INVALID_ARGUMENT गड़बड़ी दिखती है. इनमें पढ़ने, लिखने, और क्वेरी करने के अनुरोध शामिल हैं. साथ ही, यह मैसेज दिखता है:

The customer-managed encryption key required by the requested
resource is not accessible.

अगर डेटाबेस में टाइम-टू-लाइव (टीटीएल) नीतियां हैं और कुंजी उपलब्ध न होने पर, कोई भी समयसीमा खत्म हो जाती है, तो टीटीएल के हिसाब से डेटा मिटाने की प्रोसेस तब तक नहीं होगी, जब तक कुंजी फिर से उपलब्ध नहीं हो जाती. अगर डेटाबेस में लंबे समय तक चलने वाली कार्रवाइयां जारी हैं, तो उन पर इस तरह असर पड़ेगा:

  • इंडेक्स बनाने की कार्रवाइयां और नई टीटीएल नीतियां चालू करने की कार्रवाइयां रुक जाएंगी. अगर कुंजी फिर से उपलब्ध हो जाती है, तो रुकी हुई कार्रवाइयों को फिर से करने की कोशिश की जाएगी.

कुंजियों को तब उपलब्ध नहीं माना जाता, जब जान-बूझकर Cloud Firestore को कुंजी का ऐक्सेस नहीं दिया जाता. इनमें ये शामिल हैं:

अगर कुंजी फिर से उपलब्ध हो जाती है, तो पोलिंग की कार्रवाई से पता चलता है कि कुंजी फिर से उपलब्ध है. आम तौर पर, कुछ ही मिनटों में ऐक्सेस फिर से चालू हो जाता है. हालांकि, कुछ मामलों में इसमें कुछ घंटे लग सकते हैं. ध्यान दें कि Cloud KMS कुंजियों पर की जाने वाली कुछ कार्रवाइयों को लागू होने में तीन घंटे तक लग सकते हैं. जैसे, कुंजी को बंद करना या मिटाना. Cloud Firestore को तब तक कोई बदलाव नहीं दिखता , जब तक वे Cloud KMS में लागू नहीं हो जाते.

कुंजी को फिर से उपलब्ध कराने में, स्थिति के हिसाब से ये कार्रवाइयां शामिल होती हैं:

कुंजी रोटेट करने से जुड़ी ज़रूरी बातें

सीएमईके कुंजी को रोटेट करने पर, Cloud Firestore डेटाबेस को सीएमईके कुंजी के सबसे नए प्राइमरी वर्शन का इस्तेमाल करके फिर से एन्क्रिप्ट (सुरक्षित) करता है. फिर से एन्क्रिप्ट करने की प्रोसेस के दौरान, पहले और नए, दोनों कुंजी वर्शन उपलब्ध रखें. फिर से एन्क्रिप्ट करने की प्रोसेस पूरी होने के बाद, सीएमईके कुंजी के पुराने वर्शन को बंद या मिटाने से, डेटाबेस का ऐक्सेस नहीं रुकेगा. ऐसा इसलिए, क्योंकि डेटाबेस को नए प्राइमरी कुंजी वर्शन से एन्क्रिप्ट (सुरक्षित) किया गया है.

उन कुंजी वर्शन को भी देखा जा सकता है जिनका इस्तेमाल, डेटाबेस को सुरक्षित रखने के लिए किया जा रहा है. ज़्यादा जानकारी के लिए, इस्तेमाल में मौजूद कुंजी देखना देखें.

तीसरे पक्ष की कुंजी से जुड़ी ज़रूरी बातें

Cloud EKM कुंजी का इस्तेमाल करने पर, Google के पास तीसरे पक्ष के कुंजी मैनेजमेंट पार्टनर सिस्टम में, तीसरे पक्ष की ओर से मैनेज की जाने वाली कुंजी की उपलब्धता को कंट्रोल करने का कोई विकल्प नहीं होता.

अगर तीसरे पक्ष की ओर से मैनेज की जाने वाली कुंजी उपलब्ध नहीं है, तो Cloud Firestore कुंजी के कैश किए गए वर्शन का इस्तेमाल करके, एक घंटे तक डेटाबेस की सभी कार्रवाइयों को जारी रखता है.

अगर एक घंटे बाद भी, Cloud Firestore Cloud KMS से कनेक्ट नहीं हो पाता है, तो Cloud Firestore सुरक्षा के तौर पर डेटाबेस को ऑफ़लाइन कर देता है. डेटाबेस के लिए किए गए अनुरोध, INVALID_ARGUMENT गड़बड़ी के साथ पूरे नहीं होंगे. इसमें अतिरिक्त जानकारी भी शामिल होगी.

तीसरे पक्ष की कुंजियों का इस्तेमाल करते समय, अन्य ज़रूरी बातों के लिए, Cloud External Key Manager का दस्तावेज़ देखें.

बैकअप लें और बहाल करें

बैकअप में, उसी एन्क्रिप्शन मैकेनिज़्म का इस्तेमाल किया जाता है जिससे डेटाबेस बनाया गया है. सीएमईके से सुरक्षित Cloud Firestore डेटाबेस का बैकअप लेने पर, बैकअप को उस प्राइमरी कुंजी वर्शन से एन्क्रिप्ट (सुरक्षित) किया जाता है जिसका इस्तेमाल बैकअप बनाते समय किया गया था.

Cloud Firestore सीएमईके डेटाबेस का पहला बैकअप, बैकअप शेड्यूल चालू करने के 24 घंटे बाद लेता है.

Cloud Firestore बैकअप के बारे में ज़्यादा जानने के लिए, डेटा का बैकअप लेना और उसे वापस लाना देखें.

डिफ़ॉल्ट रूप से, बैकअप से वापस लाया गया डेटाबेस, उसी एन्क्रिप्शन मैकेनिज़्म का इस्तेमाल करता है जिससे बैकअप लिया गया था. डेटाबेस को वापस लाते समय, एन्क्रिप्शन का कोई दूसरा टाइप तय किया जा सकता है. इसके लिए, इनमें से कोई एक तरीका अपनाएं:

  • सीएमईके डेटाबेस में वापस लाएं. इसके लिए, नई कुंजी तय करें.
  • ऐसे नॉन-सीएमईके डेटाबेस में वापस लाएं जो Google के डिफ़ॉल्ट एन्क्रिप्शन का इस्तेमाल करता है.
  • ऐसे डेटाबेस में वापस लाएं जो बैकअप के जैसा ही एन्क्रिप्शन इस्तेमाल करता है.

Cloud Firestore डेटाबेस को बैकअप से वापस लाने के बारे में ज़्यादा जानने के लिए, डेटाबेस के बैकअप से डेटा वापस लाना देखें. सीएमईके से सुरक्षित Cloud Firestore डेटाबेस को बैकअप से वापस लाने के बारे में ज़्यादा जानने के लिए, सीएमईके से सुरक्षित डेटाबेस को वापस लाना देखें.

क्लोन बनाएं

डिफ़ॉल्ट रूप से, किसी दूसरे डेटाबेस से क्लोन किया गया डेटाबेस, सोर्स डेटाबेस के जैसा ही एन्क्रिप्शन मैकेनिज़्म इस्तेमाल करता है. डेटाबेस को क्लोन करते समय, एन्क्रिप्शन का कोई दूसरा टाइप तय किया जा सकता है. इसके लिए, इनमें से कोई एक तरीका अपनाएं:

  • सीएमईके डेटाबेस में क्लोन करें. इसके लिए, नई कुंजी तय करें.
  • ऐसे नॉन-सीएमईके डेटाबेस में क्लोन करें जो Google के डिफ़ॉल्ट एन्क्रिप्शन का इस्तेमाल करता है.
  • (डिफ़ॉल्ट) ऐसे डेटाबेस में क्लोन करें जो सोर्स डेटाबेस के जैसा ही एन्क्रिप्शन इस्तेमाल करता है.

Cloud Firestore डेटाबेस को क्लोन करने के बारे में ज़्यादा जानने के लिए, डेटाबेस को क्लोन करना देखें. सीएमईके से सुरक्षित Cloud Firestore डेटाबेस को क्लोन करने के बारे में ज़्यादा जानने के लिए, सीएमईके से सुरक्षित डेटाबेस को क्लोन करना देखें.

कुंजी की ट्रैकिंग

कुंजी की ट्रैकिंग का इस्तेमाल करके, उन संसाधनों को देखा जा सकता है जिन्हें कुंजी सुरक्षित रखती है. जैसे, Cloud Firestore डेटाबेस. कुंजी की ट्रैकिंग के बारे में ज़्यादा जानने के लिए, कुंजी के इस्तेमाल की जानकारी देखना देखें.

सीएमईके और कुंजी की उपलब्धता

जब कुंजियां उपलब्ध नहीं होती हैं या बंद कर दी जाती हैं, तो सीएमईके की सुविधा वाले डेटाबेस में होने वाले इन व्यवहारों के बारे में जानें:

  • सीएमईके डेटाबेस को मिटाया जा सकता है. हालांकि, इसके लिए ज़रूरी है कि उसकी कुंजियां उपलब्ध न हों.

  • सीएमईके की सुविधा वाला डेटाबेस बनाने पर, बंद की गई कुंजियां, Google Cloud Console में उपलब्ध कुंजियों की सूची में नहीं दिखती हैं. अगर बंद की गई कुंजी को मैन्युअल तरीके से डाला जाता है, तो डेटाबेस बनाने की प्रोसेस, INVALID_ARGUMENT गड़बड़ी 400 के साथ पूरी नहीं होगी.

सीमाएं

  • सीएमईके से सुरक्षित डेटाबेस के लिए, कुंजी नहीं बदली जा सकती. कुंजियों को रोटेट, चालू, और बंद किया जा सकता है.

  • मौजूदा डेटाबेस के लिए, सीएमईके की सुविधा चालू नहीं की जा सकती. सीएमईके की सुविधा सिर्फ़ नए डेटाबेस के लिए चालू की जा सकती है. साथ ही, डेटाबेस बनाते समय ही इसे चालू करना ज़रूरी है. मौजूदा नॉन-सीएमईके डेटाबेस में मौजूद डेटा को, सीएमईके से सुरक्षित डेटाबेस में माइग्रेट करने के लिए, डेटा एक्सपोर्ट करें. इसके बाद, सीएमईके से सुरक्षित नए डेटाबेस में डेटा इंपोर्ट करें. नॉन-सीएमईके डेटाबेस से, सीएमईके डेटाबेस में डेटा को वापस भी लाया जा सकता है या क्लोन किया जा सकता है.

  • Cloud Firestore सीएमईके से सुरक्षित कुछ ही डेटाबेस के लिए उपलब्ध है.

आगे क्या करना है