एआई ऐप्लिकेशन के लिए इन्फ़्रास्ट्रक्चर को सुरक्षित करना

1. परिचय

खास जानकारी

इस लैब में, एआई डेवलपमेंट एनवायरमेंट के इन्फ़्रास्ट्रक्चर को होने वाले सामान्य खतरों को कम किया जाता है. आपने सुरक्षा से जुड़े कंट्रोल लागू किए हों, ताकि इस एनवायरमेंट के मुख्य कॉम्पोनेंट को सुरक्षित रखा जा सके.

कॉन्टेक्स्ट

आपकी डेवलपमेंट टीम में, सुरक्षा से जुड़े मामलों के विशेषज्ञ के तौर पर आपकी भूमिका है. आपका लक्ष्य ऐसा माहौल तैयार करना है जिसमें ऐप्लिकेशन का इस्तेमाल आसानी से किया जा सके और सामान्य खतरों से सुरक्षा भी मिल सके.

नीचे दी गई टेबल में, उन खतरों के बारे में बताया गया है जिनसे आपको सबसे ज़्यादा खतरा है. इस लैब में, हर खतरे से निपटने के लिए एक खास टास्क दिया गया है:

धमकी

गड़बड़ी की गंभीरता को कम करना

टास्क पूरा हुआ

खुले पोर्ट का गलत इस्तेमाल करके, नेटवर्क में अनधिकृत तरीके से घुसपैठ करना.

एक निजी वीपीसी बनाएं और Vertex AI का ऐक्सेस, सार्वजनिक आईपी पते के बजाय Google Cloud के ज़रिए प्रॉक्सी किए गए किसी एक उपयोगकर्ता तक सीमित करें.

सुरक्षित नेटवर्क फ़ाउंडेशन को कॉन्फ़िगर करना

ज़्यादा अधिकारों वाले क्रेडेंशियल का इस्तेमाल करके, किसी ऐसे Compute इंस्टेंस से प्रिविलेज एस्केलेशन किया गया है जिससे समझौता किया गया है.

Vertex AI इंस्टेंस के लिए, कम से कम विशेषाधिकार वाला सेवा खाता बनाएं और असाइन करें.

सुरक्षित Vertex AI Workbench इंस्टेंस डिप्लॉय करना

कंप्यूट रिसोर्स का इंस्टेंस टेकओवर कर लिया जाता है. इससे सिस्टम में छेड़छाड़ की जा सकती है.

रूट ऐक्सेस बंद करके और सुरक्षित बूट चालू करके, इंस्टेंस को सुरक्षित करें.

सुरक्षित Vertex AI Workbench इंस्टेंस डिप्लॉय करना

स्टोरेज को गलत तरीके से कॉन्फ़िगर करने की वजह से, ट्रेनिंग डेटा और मॉडल सार्वजनिक तौर पर दिखने लगे.

बकेट पर सार्वजनिक ऐक्सेस को रोकने की सुविधा लागू करें और यूनिफ़ॉर्म बकेट-लेवल के ऐक्सेस कंट्रोल का इस्तेमाल करें.

सुरक्षित Cloud Storage बकेट डिप्लॉय करना

डेटासेट और मॉडल आर्टफ़ैक्ट को जान-बूझकर या गलती से मिटाना या उनमें छेड़छाड़ करना.

डेटा रिकवर करने के लिए, ऑब्जेक्ट वर्शनिंग की सुविधा चालू करें. साथ ही, सभी गतिविधियों का ऑडिट ट्रेल पाने के लिए, डेटा ऐक्सेस लॉग की सुविधा चालू करें.

सुरक्षित Cloud Storage बकेट डिप्लॉय करना

एक नज़र में जानकारी

इस लैब में, आपको इन संसाधनों के साथ काम करना होगा:

कॉम्पोनेंट

नाम

VPC का नाम

genai-secure-vpc

सबनेट का नाम

genai-subnet-us-central1

क्लाउड राऊटर

genai-router-us-central1

Cloud NAT

genai-nat-us-central1

सेवा खाता

vertex-workbench-sa

Vertex AI इंस्टेंस

secure-genai-instance

Storage Bucket

secure-genai-artifacts-[PROJECT_ID]

आपको क्या सीखने को मिलेगा

इस लैब में, आपको इनके बारे में जानकारी मिलेगी:

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

2. प्रोजेक्ट सेटअप करना

Google खाता

अगर आपके पास पहले से कोई निजी Google खाता नहीं है, तो आपको Google खाता बनाना होगा.

ऑफ़िस या स्कूल वाले खाते के बजाय, निजी खाते का इस्तेमाल करें.

Google Cloud Console में साइन इन करना

किसी निजी Google खाते का इस्तेमाल करके, Google Cloud Console में साइन इन करें.

बिलिंग चालू करें

Google Cloud के 500 रुपये के क्रेडिट रिडीम करें (ज़रूरी नहीं)

इस वर्कशॉप को चलाने के लिए, आपके पास कुछ क्रेडिट वाला बिलिंग खाता होना चाहिए. अगर आपको अपनी बिलिंग का इस्तेमाल करना है, तो इस चरण को छोड़ा जा सकता है.

  1. इस लिंक पर क्लिक करें और किसी निजी Google खाते से साइन इन करें. आपको इस तरह की विंडो दिखेगी: क्रेडिट पेज के लिए यहां क्लिक करें
  2. अपने क्रेडिट ऐक्सेस करने के लिए यहां क्लिक करें बटन पर क्लिक करें. इससे आपको एक ऐसे पेज पर ले जाया जाएगा जहां आपको अपनी बिलिंग प्रोफ़ाइल सेट अप करनी होगी बिलिंग प्रोफ़ाइल पेज सेट अप करना
  3. पुष्टि करें पर क्लिक करें

अब आपका खाता, Google Cloud Platform के मुफ़्त में आज़माए जाने वाले बिलिंग खाते से कनेक्ट हो गया है.

बिलिंग की खास जानकारी देने वाले पेज का स्क्रीनशॉट

निजी बिलिंग खाता सेट अप करना

अगर आपने Google Cloud क्रेडिट का इस्तेमाल करके बिलिंग सेट अप की है, तो इस चरण को छोड़ें.

निजी बिलिंग खाता सेट अप करने के लिए, Cloud Console में बिलिंग की सुविधा चालू करने के लिए यहां जाएं.

ध्यान दें:

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

प्रोजेक्ट बनाना (ज़रूरी नहीं)

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

3. एपीआई चालू करना

Cloud Shell को कॉन्फ़िगर करना

प्रोजेक्ट बन जाने के बाद, Cloud Shell को सेट अप करने के लिए, यह तरीका अपनाएं.

Cloud Shell लॉन्च करना

shell.cloud.google.com पर जाएं. अगर आपको अनुमति देने के लिए कहा गया है, तो अनुमति दें पर क्लिक करें.

प्रोजेक्ट आईडी सेट करें

सही प्रोजेक्ट आईडी सेट करने के लिए, Cloud Shell टर्मिनल में यह कमांड चलाएं. <your-project-id> की जगह, प्रोजेक्ट बनाने के ऊपर दिए गए चरण से कॉपी किया गया अपना असल प्रोजेक्ट आईडी डालें.

gcloud config set project <your-project-id>

अब आपको Cloud Shell टर्मिनल में, सही प्रोजेक्ट चुना हुआ दिखेगा.

Vertex AI Workbench और Cloud Storage चालू करना

इस लैब में मौजूद सेवाओं का इस्तेमाल करने के लिए, आपको अपने Google Cloud प्रोजेक्ट में Compute Engine, Vertex AI Workbench, IAM, और Cloud Storage के लिए एपीआई चालू करने होंगे.

  1. टर्मिनल में, इन एपीआई को चालू करें:
gcloud services enable compute.googleapis.com notebooks.googleapis.com aiplatform.googleapis.com iam.googleapis.com storage.googleapis.com

इसके अलावा, इन एपीआई को चालू करने के लिए, कंसोल में उनके पेजों पर जाएं और चालू करें पर क्लिक करें.

4. सुरक्षित नेटवर्क प्लैटफ़ॉर्म कॉन्फ़िगर करना

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

वीपीसी और सबनेट बनाना

इस चरण में, आपको वर्चुअल प्राइवेट क्लाउड (वीपीसी) और सबनेट सेट अप करना होगा. इससे एक अलग नेटवर्क एनवायरमेंट बनता है. यह अनधिकृत नेटवर्क इनग्रेस के ख़िलाफ़ सुरक्षा की पहली लाइन है.

  1. Google Cloud Console में, VPC नेटवर्क > वीपीसी नेटवर्क पर जाएं. "वीपीसी नेटवर्क" खोजने के लिए, Google Cloud Console में सबसे ऊपर मौजूद खोज बार का इस्तेमाल करें. इसके बाद, इसे चुनें.
  2. वीपीसी नेटवर्क बनाएं पर क्लिक करें.
  3. नाम के लिए, genai-secure-vpc डालें.
  4. सबनेट बनाने के मोड के लिए, कस्टम को चुनें.
  5. नया सबनेट में जाकर, अपना सबनेट बनाने के लिए ये प्रॉपर्टी तय करें:

    प्रॉपर्टी

    वैल्यू (टाइप करें या चुनें)

    नाम

    genai-subnet-us-central1

    क्षेत्र

    us-central1

    आईपी पता श्रेणी

    10.0.1.0/24

    निजी Google ऐक्सेस

    चालू करना

  6. बनाएं पर क्लिक करें.

Cloud NAT गेटवे बनाना

Cloud NAT गेटवे की मदद से, आपके प्राइवेट इंस्टेंस बिना पब्लिक आईपी पते के आउटबाउंड कनेक्शन (जैसे, सॉफ़्टवेयर अपडेट के लिए) शुरू कर सकते हैं. इसका मतलब है कि सार्वजनिक इंटरनेट, उनसे कनेक्शन शुरू नहीं कर सकता.

  1. सबसे पहले, Cloud Router बनाएं. Google Cloud Console में सबसे ऊपर मौजूद खोज बार का इस्तेमाल करके, "Cloud Router" खोजें और उसे चुनें.
  2. राउटर बनाएं पर क्लिक करें.
  3. Cloud Router को इस तरह कॉन्फ़िगर करें:

    प्रॉपर्टी

    वैल्यू (टाइप करें या चुनें)

    नाम

    genai-router-us-central1

    नेटवर्क

    genai-secure-vpc (आपने अभी-अभी जो वीपीसी नेटवर्क बनाया है)

    क्षेत्र

    us-central1

  4. बनाएं पर क्लिक करें.
  5. इसके बाद, नेटवर्क सेवाएं > Cloud NAT पर जाएं. Google Cloud Console में सबसे ऊपर मौजूद खोज बार का इस्तेमाल करके, "Cloud NAT" खोजें और उसे चुनें.
  6. शुरू करें पर क्लिक करें.
  7. Cloud NAT गेटवे को इस तरह कॉन्फ़िगर करें:

    प्रॉपर्टी

    वैल्यू (टाइप करें या चुनें)

    गेटवे का नाम

    genai-nat-us-central1

    VPC नेटवर्क

    genai-secure-vpc (वह वीपीसी नेटवर्क जिसे आपने बनाया है)

    क्षेत्र

    us-central1

    क्लाउड राऊटर

    genai-router-us-central1 (वह राऊटर जिसे आपने अभी सेट अप किया है)

  8. बनाएं पर क्लिक करें.

5. सुरक्षित Vertex AI Workbench इंस्टेंस डिप्लॉय करना

अब आपके पास सुरक्षित नेटवर्क फ़ाउंडेशन है. इसलिए, अपने सुरक्षित वीपीसी में Vertex AI Workbench इंस्टेंस को डिप्लॉय करें. यह Workbench इंस्टेंस, आपके डेवलपमेंट एनवायरमेंट के तौर पर काम करता है. यह एआई डेवलपमेंट से जुड़े आपके काम के लिए, सुरक्षित और अलग जगह उपलब्ध कराता है. पिछले नेटवर्क कॉन्फ़िगरेशन से यह पक्का होता है कि यह इंस्टेंस सीधे तौर पर सार्वजनिक इंटरनेट पर उपलब्ध नहीं है. इससे कई लेयर वाली सुरक्षा को बेहतर बनाने में मदद मिलती है.

कम से कम विशेषाधिकार वाला सेवा खाता बनाना

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

  1. Google Cloud Console में, आईएएम और एडमिन > सेवा खाते पर जाएं. Google Cloud Console में सबसे ऊपर मौजूद खोज बार का इस्तेमाल करके, "सेवा खाते" खोजें और उसे चुनें.
  2. सेवा खाता बनाएं पर क्लिक करें.
  3. सेवा खाते के नाम के लिए, vertex-workbench-sa डालें.
  4. बनाएं और जारी रखें पर क्लिक करें.
  5. ये भूमिकाएं असाइन करें:
    • Vertex AI User
    • Storage Object Creator
  6. हो गया पर क्लिक करें.

वर्कबेंच इंस्टेंस बनाना

इस चरण में, Vertex AI Workbench इंस्टेंस को डिप्लॉय किया जाता है. इस इंस्टेंस को, पहले से बनाए गए निजी वीपीसी में चलाने के लिए कॉन्फ़िगर किया जाता है. इससे यह सार्वजनिक इंटरनेट से अलग हो जाता है. इसके अलावा, इंस्टेंस पर सुरक्षा को बेहतर बनाने के लिए, सीधे तौर पर अतिरिक्त तरीके भी लागू किए जा सकते हैं.

  1. Google Cloud Console के नेविगेशन मेन्यू (हैमबर्गर मेन्यू) में जाकर, Vertex AI > Workbench पर जाएं. Google Cloud Console में सबसे ऊपर मौजूद खोज बार का इस्तेमाल करके, "Workbench" खोजें. इसके बाद, "Vertex AI" को सबटाइटल के तौर पर इस्तेमाल करने वाला नतीजा चुनें.
  2. नया बनाएं पर क्लिक करें और इसे कॉन्फ़िगर करें:

    प्रॉपर्टी

    वैल्यू (टाइप करें या चुनें)

    नाम

    secure-genai-instance

    क्षेत्र

    us-central1

  3. उन्नत विकल्पों पर क्लिक करें.
  4. मशीन किस तरह की है पर क्लिक करें और इनके लिए चेकबॉक्स चुनें:
    • सिक्योर बूट
    • वर्चुअल ट्रस्टेड प्लैटफ़ॉर्म मॉड्यूल (वीटीपीएम)
    • इंटीग्रिटी मॉनिटरिंग.
  5. नेटवर्किंग पर क्लिक करें और इन्हें कॉन्फ़िगर करें:

    प्रॉपर्टी

    वैल्यू (टाइप करें या चुनें)

    नेटवर्क

    genai-secure-vpc

    सबनेटवर्क

    genai-subnet-us-central1 (10.0.1.0/24)

    एक्सटर्नल आईपी पता असाइन करना

    निशान हटाएं, क्योंकि आपको Google Cloud में सिर्फ़ प्रॉक्सी के ज़रिए इस इंस्टेंस को ऐक्सेस करना है.

  6. IAM और सुरक्षा पर क्लिक करें और इन्हें कॉन्फ़िगर करें:

    प्रॉपर्टी

    वैल्यू (टाइप करें या चुनें)

    उपयोगकर्ता का ईमेल

    एक उपयोगकर्ता को चुनें. इसके बाद, वह ईमेल पता चुनें जिसका इस्तेमाल आपने Google Cloud में साइन इन करने के लिए किया था.

    Compute Engine के डिफ़ॉल्ट सेवा खाते का इस्तेमाल करना

    चेकबॉक्स से सही का निशान हटाएं.

    सेवा खाते का ईमेल

    कम से कम विशेषाधिकार वाले सेवा खाते के लिए बनाया गया ईमेल पता डालें ([PROJECT_ID] को अपने आईडी से बदलें): vertex-workbench-sa@[PROJECT_ID].iam.gserviceaccount.com

    इंस्टेंस का रूट ऐक्सेस

    चेकबॉक्स से सही का निशान हटाएं.

  7. बनाएं पर क्लिक करें.

अपने Vertex AI इंस्टेंस को ऐक्सेस करना

अब आपका Vertex AI Workbench इंस्टेंस अस्थायी तौर पर उपलब्ध है. इसे सुरक्षित तरीके से ऐक्सेस किया जा सकता है. इससे कनेक्ट करने के लिए, Google Cloud के प्रॉक्सी का इस्तेमाल किया जाता है. इससे यह पक्का किया जाता है कि इंस्टेंस निजी बना रहे और सार्वजनिक इंटरनेट पर न दिखे. इस तरह, अनचाहे और संभावित रूप से नुकसान पहुंचाने वाले ट्रैफ़िक के जोखिम को कम किया जाता है.

  1. Vertex AI > Workbench पर जाएं. अगर आपके इंस्टेंस का प्रोविज़निंग प्रोसेस अभी-अभी पूरी हुई है, तो हो सकता है कि आप पहले से ही इस पेज पर हों. अगर ऐसा नहीं है, तो Google Cloud Console के नेविगेशन मेन्यू (हैमबर्गर मेन्यू) या खोज बार का इस्तेमाल करके वहां जाएं.
  2. सूची में, secure-genai-instance नाम वाला अपना इंस्टेंस ढूंढें.
  3. अपने इंस्टेंस की दाईं ओर, Open JupyterLab लिंक पर क्लिक करें.

इससे आपके ब्राउज़र में एक नया टैब खुलता है. इससे आपको अपने इंस्टेंस का ऐक्सेस मिलता है. आपके पास Google Cloud के ज़रिए इसे ऐक्सेस करने की सुविधा होती है. हालांकि, इंस्टेंस को सार्वजनिक इंटरनेट पर उपलब्ध नहीं कराया जाता है. इससे, अनचाहे और संभावित रूप से नुकसान पहुंचाने वाले ट्रैफ़िक का जोखिम कम हो जाता है.

6. सुरक्षित Cloud Storage बकेट डिप्लॉय करना

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

बकेट बनाना और उसे कॉन्फ़िगर करना

इस चरण में, Cloud Storage बकेट बनाई जाती है और शुरुआती सुरक्षा सेटिंग लागू की जाती हैं. इन सेटिंग से, सार्वजनिक ऐक्सेस को रोकने की सुविधा लागू होती है. साथ ही, बकेट-लेवल पर ऐक्सेस कंट्रोल की सुविधा चालू होती है. यह सुविधा, यह कंट्रोल करने के लिए ज़रूरी है कि आपका डेटा कौन ऐक्सेस कर सकता है.

  1. Google Cloud Console में, Cloud Storage > बकेट पर जाएं. Google Cloud Console में सबसे ऊपर मौजूद खोज बार का इस्तेमाल करके, "बकेट" खोजें और उसे चुनें.
  2. बनाएं पर क्लिक करें.
  3. शुरू करें में जाकर, नाम को secure-genai-artifacts-[PROJECT_ID] पर सेट करें. साथ ही, [PROJECT_ID] को अपने Google Cloud प्रोजेक्ट आईडी से बदलें.
  4. चुनें कि आपको अपना डेटा कहां सेव करना है पर जाएं और यहां दी गई जानकारी कॉन्फ़िगर करें:

    प्रॉपर्टी

    वैल्यू (टाइप करें या चुनें)

    लोकेशन किस तरह की है

    क्षेत्र

    क्षेत्र

    us-central1

  5. चुनें कि आपको अपना डेटा कैसे सेव करना है पर जाएं और डिफ़ॉल्ट सेटिंग को चालू रखें.
  6. ऑब्जेक्ट के ऐक्सेस को कंट्रोल करने का तरीका चुनें पर जाएं और डिफ़ॉल्ट सेटिंग का इस्तेमाल जारी रखें:

    प्रॉपर्टी

    वैल्यू (टाइप करें या चुनें)

    कारण

    सार्वजनिक ऐक्सेस रोकना

    सार्वजनिक ऐक्सेस को रोकने की सुविधा लागू करें को चुना हुआ रहने दें.

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

    ऐक्सेस कंट्रोल

    यूनिफ़ॉर्म को चुना हुआ रहने दें.

    हालांकि, ऐसा लगता है कि ACL, बेहतर कंट्रोल के लिए बेहतर विकल्प हैं. इसलिए, इनमें कम से कम विशेषाधिकार होते हैं. हालांकि, अन्य IAM सुविधाओं के साथ इनका इस्तेमाल करने पर, ये जटिल हो जाते हैं और इनके नतीजे का अनुमान लगाना मुश्किल हो जाता है. डेटा को अनचाहे तरीके से शेयर होने से रोकने के लिए, यूनिफ़ॉर्म बकेट लेवल ऐक्सेस के फ़ायदों और नुकसान के बारे में जानें.

  7. ऑब्जेक्ट के डेटा को सुरक्षित रखने का तरीका चुनें पर जाएं और डिफ़ॉल्ट सेटिंग का इस्तेमाल जारी रखें:

    प्रॉपर्टी

    वैल्यू (टाइप करें या चुनें)

    कारण

    सॉफ़्ट डिलीट करने की नीति (डेटा वापस पाने के लिए)

    सॉफ़्ट डिलीट करने की नीति (डेटा वापस पाने के लिए) को चुना हुआ रहने दें.

    अगर बकेट में मौजूद कॉन्टेंट को गलती से या जान-बूझकर मिटा दिया जाता है, तो सॉफ़्ट डिलीट सुविधा का इस्तेमाल करके, निजी डेटा के रखरखाव की अवधि के दौरान कॉन्टेंट को वापस लाया जा सकता है.

    ऑब्जेक्ट वर्शनिंग (वर्शन कंट्रोल के लिए)

    ऑब्जेक्ट वर्शनिंग (वर्शन कंट्रोल के लिए) को चुनें.

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

    हर ऑब्जेक्ट के लिए ज़्यादा से ज़्यादा वर्शन

    3

    यह वैल्यू मनमाने तरीके से तय की जाती है और इससे लागत बढ़ सकती है. हालांकि, पिछले वर्शन पर वापस जाने के लिए, इसकी वैल्यू 1 से ज़्यादा होनी चाहिए. अगर हमलावर कई बार डेटा को बदलने की कोशिश कर सकता है, तो बैकअप लेने की रणनीति के लिए, वर्शनिंग का ज़्यादा बेहतर तरीका अपनाना ज़रूरी हो सकता है.

    मौजूदा वर्शन नहीं होने पर, वर्शन की समयसीमा खत्म होने का समय

    7

    पुराने वर्शन को चालू रखने के लिए, सात दिन का समय सुझाया जाता है. हालांकि, लंबे समय तक स्टोरेज के लिए यह संख्या ज़्यादा हो सकती है.

  8. बनाएं पर क्लिक करें.
  9. अगर आपको "सार्वजनिक ऐक्सेस को रोका जाएगा" वाला पॉप-अप दिखता है, तो डिफ़ॉल्ट बॉक्स ("इस बकेट पर सार्वजनिक ऐक्सेस को रोकने की सुविधा लागू करें") को चुना हुआ रहने दें. इसके बाद, पुष्टि करें पर क्लिक करें.

डेटा की सुरक्षा और लॉगिंग की सुविधा चालू करना

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

  1. Google Cloud Console में, आईएएम और एडमिन > ऑडिट लॉग पर जाएं. Google Cloud Console में सबसे ऊपर मौजूद खोज बार का इस्तेमाल करके, "ऑडिट लॉग" खोजें और उसे चुनें.
  2. फ़िल्टर खोज का इस्तेमाल करके, Google Cloud Storage को खोजें और चुनें.
  3. दिखने वाले पैनल में, डेटा पढ़ना और डेटा लिखना, दोनों के लिए बॉक्स पर सही का निशान लगाएं.
  4. सेव करें पर क्लिक करें.

7. लैब से लेकर असल ज़िंदगी तक

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

आपने अभी जो संसाधन बनाए हैं—निजी वीपीसी, सुरक्षित वर्कबेंच इंस्टेंस, और सुरक्षित बकेट—उन्हें किसी भी नए एआई प्रोजेक्ट के लिए, सुरक्षित स्टार्टर टेंप्लेट के तौर पर इस्तेमाल किया जा सकता है. आपका मकसद, इस सुरक्षित फ़ाउंडेशन को अपने और अपनी टीम के लिए डिफ़ॉल्ट और आसान तरीका बनाना है.

सुरक्षित नेटवर्क: आपका प्राइवेट वर्कस्पेस

इसे सेट अप में इस्तेमाल करने का तरीका

हर बार जब कोई नया एआई प्रोजेक्ट शुरू किया जाता है, तब "customer-churn-prediction," "image-classification-model"), तो आपको इस नेटवर्क सेटअप को दोहराना होगा. इसके लिए, आपको एक अलग वीपीसी (churn-pred-vpc) बनाना होगा या पहले से मंज़ूरी पा चुके शेयर किए गए नेटवर्क का इस्तेमाल करना होगा. यह आपके प्रोजेक्ट का अलग "सैंडबॉक्स" बन जाता है. आपका डेवलपमेंट एनवायरमेंट, इस सुरक्षित स्पेस में मौजूद होता है. जैसे, आपने Vertex AI Workbench को कॉन्फ़िगर किया है. आपको इसे सुरक्षित प्रॉक्सी (Open JupyterLab) के ज़रिए कनेक्ट करना होगा. इसे कभी भी सार्वजनिक इंटरनेट पर नहीं दिखाया जाएगा.

प्रोडक्शन ट्रैक से कनेक्ट किया जा रहा है

प्रोडक्शन एनवायरमेंट में, इस कॉन्सेप्ट को और बेहतर बनाया जा सकता है. इसके लिए, इन बातों का ध्यान रखें:

  • Infrastructure as code (IaC): Cloud Console का इस्तेमाल करने के बजाय, Terraform या Cloud Deployment Manager जैसे टूल का इस्तेमाल करके इस नेटवर्क को तय किया जाता है. इससे आपको कुछ ही मिनटों में, नए प्रोजेक्ट के लिए सुरक्षित नेटवर्क फ़ाउंडेशन डिप्लॉय करने की सुविधा मिलती है. इससे यह पक्का किया जा सकता है कि इसे दोहराया जा सकता है और इसकी ऑडिट की जा सकती है.
  • शेयर किया गया वीपीसी: बड़े संगठनों में, अक्सर एक सेंट्रल नेटवर्किंग टीम, शेयर किए गए वीपीसी को मैनेज करती है. डेवलपर के तौर पर, आपको अपने इंस्टेंस और सेवाओं को उस केंद्रीय रूप से मैनेज किए गए सुरक्षित नेटवर्क के अंदर मौजूद कुछ सबनेट में लॉन्च करने की अनुमति दी जाएगी. इसका सिद्धांत एक जैसा है. इसमें अब भी निजी स्पेस में काम किया जाता है, लेकिन यह एक बड़े और शेयर किए गए इन्फ़्रास्ट्रक्चर का हिस्सा होता है.
  • VPC सर्विस कंट्रोल: ज़्यादा सुरक्षा के लिए, इस पूरे एनवायरमेंट को VPC सर्विस कंट्रोल पेरीमीटर में रैप किया जाता है. यह एक अहम सुविधा है. यह डेटा को बाहर जाने से रोकती है. इसके लिए, यह पक्का करती है कि Cloud Storage जैसी सेवाओं को सिर्फ़ उन संसाधनों से ऐक्सेस किया जा सकता है जिन्हें आपके निजी नेटवर्क पेरीमीटर के अंदर अनुमति मिली है.

The hardened compute: Your secure development & training hub

इसे सेट अप में इस्तेमाल करने का तरीका

secure-genai-instance, एआई डेवलपमेंट के लिए रोज़ाना इस्तेमाल की जाने वाली मशीन है. JupyterLab इंटरफ़ेस का इस्तेमाल इन कामों के लिए किया जाता है:

  • नोटबुक में अपने मॉडल का कोड लिखें और उसकी जांच करें.
  • Python लाइब्रेरी इंस्टॉल करें (pip install ...).
  • छोटे से लेकर मीडियम साइज़ के डेटासेट के साथ एक्सपेरिमेंट करें. आपने जो सुरक्षा कॉन्फ़िगर की है (कोई सार्वजनिक आईपी नहीं, कम से कम विशेषाधिकार वाला सेवा खाता, कोई रूट ऐक्सेस नहीं, सुरक्षित बूट), वह बैकग्राउंड में पारदर्शी तरीके से काम करती है. आपके पास एआई से जुड़े काम पर फ़ोकस करने का विकल्प होता है. ऐसा इसलिए, क्योंकि आपको पता होता है कि इंस्टेंस को सामान्य हमलों से सुरक्षित किया गया है.

प्रोडक्शन ट्रैक से कनेक्ट किया जा रहा है

आम तौर पर, प्रोडक्शन में किसी एक Workbench इंस्टेंस पर बड़े पैमाने पर ट्रेनिंग नहीं दी जाती. इसके बजाय, अपने काम को इन तरीकों से प्रोडक्शन में लाया जा सकता है:

  • नोटबुक से पाइपलाइन तक: आपको अपनी नोटबुक से कोड लेना होगा और उसे स्क्रिप्ट में बदलना होगा. इसके बाद, इस स्क्रिप्ट को Vertex AI Custom Training job के तौर पर या Vertex AI Pipeline में एक चरण के तौर पर चलाया जाएगा.
  • कंटेनर बनाना: आपको अपने ट्रेनिंग कोड और उसकी डिपेंडेंसी को Docker कंटेनर में पैकेज करना होगा. इसके बाद, इसे Artifact Registry में सेव करना होगा. इससे यह पक्का होता है कि आपका कोड हर बार एक जैसे और अनुमान के मुताबिक एनवायरमेंट में चलता है.
  • सेवा खाता ज़रूरी है: आपने जो vertex-workbench-sa सेवा खाता बनाया है वह बहुत ज़रूरी है. प्रोडक्शन में, Vertex AI की ट्रेनिंग के ऑटोमेटेड जॉब, इसी (या इसी तरह के) कम से कम विशेषाधिकार वाले सेवा खाते का इस्तेमाल करके चलाए जाएंगे. इससे यह पक्का किया जा सकेगा कि ऑटोमेटेड जॉब के पास सिर्फ़ वे अनुमतियां हों जिनकी उसे ज़रूरत है.

सुरक्षित स्टोरेज: आपकी सेंट्रल आर्टफ़ैक्ट रिपॉज़िटरी

इसे सेट अप में इस्तेमाल करने का तरीका

secure-genai-artifacts बकेट, आपके प्रोजेक्ट के डेटा के लिए एक ही सोर्स होता है. यह सिर्फ़ शुरुआती डेटासेट के लिए नहीं है. इसका इस्तेमाल इन चीज़ों को सेव करने के लिए किया जाता है:

  • ट्रेनिंग के लिए इस्तेमाल किया जाने वाला रॉ और प्रीप्रोसेस किया गया डेटा.
  • लंबे समय तक ट्रेनिंग के दौरान मॉडल के चेकपॉइंट.
  • ट्रेन किए गए मॉडल के फ़ाइनल आर्टफ़ैक्ट (.pkl, .pb या .h5 फ़ाइलें).
  • आकलन के नतीजे और लॉग. आपने जो सुरक्षा सेटिंग लागू की हैं (सार्वजनिक ऐक्सेस को रोकना, बकेट-लेवल का एक जैसा ऐक्सेस, वर्शनिंग, और ऑडिट लॉगिंग), उनका मतलब है कि इस बकेट का इस्तेमाल सेंट्रल स्टोर के तौर पर किया जा सकता है. साथ ही, यह भी पक्का किया जा सकता है कि डेटा लीक न हो और गलती से न मिटे.

प्रोडक्शन ट्रैक से कनेक्ट किया जा रहा है

प्रोडक्शन एनवायरमेंट में अपने सिद्धांतों को मैनेज करने और लागू करने के लिए, आपको इन बातों पर भी ध्यान रखना चाहिए:

  • लाइफ़साइकल नीतियां: लागत को मैनेज करने के लिए, लाइफ़साइकल नीतियां सेट अप की जाती हैं. इससे पुराने मॉडल वर्शन या डेटासेट अपने-आप कम लागत वाली स्टोरेज क्लास (जैसे, Nearline या Coldline) में चले जाते हैं या एक तय समय के बाद मिट जाते हैं.
  • क्रॉस-प्रोजेक्ट अनुमतियां: प्रोडक्शन पाइपलाइन में, डेटा इंजीनियरिंग टीम इस बकेट में डेटा भर सकती है. इसके लिए, वह किसी दूसरे Google Cloud प्रोजेक्ट का इस्तेमाल कर सकती है. आपने यूनिफ़ॉर्म बकेट-लेवल ऐक्सेस की सुविधा चालू की है. इससे, अलग-अलग प्रोजेक्ट के लिए IAM अनुमतियों को मैनेज करना आसान और सुरक्षित हो जाता है. इसके लिए, जटिल (और इसलिए गलत तरीके से कॉन्फ़िगर किए जाने वाले) ACL की ज़रूरत नहीं होती.

बड़ी तस्वीर: सुरक्षा को डिफ़ॉल्ट बनाना

इस मॉडल को अपनाने से, सुरक्षा को बाद में ध्यान में रखने के बजाय, इसे बुनियादी सिद्धांत के तौर पर अपनाया जाता है. अब आप सिर्फ़ डेवलपर नहीं हैं, बल्कि अपनी टीम के लिए सुरक्षा चैंपियन हैं. टीम में शामिल होने वाले नए सदस्य को, आपको असुरक्षित और सार्वजनिक तौर पर दिखने वाली मशीन नहीं देनी चाहिए. आपने उन्हें पहले से कॉन्फ़िगर किए गए सुरक्षित एनवायरमेंट का ऐक्सेस दिया है. इसमें सुरक्षित तरीके से काम करना सबसे आसान तरीका है. इस तरीके से, डेटा के गलत इस्तेमाल और सिस्टम से समझौता करने की सामान्य वजहों को रोका जा सकता है. इससे कारोबार के जोखिम को सीधे तौर पर कम किया जा सकता है. साथ ही, आपकी टीम को आत्मविश्वास के साथ नए-नए तरीके अपनाने और एआई के बेहतर ऐप्लिकेशन बनाने में मदद मिलती है.

8. बधाई हो!

बधाई हो! आपने एआई डेवलपमेंट एनवायरमेंट के लिए, कई लेयर वाला सुरक्षित इन्फ़्रास्ट्रक्चर बना लिया है और उसकी ऑडिट कर ली है. आपने "डिफ़ॉल्ट रूप से अनुमति नहीं" फ़ायरवॉल की स्थिति के साथ एक सुरक्षित नेटवर्क परिधि बनाई है. साथ ही, आपने एक हार्डेंड कंप्यूट इंस्टेंस डिप्लॉय किया है, डेटा बकेट को सुरक्षित किया है, और यह पुष्टि करने के लिए लॉग का इस्तेमाल किया है कि आपके कंट्रोल ठीक वैसे ही काम करते हैं जैसा आपने तय किया है.

रीकैप

इस लैब में, आपने ये काम किए:

  • अनचाहे ट्रैफ़िक को कम करने के लिए, प्राइवेट नेटवर्किंग के साथ सुरक्षित वीपीसी उपलब्ध कराया गया है.
  • बूटकिट और प्रिविलेज एस्कलेशन के ख़िलाफ़, Vertex AI Workbench के सुरक्षित किए गए इंस्टेंस को डिप्लॉय किया गया है.
  • डेटा ट्रांसफ़र को मॉनिटर न किए जाने और गलती से सार्वजनिक होने की समस्या को कम करने के लिए, Cloud Storage बकेट को सुरक्षित किया गया.
  • "ब्लास्ट रेडियस" को सीमित करने के लिए, कम से कम विशेषाधिकार वाले सेवा खातों को लागू किया गया.
  • डेटा की सुरक्षा और ऑडिट ट्रेल में बदलाव न होने देने के लिए, ऑब्जेक्ट वर्शनिंग और डेटा ऐक्सेस लॉग की सुविधा चालू की गई है.