डिफ़ॉल्ट रूप से, Cloud Firestore में सेव किए गए सभी डेटा को Google के डिफ़ॉल्ट एन्क्रिप्शन का इस्तेमाल करके एन्क्रिप्ट (सुरक्षित) किया जाता है. 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 को पोल करता है, ताकि यह पता चल सके कि कुंजी अब भी उपलब्ध है या नहीं. अगर कुंजी उपलब्ध है, तो एन्क्रिप्ट और डिक्रिप्ट करने की कार्रवाइयां की जाती हैं.
अगर सिस्टम को पता चलता है कि कुंजी उपलब्ध नहीं है, तो 10
मिनट के अंदर, Cloud Firestore डेटाबेस के लिए किए गए सभी कॉल,
जैसे कि पढ़ने, लिखने, और क्वेरी करने के अनुरोध, FAILED_PRECONDITION गड़बड़ी दिखाते हैं. साथ ही, इनमें यह The customer-managed encryption key required by the requested
resource is not accessible मैसेज दिखता है.
अगर डेटाबेस में टाइम-टू-लाइव (टीटीएल) नीतियां हैं और कुंजी उपलब्ध न होने पर, कोई भी समयसीमा खत्म हो जाती है, तो टी2}डेटा मिटाने की प्रोसेस टीटीएल के हिसाब से तब तक नहीं होगी, जब तक कुंजी फिर से उपलब्ध नहीं हो जाती. अगर डेटाबेस में लंबे समय तक चलने वाली कार्रवाइयां चल रही हैं, तो उन पर इस तरह असर पड़ेगा:
- डेटा इंपोर्ट या एक्सपोर्ट करने की कार्रवाइयां रुक जाएंगी और उन्हें
Failedके तौर पर मार्क कर दिया जाएगा. कुंजी के फिर से उपलब्ध होने पर, फ़ेल हुई कार्रवाइयों को फिर से नहीं किया जाएगा. - इंडेक्स बनाने की कार्रवाइयां और नई टीटीएल नीतियां चालू करने की कार्रवाइयां रुक जाएंगी. कुंजी के फिर से उपलब्ध होने पर, रुकी हुई कार्रवाइयों को फिर से किया जाएगा.
कुंजियों को तब उपलब्ध नहीं माना जाता, जब Cloud Firestore को जान-बूझकर कुंजी ऐक्सेस करने की अनुमति नहीं दी जाती. इसमें ये शामिल हैं:
- इस्तेमाल में मौजूद कुंजी के वर्शन कोबंद करना या मिटाना. कुंजी के वर्शन को मिटाते समय सावधानी बरतें, क्योंकि इससे डेटा हमेशा के लिए मिट सकता है.
- अनुमति हटाना कुंजी को Cloud Firestore सेवा खाते से ऐक्सेस करने की.
अगर कुंजी फिर से उपलब्ध हो जाती है, तो पोलिंग की कार्रवाई से पता चलता है कि कुंजी फिर से उपलब्ध है. आम तौर पर, कुछ ही मिनटों में ऐक्सेस फिर से चालू हो जाता है. हालांकि, कुछ मामलों में इसमें कुछ घंटे लग सकते हैं. ध्यान दें कि Cloud KMS कुंजियों पर की जाने वाली कुछ कार्रवाइयों, जैसे कि कुंजी को बंद करना या मिटाना, को लागू होने में तीन घंटे तक लग सकते हैं. Cloud Firestore Cloud Firestore, Cloud KMS में बदलाव लागू होने तक उन्हें नहीं पहचानता.
कुंजी को फिर से उपलब्ध कराने में, स्थिति के हिसाब से ये कार्रवाइयां शामिल होती हैं:
- बंद किए गए कुंजी के वर्शन को फिर से चालू करना.
- मिटाए गए कुंजी के वर्शन को वापस लाना. कुंजी के वर्शन को हमेशा के लिए मिटाने से पहले, उसे मिटाने के लिए शेड्यूल किया जाता है. कुंजी को सिर्फ़ उस दौरान वापस लाया जा सकता है जब कुंजी के वर्शन को मिटाने के लिए शेड्यूल किया गया हो. ऐसी कुंजी को वापस नहीं लाया जा सकता जिसे हमेशा के लिए मिटा दिया गया है.
- सेवा एजेंट को, कुंजी को ऐक्सेस करने की अनुमति फिर से देना.Cloud Firestore
कुंजी को रोटेट करने से जुड़ी ज़रूरी बातें
सीएमईके कुंजी को रोटेट करने पर, Cloud Firestore सीएमईके कुंजी के सबसे नए प्राइमरी वर्शन का इस्तेमाल करके, डेटाबेस को फिर से एन्क्रिप्ट (सुरक्षित) करता है. फिर से एन्क्रिप्ट करने की प्रोसेस के दौरान, पुरानी और नई, दोनों कुंजी के वर्शन उपलब्ध रखें. फिर से एन्क्रिप्ट करने की प्रोसेस पूरी होने के बाद, सीएमईके कुंजी के पुराने वर्शन को बंद करने या मिटाने से, डेटाबेस का ऐक्सेस बंद नहीं होगा. ऐसा इसलिए, क्योंकि डेटाबेस को नए प्राइमरी कुंजी वर्शन से एन्क्रिप्ट (सुरक्षित) किया गया है.
आपके पास उन कुंजी वर्शन को देखने का विकल्प भी होता है जिनका इस्तेमाल, डेटाबेस को सुरक्षित रखने के लिए किया जा रहा है. ज़्यादा जानकारी के लिए, इस्तेमाल में मौजूद कुंजी देखना देखें.
बाहरी कुंजी से जुड़ी ज़रूरी बातें
Cloud EKM कुंजी का इस्तेमाल करने पर, Google के पास बाहरी तौर पर मैनेज की जाने वाली आपकी कुंजी की उपलब्धता को कंट्रोल करने का कोई विकल्प नहीं होता. यह कुंजी, बाहरी कुंजी मैनेजमेंट पार्टनर सिस्टम में होती है.
अगर बाहरी तौर पर मैनेज की जाने वाली कोई कुंजी उपलब्ध नहीं है, तो Cloud Firestore एक घंटे तक डेटाबेस की सभी कार्रवाइयों को पूरी तरह से सपोर्ट करता है.
अगर एक घंटे बाद भी Cloud Firestore Cloud KMS से कनेक्ट नहीं हो पाता है, तो Cloud Firestore सुरक्षा के लिए डेटाबेस को ऑफ़लाइन कर देता है. डेटाबेस के लिए किए गए कॉल, FAILED_PRECONDITION गड़बड़ी के साथ फ़ेल हो जाएंगे. इसमें ज़्यादा जानकारी भी शामिल होगी.
बाहरी कुंजियों का इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, Cloud External Key Manager का दस्तावेज़ देखें.
बैकअप लें और बहाल करें
बैकअप में, उसी एन्क्रिप्शन मेकैनिज़्म का इस्तेमाल किया जाता है जिससे डेटाबेस बनाया गया है. सीएमईके से सुरक्षित Cloud Firestore डेटाबेस, बैकअप बनाते समय इस्तेमाल किए गए प्राइमरी कुंजी वर्शन का इस्तेमाल करके, बैकअप को एन्क्रिप्ट (सुरक्षित) करता है.
Cloud Firestore सीएमईके डेटाबेस का पहला बैकअप, बैकअप शेड्यूल चालू करने के 24 घंटे बाद बनाता है.
Cloud Firestore के बैकअप के बारे में ज़्यादा जानने के लिए, डेटा का बैकअप लेना और उसे वापस लाना देखें.
डिफ़ॉल्ट रूप से, बैकअप से बहाल किया गया डेटाबेस, उसी एन्क्रिप्शन मेकैनिज़्म का इस्तेमाल करता है जिससे बैकअप लिया गया था. डेटाबेस को बहाल करते समय, एन्क्रिप्शन का कोई दूसरा टाइप तय किया जा सकता है. इसके लिए, इनमें से कोई एक तरीका अपनाएं:
- सीएमईके डेटाबेस में, नई तय की गई कुंजी का इस्तेमाल करके डेटा को बहाल करना.
- ऐसे नॉन-सीएमईके डेटाबेस में डेटा को बहाल करना जो Google के डिफ़ॉल्ट एन्क्रिप्शन का इस्तेमाल करता है.
- ऐसे डेटाबेस में डेटा को बहाल करना जो बैकअप के लिए इस्तेमाल किए गए एन्क्रिप्शन का इस्तेमाल करता है.
Cloud Firestore डेटाबेस को बैकअप से बहाल करने के बारे में ज़्यादा जानने के लिए, डेटाबेस के बैकअप से डेटा बहाल करना देखें. सीएमईके से सुरक्षित Cloud Firestore डेटाबेस को बैकअप से बहाल करने के बारे में ज़्यादा जानने के लिए, सीएमईके से सुरक्षित डेटाबेस को बहाल करना देखें.
क्लोन बनाएं
डिफ़ॉल्ट रूप से, किसी दूसरे डेटाबेस से क्लोन किया गया डेटाबेस, सोर्स डेटाबेस के एन्क्रिप्शन मेकैनिज़्म का इस्तेमाल करता है. डेटाबेस को क्लोन करते समय, एन्क्रिप्शन का कोई दूसरा टाइप तय किया जा सकता है. इसके लिए, इनमें से कोई एक तरीका अपनाएं:
- सीएमईके डेटाबेस में, नई तय की गई कुंजी का इस्तेमाल करके डेटा को क्लोन करना.
- ऐसे नॉन-सीएमईके डेटाबेस में डेटा को क्लोन करना जो Google के डिफ़ॉल्ट एन्क्रिप्शन का इस्तेमाल करता है.
- (डिफ़ॉल्ट) ऐसे डेटाबेस में डेटा को क्लोन करना जो सोर्स डेटाबेस के लिए इस्तेमाल किए गए एन्क्रिप्शन का इस्तेमाल करता है.
Cloud Firestore डेटाबेस को क्लोन करने के बारे में ज़्यादा जानने के लिए, डेटाबेस को क्लोन करना देखें. सीएमईके से सुरक्षित Cloud Firestore डेटाबेस को क्लोन करने के बारे में ज़्यादा जानने के लिए, सीएमईके से सुरक्षित डेटाबेस को क्लोन करना देखें.
कुंजी की ट्रैकिंग
कुंजी की ट्रैकिंग का इस्तेमाल करके, उन संसाधनों को देखा जा सकता है जिन्हें कोई कुंजी सुरक्षित रखती है. जैसे, Cloud Firestore डेटाबेस. कुंजी की ट्रैकिंग के बारे में ज़्यादा जानने के लिए, कुंजी के इस्तेमाल की जानकारी देखना देखें.
सीएमईके और कुंजी की उपलब्धता
जब कुंजियां उपलब्ध नहीं होती हैं या बंद कर दी जाती हैं, तो सीएमईके की सुविधा वाले डेटाबेस में होने वाले इन व्यवहारों के बारे में जानें:
- सीएमईके की सुविधा वाले डेटाबेस पर, Cloud Firestore पॉइंट-इन-टाइम रिकवरी (पीआईटीआर) की सेटिंग बदली जा सकती हैं. भले ही, कुंजी उपलब्ध न हो. ऐसा इसलिए, क्योंकि पीआईटीआर सेटिंग, डेटाबेस का मेटाडेटा होती हैं. इसे सीएमईके से एन्क्रिप्ट (सुरक्षित) नहीं किया जाता.
- सीएमईके डेटाबेस को मिटाया जा सकता है. भले ही, उसकी कुंजियां उपलब्ध न हों.
- सीएमईके की सुविधा वाला डेटाबेस बनाते समय, बंद की गई कुंजियां, Google Cloud Console में उपलब्ध कुंजियों की सूची में नहीं दिखतीं. अगर बंद की गई कुंजी को मैन्युअल तरीके से डाला जाता है, तो डेटाबेस बनाने की प्रोसेस,
FAILED_PRECONDITIONगड़बड़ी 400 के साथ फ़ेल हो जाएगी.
सीमाएं
- सीएमईके से सुरक्षित डेटाबेस के लिए, कुंजी नहीं बदली जा सकती. कुंजियों को रोटेट, चालू, और बंद किया जा सकता है.
- सीएमईके से सुरक्षित डेटाबेस, Key Visualizer को सिर्फ़ इकाई और दस्तावेज़ के डेटा के लिए सपोर्ट करते हैं. इंडेक्स के डेटा के लिए नहीं.
- मौजूदा डेटाबेस पर, सीएमईके की सुविधा चालू नहीं की जा सकती. सीएमईके की सुविधा सिर्फ़ नए डेटाबेस पर चालू की जा सकती है. साथ ही, डेटाबेस बनाते समय इसे चालू करना ज़रूरी है. मौजूदा नॉन-सीएमईके डेटाबेस में मौजूद डेटा को, सीएमईके से सुरक्षित डेटाबेस में माइग्रेट करने के लिए, अपना डेटा एक्सपोर्ट करें. इसके बाद, सीएमईके से सुरक्षित नए डेटाबेस में डेटा इंपोर्ट करें. नॉन-सीएमईके डेटाबेस से, सीएमईके डेटाबेस में डेटा को बहाल या क्लोन भी किया जा सकता है.
- Cloud Firestore सीएमईके से सुरक्षित कुछ ही डेटाबेस को सपोर्ट करता है.
- हम Cloud Functions (पहली पीढ़ी) के इंटिग्रेशन के साथ, सीएमईके की सुरक्षा को सपोर्ट नहीं करते. अगर आपको सीएमईके की सुरक्षा चाहिए, तो Cloud Run फ़ंक्शन Firestore ट्रिगर (दूसरी पीढ़ी) का इस्तेमाल करें.
सीएमईके से सुरक्षित डेटाबेस से डेटा कैसे बाहर जा सकता है
आपके ऐप्लिकेशन से कॉपी किए गए डेटा को, उसके उपयोगकर्ता किसी भी तरीके से सेव कर सकते हैं. Cloud Firestore डेटा को ऐक्सेस करने वाले किसी भी ऐप्लिकेशन के लिए, सुरक्षा से जुड़े सही कंट्रोल ज़रूरी हैं. इससे यह पक्का किया जा सकता है कि डेटा को सिर्फ़ वे लोग ऐक्सेस कर पाएं जिनके पास इसकी अनुमति है. ज़्यादा जानकारी के लिए, सुरक्षा के नियम और IAM देखें.
सीएमईके से सुरक्षित डेटाबेस से डेटा को, नॉन-सीएमईके डेटाबेस में ले जाया जा सकता है. इसके लिए, बैकअप लेने और डेटा वापस पाने की सुविधा, क्लोन करने की सुविधा या इंपोर्ट और एक्सपोर्ट करने की सुविधा का इस्तेमाल किया जा सकता है. इन कार्रवाइयों के लिए, सिर्फ़ अनुमति वाले उपयोगकर्ताओं को अनुमति देने के लिए, IAM के सही कंट्रोल का इस्तेमाल करें. इसके अलावा, सीएमईके की संगठन की नीति से जुड़ी पाबंदियों का इस्तेमाल करके, यह ज़रूरी किया जा सकता है कि बहाल करने या क्लोन करने से बनाए गए सभी डेटाबेस और इंपोर्ट के लिए इस्तेमाल किए गए सभी Cloud Storage बकेट, सीएमईके से सुरक्षित हों.