VPC सर्विस कंट्रोल बेसिक ट्यूटोरियल I

1. परिचय

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

इस ट्यूटोरियल का मकसद ये है:

  • VPC सर्विस कंट्रोल की बुनियादी बातें समझना
  • VPC सर्विस पेरीमीटर बनाएं
  • VPC सर्विस कंट्रोल की मदद से, किसी प्रोजेक्ट को सुरक्षित रखना
  • VPC सर्विस कंट्रोल से जुड़े इन्ग्रेस डेटा ट्रैफ़िक के उल्लंघन की समस्या को हल करना

2. सेटअप और ज़रूरी शर्तें

इस ट्यूटोरियल के लिए हमें पहले से दी गई इन शर्तों की ज़रूरत है:

  • GCP संगठन.
  • संगठन के तहत आने वाला फ़ोल्डर.
  • एक ही संगठन में दो GCP प्रोजेक्ट, फ़ोल्डर में डाले जा सकते हैं.
  • संगठन के लेवल पर ज़रूरी अनुमतियां.
  • दोनों प्रोजेक्ट के लिए बिलिंग खाता.

1a62ebea85d6d4fc.png

संसाधन सेटअप

  1. Google Cloud Console में, संगठन के तहत एक फ़ोल्डर बनाएं और दो नए प्रोजेक्ट.(मौजूदा प्रोजेक्ट का फिर से इस्तेमाल किया जा सकता है).

(अगर आपके पास पहले से Google Workspace/Cloud Identity खाता नहीं है, तो आपको एक खाता खरीदना होगा, क्योंकि इस ट्यूटोरियल के लिए आपके पास एक संगठन होना चाहिए.

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

f7c75ab82028cb15.png

लागत

आपको क्लाउड संसाधनों/एपीआई का इस्तेमाल करने के लिए, Cloud Console में बिलिंग की सुविधा चालू करनी होगी. इस कोडलैब का इस्तेमाल करने पर, आपको ज़्यादा पैसे नहीं चुकाने होंगे. इस ट्यूटोरियल के अलावा, बिलिंग से बचने के लिए संसाधनों को बंद करें. इसके लिए, अपने बनाए गए संसाधनों को मिटाएं या प्रोजेक्ट को मिटाएं. Google Cloud के नए उपयोगकर्ता, 300 डॉलर के मुफ़्त में आज़माने वाले प्रोग्राम में शामिल हो सकते हैं.

वीएम इंस्टेंस ही एक ऐसा संसाधन है जिससे लागत जनरेट होगी. प्राइसिंग कैलकुलेटर में अनुमानित कीमत देखी जा सकती है.

3. एक परिधि बनाएं

इस लैब में, हम ये काम करेंगे:

  1. Google Console में, अपना संगठन चुनें और VPC सर्विस कंट्रोल ऐक्सेस करें. कृपया पक्का करें कि आप संगठन के लेवल पर हैं.

43d5af2d5f084bb4.png

  1. "नीतियां मैनेज करें" पर क्लिक करें नई ऐक्सेस नीति बनाने के लिए, जो "कोडलैब" तक सीमित है फ़ोल्डर खोलें.

9f75d949ca9992c4.png

  1. लागू किए गए मोड में एक नई परिधि बनाएं. चलिए, इसे "सुपरप्रोटेक्टेशन" नाम देते हैं इस ट्यूटोरियल के लिए.
  • पेरीमीटर बनाने के बाद, वह प्रोजेक्ट चुनें जिसे ProjectZ के तौर पर लागू करना है.
  • पेरीमीटर टाइप को "सामान्य" के तौर पर चुनें.
  • प्रतिबंधित करने के लिए सेवाएं तय करें डायलॉग में, उस सेवा को चुनें जिसे "Compute Engine" के तौर पर प्रतिबंधित करना है.

पेरीमीटर का सेटअप ऐसा दिखना चाहिए:

914d603103cb21.png

4. पुष्टि करें कि परिमाप लागू किया गया है

  1. ProjectX को ऐक्सेस करें और पुष्टि करें कि क्या आपके पास Compute Engine एपीआई को ऐक्सेस करने का विकल्प है. इसके लिए, VM इंस्टेंस के होम पेज पर जाएं. आपके पास ऐसा करने की अनुमति होनी चाहिए, क्योंकि ProjectX, बनाए गए VPC SC पेरीमीटर से सुरक्षित नहीं है.
  2. ProjectZ को ऐक्सेस करें और पुष्टि करें कि आपके पास Compute Engine को ऐक्सेस करने की सुविधा है या नहीं. यह देखा जा सकता है कि VPC सर्विस कंट्रोल के तहत, इस अनुरोध पर पाबंदी लगा दी गई है. इसकी वजह यह है कि सर्विस पेरीमीटर SuperProtection, ProjectZ और Compute Engine API की सुरक्षा करता है.

d5073543f783e9c7.png

5. अनुरोध अस्वीकार होने की समस्या हल करना

सबसे पहले हमें यह पता लगाना होगा कि यहां असल में क्या समस्या है, ताकि यह तय किया जा सके कि उसे कैसे हल करना है.

  1. VPC सर्विस कंट्रोल लॉग में, सुरक्षित संसाधनों के लिए किए गए अनुरोधों की जानकारी शामिल होती है. साथ ही, इसमें यह जानकारी भी शामिल होती है कि VPC सर्विस कंट्रोल से अनुरोध अस्वीकार क्यों किया गया. आइए, लॉग एक्सप्लोरर में इस क्वेरी का इस्तेमाल करके, ProjectZ ऑडिट लॉग में VPC सर्विस कंट्रोल यूनीक आईडी ढूंढते हैं:
resource.type="audited_resource"
protoPayload.metadata."@type"="type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata"

ऐसा करने पर, VPC सर्विस कंट्रोल के सभी ऑडिट लॉग दिखेंगे. हम गड़बड़ी के आखिरी लॉग की जांच करेंगे.

  1. VPC सर्विस कंट्रोल हेडर पर क्लिक करें और "अस्वीकार किए जाने की समस्या हल करें" को चुनें इससे VPC सर्विस कंट्रोल से जुड़ी समस्या हल करने वाला टूल खुल जाएगा.

यह एपीआई हमें आसान यूज़र इंटरफ़ेस (यूआई) में, उल्लंघन की वजह दिखाएगा. साथ ही, दूसरी ज़रूरी चीज़ों के साथ-साथ यह भी दिखाएगा कि क्या यह उल्लंघन या इग्रेस डेटा ट्रैफ़िक का उल्लंघन था.

इस अभ्यास के लिए हम निम्न पर ध्यान देंगे:

"principalEmail": "user@domain"
"callerIp": "PUBLIC_IP_ADDRESS"
"serviceName": "compute.googleapis.com"
"servicePerimeterName":
"accessPolicies/[POLICY_NUMBER]/servicePerimeters/SuperProtection
"ingressViolations": [
        {
"targetResource": "projects/[PROJECT_NUMBER]",
"servicePerimeter": "accessPolicies/[POLICY_NUMBER]/servicePerimeters/SuperProtection"
        }
      ],
"violationReason": "NO_MATCHING_ACCESS_LEVEL",
"resourceNames": "[PROJECT_ID]"

ProjectZ में इस अनुरोध को ठीक करने के लिए हमारे पास दो विकल्प हैं.

  • मेरे सिस्टम के आईपी पते का ऐक्सेस देकर, पेरीमीटर के अंदर प्रोजेक्ट को ऐक्सेस करने के लिए ऐक्सेस लेवल बनाना.
  • एपीआई क्लाइंट को सर्विस पेरीमीटर के बाहर से, सर्विस पेरीमीटर के अंदर मौजूद संसाधनों का ऐक्सेस देने के लिए इन्ग्रेस डेटा ट्रैफ़िक का नियम बनाना.

इस ट्यूटोरियल में, हम ऐक्सेस लेवल बनाकर, समस्या को हल करने का तरीका बताएंगे.

  1. फ़ोल्डर (कोडलैब) के स्कोप में ऐक्सेस कॉन्टेक्स्ट मैनेजर पर जाएं और नया ऐक्सेस लेवल बनाएं.
  2. "बेसिक मोड" का इस्तेमाल करना और हम आईपी सबनेटवर्क और भौगोलिक जगह के मेल खाने पर ऐक्सेस देंगे.

678f0f9d7bac921d.png

  1. संगठन के स्कोप में, VPC सर्विस कंट्रोल पर जाएं. इस कोडलैब के लिए ऐक्सेस की नीति चुनें. इसके बाद, पहले बनाए गए पेरीमीटर में बदलाव करें.
  2. फ़ोल्डर के दायरे में बनाया गया ऐक्सेस लेवल जोड़ें और सेव करें.

c0af5691dfe9dd75.png

6. परीक्षण परिणाम.

पुष्टि करें कि हमारे पास Compute Engine का ऐक्सेस है और हम वीएम इंस्टेंस बना सकते हैं. हमने ऐक्सेस लेवल बना लिया है, इसलिए ProjectZ में Compute Engine को ऐक्सेस करने और वीएम इंस्टेंस बनाने की कोशिश करते हैं.

  1. Compute Engine पर जाएं और इंस्टेंस बनाएं पर क्लिक करें

c1206aaf18497ec1.png

  1. हर चीज़ को डिफ़ॉल्ट के तौर पर रखें और कम कीमत वाला वीएम इंस्टेंस बनाने की कोशिश करें.

करीब एक मिनट के बाद, आपको बनाया गया वीएम इंस्टेंस दिखेगा. साथ ही, यह पुष्टि की जा सकती है कि आपके पास पेरीमीटर में सुरक्षित Compute Engine का पूरा ऐक्सेस है.

5b2ded02f669b2ef.png

7. साफ़-सफ़ाई सेवा

सेवा का इस्तेमाल न किए जाने पर, VPC सर्विस कंट्रोल का इस्तेमाल करने के लिए अलग से कोई शुल्क नहीं लिया जाता. हालांकि, इस लैब में इस्तेमाल किए गए सेटअप को हटाने का सबसे सही तरीका है. शुल्क देने से बचने के लिए, अपना वीएम इंस्टेंस और/या क्लाउड प्रोजेक्ट भी मिटाए जा सकते हैं. Cloud प्रोजेक्ट मिटाने पर, उसमें इस्तेमाल किए गए सभी संसाधनों की बिलिंग बंद हो जाएगी.

  1. वीएम इंस्टेंस को मिटाने के लिए, वीएम इंस्टेंस के नाम की बाईं ओर मौजूद चेकबॉक्स को चुनें. इसके बाद, मिटाएं पर क्लिक करें.

da0abf0894fe03cd.png

  1. परिधि को हटाने के लिए, निम्न चरणों को पूरा करें:
  • Google Cloud Console में, सुरक्षा पर क्लिक करें. इसके बाद, संगठन के दायरे में VPC सेवा नियंत्रण पर क्लिक करें.
  • VPC सर्विस कंट्रोल पेज पर, जिस पेरीमीटर को मिटाना है उससे जुड़ी टेबल की लाइन में, "मिटाएं" आइकॉन पर क्लिक करें
  1. ऐक्सेस लेवल मिटाने के लिए, नीचे दिया गया तरीका अपनाएं:
  • Google Cloud Console में, फ़ोल्डर के स्कोप में ऐक्सेस कॉन्टेक्स्ट मैनेजर पेज खोलें.
  • ग्रिड में, जिस ऐक्सेस लेवल को मिटाना है उसकी लाइन में, "मिटाएं आइकॉन" पर क्लिक करें. इसके बाद, मिटाएं पर क्लिक करें.
  1. अगर आपको अपने प्रोजेक्ट बंद करने हैं, तो यह तरीका अपनाएं:

8. बधाई हो!

इस कोडलैब में आपने VPC सर्विस कंट्रोल पेरीमीटर बनाया है, उसे लागू किया है, और उससे जुड़ी समस्या हल की है.

ज़्यादा जानें

लाइसेंस

इस काम को क्रिएटिव कॉमंस एट्रिब्यूशन 2.0 जेनरिक लाइसेंस के तहत लाइसेंस मिला है.