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

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

बंडल की गई 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
    

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

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 सेवा एजेंट, डिफ़ॉल्ट रूप से एक ही प्रोजेक्ट में मौजूद बकेट को ऐक्सेस कर सकता है.

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

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

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

किसी प्रोजेक्ट को Firestore Service Agent पर माइग्रेट करना

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 की जांच करने और उन्हें अपडेट करने के बाद, इस पाबंदी को फिर से चालू किया जा सकता है.