संसाधनों का ऐक्सेस कंट्रोल करना

Earth Engine की सुविधा वाले प्रोजेक्ट की ऐसेट या कंप्यूट कोटा को, प्रोजेक्ट लेवल पर Earth Engine का इस्तेमाल करने वाले अन्य लोगों के साथ शेयर किया जा सकता है. Earth Engine की ऐसेट या कंप्यूटिंग को किसी दूसरे उपयोगकर्ता या उपयोगकर्ताओं के ग्रुप के साथ शेयर किया जा सकता है. अगर आपको उपयोगकर्ताओं के किसी ग्रुप के साथ शेयर करना है, तो नया Google ग्रुप बनाएं और उसका ईमेल पता नोट करें. यह ईमेल पता, ग्रुप पेज पर मौजूद 'इसके बारे में' लिंक पर जाकर देखा जा सकता है. इस पेज पर, किसी व्यक्ति या ग्रुप को संसाधनों का ऐक्सेस देने का तरीका बताया गया है. साथ ही, अलग-अलग गतिविधियों के लिए ज़रूरी भूमिकाओं और अनुमतियों के बारे में भी बताया गया है.

Earth Engine सेवा के इस्तेमाल की सीमा सेट करना

किसी Cloud प्रोजेक्ट पर Earth Engine API का इस्तेमाल करने के लिए, यह ज़रूरी है कि एपीआई को प्रोजेक्ट पर चालू किया गया हो. साथ ही, उपयोगकर्ता के पास कम से कम Earth Engine Resource Viewer की भूमिका में अनुमतियां होनी चाहिए. Earth Engine की पहले से तय की गई आईएएम भूमिकाओं के बारे में ज़्यादा जानें. इसके अलावा, उपयोगकर्ता के पास प्रोजेक्ट के लिए कम से कम serviceusage.services.use अनुमति होनी चाहिए. यह अनुमति, प्रोजेक्ट के मालिक या एडिटर की भूमिकाओं के ज़रिए दी जा सकती है. इसके अलावा, Service Usage Consumer की भूमिका के ज़रिए भी यह अनुमति दी जा सकती है. अगर उपयोगकर्ता के पास चुने गए प्रोजेक्ट के लिए, Earth Engine की ज़रूरी अनुमतियां और सेवा के इस्तेमाल की अनुमतियां नहीं हैं, तो गड़बड़ी का मैसेज दिखेगा.

ऐसेट की अनुमतियां सेट करना

ऐसेट लेवल पर अनुमतियां सेट करना

ऐसेट लेवल पर अनुमतियां अपडेट करने के लिए, कई विकल्प उपलब्ध हैं.

  • कोड एडिटर में ऐसेट मैनेजर का इस्तेमाल करें.
  • Earth Engine की कमांड लाइन का इस्तेमाल करें.
  • क्लाइंट लाइब्रेरी का इस्तेमाल करें. उदाहरण के लिए, ee.data.setAssetAcl().
  • इसके अलावा, सीधे REST API को कॉल करें.

प्रोजेक्ट लेवल पर ऐसेट की अनुमतियां सेट करना

प्रोजेक्ट लेवल पर शेयर करने से, Earth Engine की सुविधा वाले Cloud प्रोजेक्ट की सभी ऐसेट के लिए अनुमतियां एक साथ सेट हो जाती हैं.

प्रोजेक्ट के लेवल पर ऐसेट शेयर की जा सकती हैं. इसके लिए, आपको अपने प्रोजेक्ट के IAM एडमिन पेज पर, पहचान और ऐक्सेस मैनेजमेंट (आईएएम) की सही भूमिका असाइन करनी होगी. Earth Engine की ऐसेट और संसाधन शेयर करने के लिए, Earth Engine IAM की पहले से तय की गई भूमिकाएं होती हैं. आईएएम की भूमिकाओं के बारे में सामान्य जानकारी पाने के लिए, भूमिकाओं के बारे में जानकारी लेख पढ़ें.

जब कोई दूसरा उपयोगकर्ता आपकी किसी ऐसेट को ऐक्सेस करने की कोशिश करता है, तो सबसे पहले ऐसेट लेवल पर अनुमतियों की जांच की जाती है. अगर ऐसेट लेवल पर अनुमतियां सेट नहीं की गई हैं या जांच पूरी नहीं होती है (यानी कि ऐक्सेस नहीं है), तो अनुमतियों की जांच प्रोजेक्ट लेवल पर की जाएगी.

प्रोजेक्ट लेवल की अनुमतियां सेट करना

प्रोजेक्ट के लेवल पर अनुमतियां सेट करने के लिए, किसी उपयोगकर्ता या उपयोगकर्ताओं के ग्रुप को प्रोजेक्ट की IAM भूमिका असाइन करें:

  1. Google Cloud Console में IAM पेज खोलें
    IAM पेज खोलें
    इसके अलावा, Code Editor के ऐसेट टैब में जाकर, अपने प्रोजेक्ट के नाम पर पॉइंटर घुमाएं और आइकॉन पर क्लिक करें.
  2. कोई प्रोजेक्ट चुनें पर क्लिक करें और अपना प्रोजेक्ट चुनें. अगर आपने कोड एडिटर से IAM पेज खोला है, तो आपको पहले से ही वहां होना चाहिए.
  3. सबसे ऊपर मौजूद, जोड़ें पर क्लिक करें. इसके बाद, किसी व्यक्ति या ग्रुप के ईमेल पते को नए सदस्य के तौर पर जोड़ें. इसके अलावा, प्रोजेक्ट में मौजूद सदस्य के बगल में मौजूद आइकॉन पर क्लिक करें.
  4. भूमिका ड्रॉप-डाउन में, वह Earth Engine संसाधन भूमिका खोजें जिसे आपको अनुमति देनी है. ज़्यादा जानकारी के लिए, Earth Engine के लिए पहले से तय की गई IAM भूमिकाएं देखें.
  5. सेव करें बटन पर क्लिक करें.

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

Earth Engine, VPC सर्विस कंट्रोल के साथ काम करता है. यह Google Cloud की सुरक्षा से जुड़ी एक सुविधा है. इससे उपयोगकर्ताओं को अपने संसाधनों को सुरक्षित रखने और डेटा चोरी होने के जोखिम को कम करने में मदद मिलती है. किसी वीपीसी सर्विस पेरीमीटर में संसाधन जोड़ने से, डेटा को पढ़ने और लिखने की कार्रवाइयों पर ज़्यादा कंट्रोल मिलता है.

VPC-SC की सुविधाओं और कॉन्फ़िगरेशन के बारे में ज़्यादा जानें.

सीमाएं

अपने संसाधनों के लिए वीपीसी सर्विस कंट्रोल चालू करने पर, कुछ सीमाएं लागू होती हैं. इनके लिए, हमने वर्कअराउंड के उदाहरण दिए हैं:

पाबंदी उदाहरण के लिए, दूसरा विकल्प
कोड एडिटर काम नहीं करता है. साथ ही, वीपीसी सर्विस कंट्रोल, इसे सेवा पेरीमीटर के अंदर मौजूद संसाधनों और क्लाइंट के साथ इस्तेमाल करने की अनुमति नहीं देता. Earth Engine Python API के साथ-साथ geemap लाइब्रेरी का इस्तेमाल करें.
लेगसी ऐसेट को VPC सर्विस कंट्रोल से सुरक्षित नहीं किया जाता. Cloud प्रोजेक्ट में सेव की गई ऐसेट का इस्तेमाल करें.
Google Drive में एक्सपोर्ट करने की सुविधा, VPC सर्विस कंट्रोल के साथ काम नहीं करती.
Earth Engine Apps, सेवा के दायरे में आने वाले संसाधनों और क्लाइंट के लिए उपलब्ध नहीं हैं. समस्या का कोई समाधान उपलब्ध नहीं है.

सुरक्षित वीपीसी सर्विस पेरीमीटर के अंदर मौजूद संसाधनों के साथ Earth Engine का इस्तेमाल सिर्फ़ Professional और Premium प्राइसिंग प्लान के लिए उपलब्ध है. अगर Earth Engine API का इस्तेमाल, VPC-SC से सुरक्षित किए गए ऐसे प्रोजेक्ट के साथ किया जाता है जो Basic प्राइसिंग प्लान से जुड़ा है, तो गड़बड़ी होगी. Earth Engine की कीमत के बारे में ज़्यादा जानने के लिए, आधिकारिक दस्तावेज़ पढ़ें.

VPC सर्विस कंट्रोल और इसकी सीमाओं के बारे में ज़्यादा जानकारी, साथ काम करने वाले प्रॉडक्ट और सीमाएं में देखी जा सकती है.

भूमिकाएं और अनुमतियां

यहां दिए गए सेक्शन में, Earth Engine के संसाधनों को ऐक्सेस करने और गतिविधियों को पूरा करने के लिए ज़रूरी अनुमतियों और भूमिकाओं के बारे में बताया गया है. Cloud प्रोजेक्ट की अनुमतियों और भूमिकाओं के बारे में ज़्यादा जानने के लिए, Google Cloud का दस्तावेज़ देखें.

Earth Engine के लिए, IAM की पहले से तय की गई भूमिकाएं

Earth Engine में पहले से तय की गई भूमिकाएं होती हैं. इनकी मदद से, किसी प्रोजेक्ट में Earth Engine के संसाधनों को अलग-अलग लेवल पर कंट्रोल किया जा सकता है. ये भूमिकाएं हैं:

भूमिका शीर्षक ब्यौरा
roles/earthengine.viewer Earth Engine रिसॉर्स व्यूअर इससे ऐसेट और टास्क देखने और उनकी सूची बनाने की अनुमति मिलती है.
roles/earthengine.writer Earth Engine के संसाधन लिखने वाला इस भूमिका से, ऐसेट को पढ़ने, बनाने, उनमें बदलाव करने, और उन्हें मिटाने की अनुमति मिलती है. साथ ही, इमेज और टेबल इंपोर्ट करने, टास्क को पढ़ने और अपडेट करने, इंटरैक्टिव कंप्यूटेशन करने, और लंबे समय तक चलने वाले एक्सपोर्ट टास्क बनाने की अनुमति मिलती है.
roles/earthengine.admin Earth Engine एडमिन यह Earth Engine के सभी संसाधनों के लिए अनुमति देता है. इसमें Earth Engine ऐसेट के लिए ऐक्सेस कंट्रोल बदलना भी शामिल है.
roles/earthengine.appsPublisher Earth Engine ऐप्लिकेशन पब्लिश करने वाला इस भूमिका से, Earth Engine ऐप्लिकेशन के साथ इस्तेमाल करने के लिए सेवा खाता बनाने की अनुमति मिलती है. इससे Cloud Project के तहत, प्रोजेक्ट के मालिकाना हक वाले ऐप्लिकेशन में बदलाव करने और उन्हें मिटाने की अनुमति भी मिलती है.

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

Earth Engine API का पूरा ऐक्सेस

उपयोगकर्ताओं को Earth Engine सेवा का पूरा ऐक्सेस देने के लिए, उन्हें ये अनुमतियां देनी होंगी. ये अनुमतियां, सीधे तौर पर REST API, Code Editor या क्लाइंट लाइब्रेरी के ज़रिए दी जा सकती हैं:

अनुमतियां ज़रूरी हैं
  • clientauthconfig.clients.listWithSecrets
  • earthengine.assets.get
  • earthengine.assets.getIamPolicy
  • earthengine.assets.list
  • earthengine.computations.create
  • earthengine.operations.get
  • earthengine.operations.list
  • monitoring.timeSeries.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.operations.get
  • serviceusage.operations.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list
  • serviceusage.services.use
सुझाई गई भूमिकाएं
  • Service Usage Consumer (roles/serviceusage.serviceUsageConsumer) और इनमें से कोई एक:
    • Earth Engine Resource Viewer (roles/earthengine.viewer) या
    • Earth Engine Resource Writer (roles/earthengine.writer) या
    • Earth Engine Resource Admin (roles/earthengine.admin)
  • OAuth कॉन्फ़िगरेशन एडिटर (roles/oauthconfig.editor) की ज़रूरत उन उपयोगकर्ताओं को भी होती है जो नोटबुक एनवायरमेंट के ज़रिए Earth Engine ऐक्सेस करते हैं और Notebook Authenticator का इस्तेमाल करते हैं. ज़्यादा जानकारी के लिए, Colab या JupyterLab नोटबुक में पुष्टि करना लेख पढ़ें.
नोट Google Cloud को एपीआई कॉल करते समय, प्रोजेक्ट को चालू प्रोजेक्ट के तौर पर इस्तेमाल करने के लिए, Service Usage Consumer की भूमिका की ज़रूरत होती है. साथ ही, प्रोजेक्ट X पर यह अनुमति न होने पर ee.Initialize(project=X) काम नहीं करेगा. इसके अलावा, Cloud Console में इस प्रोजेक्ट को चुनकर, संसाधनों के इस्तेमाल की जानकारी दिखाई जा सकती है.

सिर्फ़ ऐसेट शेयर करने की सुविधा

उपयोगकर्ता को Earth Engine IAM की पहले से तय की गई भूमिकाओं में से कोई एक भूमिका असाइन करें. साथ ही, उसे ज़रूरी गतिविधि करने के लिए कम से कम अनुमतियां दें. ध्यान दें कि उपयोगकर्ताओं के पास ज़रूरी serviceusage अनुमतियां न होने पर, वे प्रोजेक्ट के संसाधनों का इस्तेमाल नहीं कर पाएंगे.

प्रोजेक्ट प्रबंधन सेवा

उपलब्ध प्रोजेक्ट की सूची बनाना और उन्हें दिखाना

ऐसा तब होता है, जब उपलब्ध प्रोजेक्ट ब्राउज़ करने के लिए कोड एडिटर का इस्तेमाल किया जाता है.

अनुमतियां ज़रूरी हैं
  • resourcemanager.projects.get
  • resourcemanager.folders.list
  • resourcemanager.folders.get
  • resourcemanager.organizations.get (सामान्य नहीं है)
सुझाई गई भूमिकाएं
  • व्यूअर (roles/viewer) या
    संबंधित प्रोजेक्ट पर Earth Engine Resource Viewer (roles/earthengine.viewer) या
    ब्राउज़र (roles/browser, संगठन के ऐडवांस मामलों के लिए सुझाव दिया गया है)
  • फ़ोल्डर व्यूअर (roles/resourcemanager.folderViewer) की भूमिका असाइन करें

Code Editor में इस्तेमाल करने के लिए कोई प्रोजेक्ट चुनें

अनुमतियां ज़रूरी हैं
  • resourcemanager.projects.get
  • serviceusage.services.get
अगर प्रोजेक्ट को पहले कभी सेट अप नहीं किया गया है

कोड एडिटर में पहली बार कोई प्रोजेक्ट चुनने पर, उसे Earth Engine के साथ इस्तेमाल करने के लिए शुरू किया जाता है. अगर आपने पहले कभी ऐसा नहीं किया है, तो सेटअप पूरा करने के लिए आपको इन भूमिकाओं की ज़रूरत होगी.

  • resourcemanager.projects.update और
  • serviceusage.services.enable
सुझाई गई भूमिकाएं
  • दर्शक (roles/viewer) या
  • Earth Engine Resource Viewer (roles/earthengine.viewer) और
    Service Usage Consumer (roles/serviceusage.serviceUsageConsumer)
अतिरिक्त भूमिकाएं (अगर प्रोजेक्ट को पहले सेट अप नहीं किया गया है)
  • एडिटर (roles/editor) या
  • प्रोजेक्ट मूवर (roles/resourcemanager.projectMover) AND
    प्रोजेक्ट IAM एडमिन (roles/resourcemanager.projectIamAdmin) AND
    सेवा के इस्तेमाल का एडमिन (roles/serviceusage.serviceUsageAdmin)

कोड एडिटर की मदद से प्रोजेक्ट बनाना

अनुमतियां ज़रूरी हैं
  • resourcemanager.projects.get
  • resourcemanager.projects.create
  • resourcemanager.projects.update
  • serviceusage.services.get
  • serviceusage.services.enable
सुझाई गई भूमिकाएं
  • एडिटर (roles/editor) या
  • प्रोजेक्ट मूवर (roles/resourcemanager.projectMover) और
    प्रोजेक्ट क्रिएटर (roles/resourcemanager.projectCreator) और
    सेवा के इस्तेमाल का एडमिन (roles/serviceusage.serviceUsageAdmin)
नोट ऐसा हो सकता है कि आपका संगठन आपको एडिटर की भूमिका न दे. इसलिए, आपको ज़्यादा कंट्रोल वाली भूमिकाओं की ज़रूरत पड़ सकती है. projects.update अनुमति को कवर करने के लिए, प्रोजेक्ट मूवर की भूमिका ज़रूरी है.

गैर-व्यावसायिक टियर चुनना

यहां दी गई अनुमतियां और सुझाई गई भूमिकाएं, गैर-व्यावसायिक टियर के कॉन्फ़िगरेशन से जुड़ी हैं.

टियर चुनना
अनुमतियां ज़रूरी हैं
  • earthengine.config.update
सुझाई गई भूमिकाएं
  • Earth Engine Resource Writer (roles/earthengine.writer)
किसी प्रोजेक्ट के साथ बिलिंग खाता लिंक करना

योगदानकर्ता टियर के लिए, प्रोजेक्ट से जुड़ा मान्य बिलिंग खाता होना ज़रूरी है. बिलिंग की अनुमतियों और भूमिकाओं के बारे में ज़्यादा जानने के लिए, Cloud Billing का ऐक्सेस पेज देखें.

अनुमतियां ज़रूरी हैं
बिलिंग खाता
  • billing.resourceAssociations.create
क्लाउड प्रोजेक्ट
  • resourcemanager.projects.createBillingAssignment
सुझाई गई भूमिकाएं
बिलिंग खाता
  • बिलिंग खाता इस्तेमाल करने वाला व्यक्ति (roles/billing.user)
क्लाउड प्रोजेक्ट
  • प्रोजेक्ट का बिलिंग मैनेजर (roles/billing.projectManager)

कमर्शियल प्रोजेक्ट का रजिस्ट्रेशन

यहां दी गई अनुमतियां, पैसे चुकाकर इस्तेमाल करने के लिए प्रोजेक्ट रजिस्टर करने से जुड़ी हैं.

अनुमतियां ज़रूरी हैं
बिलिंग खाता
  • billing.subscriptions.list
इसके अलावा:
  • billing.accounts.get (नया Limited प्लान बनाने के लिए)
  • billing.subscriptions.create (नया बेसिक या Professional प्लान बनाने के लिए)
क्लाउड प्रोजेक्ट
  • earthengine.computations.create
  • earthengine.config.update
  • serviceusage.services.get
  • serviceusage.services.enable
सुझाई गई भूमिकाएं
बिलिंग खाता
  • नया सीमित प्लान बनाने के लिए, बिलिंग खाता देखने वाला (roles/billing.viewer) भूमिका
  • नया बेसिक या Professional प्लान बनाने के लिए, बिलिंग अकाउंट एडमिन (roles/billing.admin)
क्लाउड प्रोजेक्ट
  • Earth Engine Resource Writer (roles/earthengine.writer)
  • सेवा के इस्तेमाल से जुड़े आंकड़े देखने वाले एडमिन (roles/serviceusage.serviceUsageAdmin)

Earth Engine के कमर्शियल प्लान को मैनेज करना

यहां दी गई अनुमतियां, Earth Engine के कीमत वाले प्लान को मैनेज करने से जुड़ी हैं.

बिलिंग खाते के लिए ज़रूरी अनुमतियां
  • billing.subscriptions.create (Earth Engine का प्लान बदलने के लिए)
  • billing.subscriptions.list (Earth Engine का मौजूदा प्लान देखने के लिए)
बिलिंग खाते के लिए सुझाई गई भूमिकाएं
  • बिलिंग खाता व्यूअर (roles/billing.viewer) की भूमिका, ताकि Earth Engine का मौजूदा प्लान देखा जा सके
  • Earth Engine प्लान बदलने के लिए, बिलिंग खाता एडमिन (roles/billing.admin)

बैच टास्क मैनेजमेंट

यहां दी गई अनुमतियां, बैच टास्क के एक साथ चलने की संख्या के लिए, हर प्रोजेक्ट के हिसाब से सीमाएं कॉन्फ़िगर करने से जुड़ी हैं. यह सुविधा सिर्फ़ Earth Engine के कमर्शियल उपयोगकर्ताओं के लिए उपलब्ध है.

प्रोजेक्ट-लेवल पर बैच टास्क की सीमाएं देखना

क्लाउड खाते के लिए
ज़रूरी अनुमतियां
earthengine.config.get

प्रोजेक्ट-लेवल पर बैच टास्क की सीमाएं सेट करना

क्लाउड खाते के लिए
ज़रूरी अनुमतियां
earthengine.config.update
ध्यान दें: इस अनुमति में, प्लान के लेवल पर तय की गई उन सीमाओं को देखना भी शामिल है जो बिलिंग खाते पर कॉन्फ़िगर की गई हैं.
बिलिंग खाते के लिए ज़रूरी अनुमतियां
billing.subscriptions.list

ऐप्लिकेशन मैनेज करना

ऐप्लिकेशन की जानकारी दिखाना

अनुमतियां ज़रूरी हैं
  • iam.serviceAccounts.get
  • iam.serviceAccounts.getIamPolicy, अगर ऐप्लिकेशन पर पाबंदी लगाई गई है (ऐसा कम ही होता है)
सुझाई गई भूमिकाएं दर्शक (roles/viewer) या
Earth Engine ऐप्लिकेशन पब्लिशर (roles/earthengine.appsPublisher)

ऐप्लिकेशन पब्लिश/अपडेट करना

अनुमतियां ज़रूरी हैं
  • iam.serviceAccounts.get
  • iam.serviceAccounts.create
  • iam.serviceAccounts.enable
  • iam.serviceAccounts.getIamPolicy
  • iam.serviceAccounts.setIamPolicy
  • iam.serviceAccounts.disable, अगर ऐप्लिकेशन को एक प्रोजेक्ट से दूसरे प्रोजेक्ट में ले जाया जाता है (ऐसा कम ही होता है)
सुझाई गई भूमिकाएं Earth Engine Apps Publisher (roles/earthengine.appsPublisher) या
Service Account Admin (roles/iam.serviceAccountAdmin)
नोट
  • इसके अलावा, Earth Engine App के सेवा खाते, Earth Engine सर्वर को OAuth ऐक्सेस टोकन दिखाकर अपनी पहचान करते हैं. इसलिए, ऐप्लिकेशन बनाते समय कुछ आइडेंटिटी को सेवा खातों पर Service Account Token Creator (roles/iam.serviceAccountTokenCreator) के तौर पर जोड़ा जाता है.
  • सार्वजनिक Earth Engine ऐप्लिकेशन के मामले में, उस भूमिका को दी गई पहचान earth-engine-public-apps@appspot.gserviceaccount.com होती है. वहीं, प्रतिबंधित ऐप्लिकेशन के मामले में, पहचान ऐप्लिकेशन बनाने वाले व्यक्ति की ओर से कॉन्फ़िगर किया गया, ऐक्सेस पर पाबंदी लगाने वाला Google ग्रुप होता है.

ऐप्लिकेशन मिटाना

अनुमतियां ज़रूरी हैं iam.serviceAccounts.disable
सुझाई गई भूमिकाएं Earth Engine Apps Publisher (roles/earthengine.appsPublisher) या
Service Account Admin (roles/iam.serviceAccountAdmin)