वीपीसी सेवा नियंत्रण

वीपीसी सर्विस कंट्रोल की मदद से, संगठन Google Cloud के संसाधनों के लिए एक पेरीमीटर तय कर सकते हैं. इससे डेटा बाहर निकाले जाने के जोखिम को कम किया जा सकता है. वीपीसी सर्विस कंट्रोल की मदद से, पेरीमीटर बनाए जाते हैं. ये पेरीमीटर, आपकी चुनी गई सेवाओं के संसाधनों और डेटा को सुरक्षित रखते हैं.

बंडल की गई Cloud Firestore सेवाएं

वीपीसी सर्विस कंट्रोल में, ये एपीआई एक साथ बंडल किए गए हैं:

  • firestore.googleapis.com
  • datastore.googleapis.com
  • firestorekeyvisualizer.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 Console का इस्तेमाल करके सर्विस पेरीमीटर बनाते समय, पाबंदी वाली सेवा के तौर पर Cloud Firestore को जोड़ें.
  • Google Cloud CLI का इस्तेमाल करके सर्विस पेरीमीटर बनाते समय, datastore.googleapis.com के बजाय firestore.googleapis.com का इस्तेमाल करें.

    --perimeter-restricted-services=firestore.googleapis.com
    

Datastore के लिए, बंडल की गई App Engine पुरानी सेवाएं

Datastore के लिए, App Engine की लेगसी बंडल की गई सेवाओं में सर्विस पेरीमीटर की सुविधा काम नहीं करती. Datastore सेवा को सर्विस पेरीमीटर से सुरक्षित करने पर, App Engine की लेगसी बंडल सेवाओं से आने वाला ट्रैफ़िक ब्लॉक हो जाता है. बंडल की गई लेगसी सेवाओं में ये शामिल हैं:

इंपोर्ट और एक्सपोर्ट की कार्रवाइयों पर इग्रेस डेटा ट्रैफ़िक की सुरक्षा

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

App Engine सेवा खाता
PROJECT_ID@appspot.gserviceaccount.com

Cloud Firestore सर्विस एजेंट को प्राथमिकता दी जाती है, क्योंकि यह खास तौर पर Cloud Firestore के लिए है. App Engine सेवा खाते को एक से ज़्यादा सेवाओं के साथ शेयर किया गया है.

अनुमति देने वाला खाता देखना

Google Cloud Console में इंपोर्ट/एक्सपोर्ट पेज पर जाकर, यह देखा जा सकता है कि इंपोर्ट और एक्सपोर्ट की कार्रवाइयों के लिए, किस खाते का इस्तेमाल किया जाता है. यह भी देखा जा सकता है कि आपका डेटाबेस पहले से ही Cloud Firestore सर्विस एजेंट का इस्तेमाल कर रहा है या नहीं.

  1. इंपोर्ट/एक्सपोर्ट जॉब को इस तौर पर चलाएं लेबल के बगल में, अनुमति वाला खाता देखें.

अगर आपका प्रोजेक्ट Cloud Firestore सर्विस एजेंट का इस्तेमाल नहीं करता है, तो इनमें से किसी भी तरीके का इस्तेमाल करके, Cloud Firestore सर्विस एजेंट पर माइग्रेट किया जा सकता है:

इनमें से पहली तकनीक को प्राथमिकता दी जाती है, क्योंकि यह असर के दायरे को एक Cloud Firestore प्रोजेक्ट तक सीमित कर देती है. दूसरी तकनीक को प्राथमिकता नहीं दी जाती, क्योंकि यह मौजूदा Cloud Storage बकेट की अनुमतियों को माइग्रेट नहीं करती. हालांकि, यह संगठन के लेवल पर सुरक्षा से जुड़ी नीतियों का पालन करने की सुविधा देता है.

Cloud Storage बकेट की अनुमतियों की जांच करके और उन्हें अपडेट करके माइग्रेट करना

माइग्रेशन की प्रोसेस के दो चरण हैं:

  1. Cloud Storage बकेट की अनुमतियां अपडेट करें. ज़्यादा जानकारी के लिए, यहां मौजूद सेक्शन देखें.
  2. Cloud Firestore के सर्विस एजेंट पर माइग्रेट करने की पुष्टि करें.

सर्विस एजेंट बकेट की अनुमतियां

किसी दूसरे प्रोजेक्ट में मौजूद Cloud Storage बकेट का इस्तेमाल करने वाले किसी भी एक्सपोर्ट या इंपोर्ट ऑपरेशन के लिए, आपको उस बकेट के लिए Cloud Firestore सर्विस एजेंट को अनुमतियां देनी होंगी. उदाहरण के लिए, डेटा को किसी दूसरे प्रोजेक्ट में ट्रांसफ़र करने वाले ऑपरेशन को उस दूसरे प्रोजेक्ट में मौजूद बकेट को ऐक्सेस करना होगा. ऐसा न करने पर, Cloud Firestore सर्विस एजेंट पर माइग्रेट करने के बाद, ये कार्रवाइयां पूरी नहीं हो पाएंगी.

एक ही प्रोजेक्ट में इंपोर्ट और एक्सपोर्ट किए जाने वाले वर्कफ़्लो के लिए, अनुमतियों में बदलाव करने की ज़रूरत नहीं होती. Cloud Firestore सेवा एजेंट, डिफ़ॉल्ट रूप से उसी प्रोजेक्ट में मौजूद बकेट को ऐक्सेस कर सकता है.

service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com सर्विस एजेंट को ऐक्सेस देने के लिए, अन्य प्रोजेक्ट की Cloud Storage बकेट की अनुमतियां अपडेट करें. सर्विस एजेंट को Firestore Service Agent की भूमिका असाइन करें.

Firestore Service Agent भूमिका, Cloud Storage बकेट में मौजूद डेटा को पढ़ने और उसमें बदलाव करने की अनुमतियां देती है. अगर आपको सिर्फ़ पढ़ने या सिर्फ़ लिखने की अनुमति देनी है, तो कस्टम भूमिका का इस्तेमाल करें.

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

किसी प्रोजेक्ट को Firestore सर्विस एजेंट पर माइग्रेट करना

App Engine सेवा खाते से Cloud Firestore सेवा एजेंट पर माइग्रेट करने के लिए, यह तरीका अपनाएं. माइग्रेशन पूरा होने के बाद, उसे पहले जैसा नहीं किया जा सकता.

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

    बकेट का स्टेटस देखें पर क्लिक करें.

    इसके बाद, एक मेन्यू दिखेगा. इसमें माइग्रेशन पूरा करने का विकल्प और Cloud Storage बकेट की सूची दिखेगी. सूची को लोड होने में कुछ मिनट लग सकते हैं.

    इस सूची में ऐसी बकेट शामिल हैं जिनका इस्तेमाल हाल ही में डेटा इंपोर्ट और एक्सपोर्ट करने के लिए किया गया था. हालांकि, फ़िलहाल Cloud Firestore सर्विस एजेंट के पास इन बकेट में मौजूद डेटा को पढ़ने और फ़ाइल या एंट्री में बदलाव करने की अनुमति नहीं है.

  2. अपने प्रोजेक्ट के Cloud Firestore सर्विस एजेंट के प्रिंसिपल नेम को नोट करें. सर्विस एजेंट का नाम, ऐक्सेस देने के लिए सर्विस एजेंट लेबल के नीचे दिखता है.
  3. सूची में मौजूद किसी भी बकेट के लिए, जिसका इस्तेमाल आने वाले समय में इंपोर्ट या एक्सपोर्ट करने के लिए किया जाएगा, यह तरीका अपनाएं:

    1. इस बकेट की टेबल लाइन में, ठीक करें पर क्लिक करें. इससे उस बकेट की अनुमतियों वाला पेज नए टैब में खुलता है.

    2. जोड़ें पर क्लिक करें.
    3. नए प्रिंसिपल फ़ील्ड में, अपने Cloud Firestore सेवा एजेंट का नाम डालें.
    4. कोई भूमिका चुनें फ़ील्ड में, सर्विस एजेंट > Firestore सर्विस एजेंट चुनें.
    5. सेव करें पर क्लिक करें.
    6. Cloud Firestore के इंपोर्ट/एक्सपोर्ट पेज वाले टैब पर वापस जाएं.
    7. सूची में मौजूद अन्य बकेट के लिए, यह तरीका दोहराएं. सूची के सभी पेज ज़रूर देखें.
  4. Firestore सर्विस एजेंट पर माइग्रेट करें पर क्लिक करें. अगर आपके पास अब भी ऐसी बकेट हैं जिनकी अनुमति की जांच नहीं हो पाई है, तो आपको माइग्रेट करें पर क्लिक करके, माइग्रेशन की पुष्टि करनी होगी.

    माइग्रेशन पूरा होने पर आपको सूचना दी जाएगी. माइग्रेशन को पहले जैसा नहीं किया जा सकता.

माइग्रेशन का स्टेटस देखना

अपने प्रोजेक्ट के माइग्रेशन की स्थिति की पुष्टि करने के लिए:

  1. इंपोर्ट/एक्सपोर्ट जॉब को इस रूप में चलाएं लेबल के बगल में मौजूद प्रिंसिपल को देखें.

    अगर प्रिंसिपल service-PROJECT_NUMBER@gcp-sa-firestore.iam.gserviceaccount.com है, तो इसका मतलब है कि आपका प्रोजेक्ट पहले ही Cloud Firestore सर्विस एजेंट पर माइग्रेट हो चुका है. माइग्रेशन को पहले जैसा नहीं किया जा सकता.

    अगर प्रोजेक्ट को माइग्रेट नहीं किया गया है, तो पेज के सबसे ऊपर एक बैनर दिखेगा. इसमें बकेट का स्टेटस देखें बटन होगा. माइग्रेशन पूरा करने के लिए, Firestore सर्विस एजेंट पर माइग्रेट करें लेख पढ़ें.

पूरे संगठन के लिए नीति से जुड़ी पाबंदी जोड़ना

  • अपने संगठन की नीति में यह शर्त सेट करें:

    इंपोर्ट/एक्सपोर्ट करने के लिए, Firestore सर्विस एजेंट की ज़रूरत होती है (firestore.requireP4SAforImportExport).

    इस पाबंदी के तहत, इंपोर्ट और एक्सपोर्ट की कार्रवाइयों के लिए, Cloud Firestore सेवा एजेंट का इस्तेमाल करना ज़रूरी है, ताकि अनुरोधों को अनुमति दी जा सके. इस पाबंदी को सेट करने के लिए, संगठन की नीतियां बनाना और उन्हें मैनेज करना लेख पढ़ें.

संगठन की नीति से जुड़ी इस पाबंदी को लागू करने से, Cloud Firestore सेवा एजेंट को Cloud Storage बकेट की ज़रूरी अनुमतियां अपने-आप नहीं मिलती हैं.

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