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

डिफ़ॉल्ट रूप से, Cloud Firestore में सेव किए गए सभी डेटा को Google के डिफ़ॉल्ट एन्क्रिप्शन का इस्तेमाल करके एन्क्रिप्ट (सुरक्षित) किया जाता है. 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 को पोल करता है, ताकि यह पता चल सके कि कुंजी अब भी उपलब्ध है या नहीं. अगर कुंजी उपलब्ध है, तो एन्क्रिप्ट और डिक्रिप्ट करने की कार्रवाइयां की जाती हैं.

अगर सिस्टम को पता चलता है कि कुंजी उपलब्ध नहीं है, तो 10 मिनट के अंदर, Cloud Firestore डेटाबेस के लिए किए गए सभी अनुरोधों पर FAILED_PRECONDITION गड़बड़ी दिखती है. इनमें पढ़ने, लिखने, और क्वेरी करने के अनुरोध शामिल हैं. साथ ही, The customer-managed encryption key required by the requested resource is not accessible मैसेज दिखता है.

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

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

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

अगर कुंजी फिर से उपलब्ध हो जाती है, तो पोलिंग की कार्रवाई से पता चलता है कि कुंजी फिर से उपलब्ध है. आम तौर पर, कुछ ही मिनटों में ऐक्सेस फिर से चालू हो जाता है. हालांकि, कुछ मामलों में इसमें कुछ घंटे लग सकते हैं. ध्यान दें कि Cloud KMS कुंजियों पर की जाने वाली कुछ कार्रवाइयों को लागू होने में तीन घंटे तक लग सकते हैं. जैसे, कुंजी को बंद करना या खत्म करना. 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 बकेट, सीएमईके से सुरक्षित हों.

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