VPC सर्विस कंट्रोल की मदद से, संगठन Google Cloud संसाधनों के लिए पेरीमीटर तय कर सकते हैं. इससे, डेटा को चुराए जाने के जोखिम को कम किया जा सकता है. VPC सर्विस कंट्रोल की मदद से, ऐसे पेरीमीटर बनाए जा सकते हैं जो उन सेवाओं के संसाधनों और डेटा को सुरक्षित रखते हैं जिन्हें आपने साफ़ तौर पर तय किया है.
बंडल की गई Cloud Firestore सेवाएं
VPC सर्विस कंट्रोल में, ये एपीआई बंडल किए गए हैं:
firestore.googleapis.comdatastore.googleapis.comfirestorekeyvisualizer.googleapis.com
जब किसी पेरीमीटर में firestore.googleapis.com सेवा पर पाबंदी लगाई जाती है, तो पेरीमीटर में datastore.googleapis.com और firestorekeyvisualizer.googleapis.com सेवाओं पर भी पाबंदी लग जाती है.
`datastore.googleapis.com` सेवा पर पाबंदी लगाना
datastore.googleapis.com सेवा, firestore.googleapis.com सेवा के तहत बंडल की गई है. datastore.googleapis.com सेवा पर पाबंदी लगाने के लिए, आपको firestore.googleapis.com सेवा पर इस तरह पाबंदी लगानी होगी:
- Google Cloud कंसोल का इस्तेमाल करके, सेवा पेरीमीटर बनाते समय, Cloud Firestore को पाबंदी वाली सेवा के तौर पर जोड़ें.
Google Cloud CLI का इस्तेमाल करके, सेवा पेरीमीटर बनाते समय,
datastore.googleapis.comके बजायfirestore.googleapis.comका इस्तेमाल करें.--perimeter-restricted-services=firestore.googleapis.com
App Engine के लिए, लेगसी बंडल की गई सेवाएं Datastore
App Engine Datastore की लेगसी बंडल की गई सेवाएं, सेवा पेरीमीटर के साथ काम नहीं करती हैं. सेवा पेरीमीटर की मदद से, Datastore सेवा को सुरक्षित रखने पर, App Engine लेगसी बंडल की गई सेवाओं से आने वाला ट्रैफ़िक ब्लॉक हो जाता है. लेगसी बंडल की गई सेवाओं में ये शामिल हैं:
- के एपीआई के साथ Java 8 Datastore App Engine
- Datastore के लिए Python 2 NDB क्लाइंट लाइब्रेरी Datastore
- Go 1.11 Datastore के साथ App Engine एपीआई
इंपोर्ट और एक्सपोर्ट की कार्रवाइयों पर, डेटा को चुराए जाने से बचाने की सुविधा
Cloud Firestore VPC सर्विस कंट्रोल के साथ काम करता है. हालांकि, इंपोर्ट और एक्सपोर्ट की कार्रवाइयों पर, डेटा को चुराए जाने से बचाने की पूरी सुविधा पाने के लिए, आपको अतिरिक्त कॉन्फ़िगरेशन करना होगा. इंपोर्ट और एक्सपोर्ट की कार्रवाइयों को अनुमति देने के लिए, आपको डिफ़ॉल्ट App Engine सेवा खाते के बजाय, Cloud Firestore सर्विस एजेंट का इस्तेमाल करना होगा. इंपोर्ट और एक्सपोर्ट की कार्रवाइयों के लिए, अनुमति देने वाले खाते को देखने और कॉन्फ़िगर करने के लिए, यहां दिए गए निर्देशों का पालन करें.
Cloud Firestore सर्विस एजेंट
Cloud Firestore इंपोर्ट और एक्सपोर्ट की कार्रवाइयों को अनुमति देने के लिए, App Engine सेवा खाते के बजाय, Cloud Firestore सर्विस एजेंट का इस्तेमाल करता है. सर्विस एजेंट और सेवा खाते के लिए, नाम रखने के इन तरीकों का इस्तेमाल किया जाता है:
- Cloud Firestore सर्विस एजेंट
service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com
पहले, Cloud Firestore सर्विस एजेंट के बजाय, App Engine डिफ़ॉल्ट सेवा खाते का इस्तेमाल करता था.Cloud Firestore अगर आपका डेटाबेस अब भी डेटा इंपोर्ट या एक्सपोर्ट करने के लिए, App Engine सेवा खाते का इस्तेमाल करता है, तो हमारा सुझाव है कि इस सेक्शन में दिए गए निर्देशों का पालन करके, Cloud Firestore सर्विस एजेंट का इस्तेमाल करने के लिए माइग्रेट करें.
- App Engine सेवा खाता
PROJECT_ID@appspot.gserviceaccount.com
Cloud Firestore सर्विस एजेंट का इस्तेमाल करना बेहतर है, क्योंकि यह सिर्फ़ Cloud Firestore के लिए है. App Engine सेवा खाते को एक से ज़्यादा सेवाएं शेयर करती हैं.
अनुमति देने वाला खाता देखना
Google Cloud कंसोल में, इंपोर्ट/एक्सपोर्ट पेज पर जाकर, यह देखा जा सकता है कि इंपोर्ट और एक्सपोर्ट की कार्रवाइयों के लिए, अनुरोधों को अनुमति देने के लिए किस खाते का इस्तेमाल किया जाता है. यह भी देखा जा सकता है कि आपका डेटाबेस, Cloud Firestoreसर्विस एजेंट का इस्तेमाल पहले से कर रहा है या नहीं.
- इंपोर्ट/एक्सपोर्ट की कार्रवाइयां इस खाते से की जाती हैं लेबल के बगल में, अनुमति देने वाला खाता देखें.
अगर आपके प्रोजेक्ट में, Cloud Firestore के सर्विस एजेंट का इस्तेमाल नहीं किया जाता है, तो इनमें से किसी भी तरीके का इस्तेमाल करके, Cloud Firestore के सर्विस एजेंट पर माइग्रेट किया जा सकता है:
- Cloud Storage बकेट की अनुमतियां देखकर और उन्हें अपडेट करके, किसी प्रोजेक्ट को माइग्रेट करें. हमारा सुझाव है कि आप यह तरीका अपनाएं.Cloud Storage
- संगठन के लेवल पर लागू होने वाली नीति की ऐसी पाबंदी जोड़ें जो संगठन के सभी प्रोजेक्ट पर लागू होती है.
इनमें से पहला तरीका बेहतर है, क्योंकि इससे असर किसी एक Cloud Firestore प्रोजेक्ट पर ही पड़ता है. दूसरा तरीका बेहतर नहीं है, क्योंकि इससे मौजूदा Cloud Storage बकेट की अनुमतियां माइग्रेट नहीं होती हैं. हालांकि, इससे संगठन के लेवल पर सुरक्षा से जुड़े नियमों का पालन किया जा सकता है.
बकेट की अनुमतियां देखकर और उन्हें अपडेट करके माइग्रेट करनाCloud Storage
माइग्रेशन की प्रोसेस के दो चरण होते हैं:
- Cloud Storage बकेट की अनुमतियां अपडेट करना. ज़्यादा जानकारी के लिए, अगला सेक्शन देखें.
- Cloud Firestore सर्विस एजेंट पर माइग्रेशन की पुष्टि करना.
सर्विस एजेंट की बकेट अनुमतियां
इंपोर्ट या एक्सपोर्ट की ऐसी किसी भी कार्रवाई के लिए, जिसमें Cloud Storage बकेट का इस्तेमाल किसी दूसरे प्रोजेक्ट में किया जाता है, आपको उस बकेट के लिए Cloud Firestore सर्विस एजेंट को अनुमतियां देनी होंगी. उदाहरण के लिए, डेटा को किसी दूसरे प्रोजेक्ट में ले जाने वाली कार्रवाइयों के लिए, उस दूसरे प्रोजेक्ट में मौजूद बकेट को ऐक्सेस करना ज़रूरी है. ऐसा न करने पर, इन कार्रवाइयों को Cloud Firestore सर्विस एजेंट पर माइग्रेट करने के बाद, ये कार्रवाइयां पूरी नहीं हो पाती हैं.
एक ही प्रोजेक्ट में रहने वाले इंपोर्ट और एक्सपोर्ट के वर्कफ़्लो के लिए, अनुमतियों में बदलाव करने की ज़रूरत नहीं होती. Cloud Firestore सर्विस एजेंट, डिफ़ॉल्ट रूप से एक ही प्रोजेक्ट में मौजूद बकेट को ऐक्सेस कर सकता है.
दूसरे प्रोजेक्ट की Cloud Storage बकेट की अनुमतियां अपडेट करें, ताकि
सर्विस एजेंट को
service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com
ऐक्सेस दिया जा सके. सर्विस एजेंट को Firestore Service Agent की भूमिका असाइन करें.
Firestore Service Agent की भूमिका से,
Cloud Storage बकेट के लिए पढ़ने और लिखने की अनुमतियां मिलती हैं. अगर आपको सिर्फ़ पढ़ने या सिर्फ़ लिखने की
अनुमतियां देनी हैं, तो
कस्टम भूमिकाका इस्तेमाल करें.
अगले सेक्शन में बताई गई माइग्रेशन की प्रोसेस से, आपको उन Cloud Storageबकेट की पहचान करने में मदद मिलती है जिनके लिए, अनुमतियां अपडेट करने की ज़रूरत पड़ सकती है.
किसी प्रोजेक्ट को Firestore के सर्विस एजेंट पर माइग्रेट करना
App Engine सेवा खाते से, Cloud Firestore सर्विस एजेंट पर माइग्रेट करने के लिए, यह तरीका अपनाएं. माइग्रेशन पूरा होने के बाद, इसे पहले जैसा नहीं किया जा सकता.
-
अगर आपका प्रोजेक्ट अब तक Cloud Firestore सर्विस एजेंट पर माइग्रेट नहीं हुआ है, तो आपको माइग्रेशन के बारे में बताने वाला बैनर और एक बकेट की स्थिति देखें बटन दिखेगा. अगले चरण में, संभावित अनुमति से जुड़ी गड़बड़ियों की पहचान करने और उन्हें ठीक करने में मदद मिलती है.
बकेट की स्थिति देखें पर क्लिक करें.
एक मेन्यू दिखता है. इसमें माइग्रेशन पूरा करने का विकल्प और a Cloud Storage बकेट की सूची होती है. सूची को लोड होने में कुछ मिनट लग सकते हैं.
इस सूची में वे बकेट शामिल होती हैं जिनका इस्तेमाल हाल ही में इंपोर्ट और एक्सपोर्ट की कार्रवाइयों में किया गया था. हालांकि, फ़िलहाल इन्हें पढ़ने और लिखने की अनुमतियां Cloud Firestore सर्विस एजेंट के पास नहीं हैं.
- अपने प्रोजेक्ट के Cloud Firestore सर्विस एजेंट के प्रिंसिपल का नाम नोट करें. सर्विस एजेंट का नाम, इस सर्विस एजेंट को ऐक्सेस दें लेबल के नीचे दिखता है.
-
सूची में मौजूद ऐसी किसी भी बकेट के लिए जिसका इस्तेमाल, आने वाले समय में इंपोर्ट या एक्सपोर्ट की कार्रवाइयों के लिए किया जाएगा, यह तरीका अपनाएं:
-
इस बकेट की टेबल वाली लाइन में, ठीक करें पर क्लिक करें. इससे, उस बकेट का अनुमतियां वाला पेज, नए टैब में खुलता है.
- जोड़ें पर क्लिक करें.
- **नए प्रिंसिपल** फ़ील्ड में, सर्विस एजेंट का नाम डालें.Cloud Firestore
- कोई भूमिका चुनें फ़ील्ड में, सर्विस एजेंट > Firestore का सर्विस एजेंट चुनें.
- सेव करें पर क्लिक करें.
- Cloud Firestore इंपोर्ट/एक्सपोर्ट वाले पेज के टैब पर वापस जाएं.
- सूची में मौजूद अन्य बकेट के लिए भी यही तरीका अपनाएं. पक्का करें कि आपने सूची के सभी पेज देख लिए हों.
-
-
Firestore के सर्विस एजेंट पर माइग्रेट करें पर क्लिक करें. अगर अब भी ऐसी बकेट हैं जिनकी अनुमति की जांच पूरी नहीं हुई है, तो माइग्रेट करें पर क्लिक करके, माइग्रेशन की पुष्टि करें.
माइग्रेशन पूरा होने पर, आपको एक सूचना मिलती है. माइग्रेशन को पहले जैसा नहीं किया जा सकता.
माइग्रेशन की स्थिति देखना
अपने प्रोजेक्ट के माइग्रेशन की स्थिति की पुष्टि करने के लिए:
-
इंपोर्ट/एक्सपोर्ट की कार्रवाइयां इस खाते से की जाती हैं लेबल के बगल में, प्रिंसिपल देखें.
अगर प्रिंसिपल
service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.comहै, तो आपका प्रोजेक्ट पहले ही Cloud Firestore सर्विस एजेंट पर माइग्रेट हो चुका है. माइग्रेशन को पहले जैसा नहीं किया जा सकता.अगर प्रोजेक्ट माइग्रेट नहीं हुआ है, तो पेज के सबसे ऊपर एक बैनर दिखता है. इसमें बकेट की स्थिति देखें बटन होता है. माइग्रेशन पूरा करने के लिए, Firestore के सर्विस एजेंट पर माइग्रेट करना लेख पढ़ें.
संगठन के लेवल पर लागू होने वाली नीति की पाबंदी जोड़ना
-
अपने संगठन की नीति में, यह पाबंदी सेट करें:
इंपोर्ट/एक्सपोर्ट के लिए, Firestore के सर्विस एजेंट का इस्तेमाल करना ज़रूरी है (
firestore.requireP4SAforImportExport).इस पाबंदी के तहत, इंपोर्ट और एक्सपोर्ट की कार्रवाइयों के लिए, अनुरोधों को अनुमति देने के लिए, Cloud Firestore सर्विस एजेंट का इस्तेमाल करना ज़रूरी है. यह पाबंदी सेट करने के लिए, संगठन की नीतियां बनाना और मैनेज करना लेख पढ़ें.
संगठन की नीति की इस पाबंदी को लागू करने से, सही Cloud Storage बकेट की अनुमतियां Cloud Firestore सर्विस एजेंट के लिए अपने-आप नहीं मिलती हैं.
अगर इस पाबंदी की वजह से, इंपोर्ट या एक्सपोर्ट के किसी भी वर्कफ़्लो के लिए, अनुमति से जुड़ी गड़बड़ियां होती हैं, तो इसे बंद किया जा सकता है. इससे, डिफ़ॉल्ट सेवा खाते का इस्तेमाल फिर से शुरू किया जा सकेगा. Cloud Storage बकेट की अनुमतियां देखने और उन्हें अपडेट करने के बाद, इस पाबंदी को फिर से चालू किया जा सकता है.Cloud Storage