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

1. परिचय

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

इस ट्यूटोरियल के ये लक्ष्य हैं:

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

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

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

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

1a62ebea85d6d4fc.png

संसाधन सेटअप करना

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

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

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

f7c75ab82028cb15.png

लागत

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

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

3. पेरीमीटर बनाना

इस लैब में, हम यह तरीका अपनाएंगे:

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

43d5af2d5f084bb4.png

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

9f75d949ca9992c4.png

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

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

914d603103cb21.png

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

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

d5073543f783e9c7.png

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

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

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

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

  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. फ़ोल्डर (कोडलैब) के स्कोप में Access Context Manager पर जाएं और ऐक्सेस का नया लेवल बनाएं.
  2. "बेसिक मोड" का इस्तेमाल करें. हम आईपी सबनेटवर्क और भौगोलिक जगह की जानकारी के आधार पर, ऐक्सेस की अनुमति देंगे.

678f0f9d7bac921d.png

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

c0af5691dfe9dd75.png

6. जांच के नतीजे.

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

  1. Compute Engine पर जाएं और Create Instance पर क्लिक करें

c1206aaf18497ec1.png

  1. सभी सेटिंग को डिफ़ॉल्ट पर छोड़ें और कम लागत वाला वीएम इंस्टेंस बनाने की कोशिश करें.

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

5b2ded02f669b2ef.png

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

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

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

da0abf0894fe03cd.png

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

8. बधाई हो!

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

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

लाइसेंस

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