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

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

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

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

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

अन्य प्रोजेक्ट के 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 सेवा एजेंट पर माइग्रेट करने के लिए, यह तरीका अपनाएं. माइग्रेशन पूरा होने के बाद, इसे पहले जैसा नहीं किया जा सकता.

  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 Service Agent पर माइग्रेट करें पर क्लिक करें. अगर आपके पास अब भी ऐसे बकेट हैं जिनके लिए अनुमति की जांच पूरी नहीं हुई है, तो आपको माइग्रेशन की पुष्टि करनी होगी. इसके लिए, माइग्रेट करें पर क्लिक करें.

    माइग्रेशन पूरा होने पर, आपको सूचना दी जाती है. माइग्रेशन शुरू होने के बाद, उसे रोका नहीं जा सकता.

माइग्रेशन की स्थिति देखना

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

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

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

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

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

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

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

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

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

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