इस दस्तावेज़ में बताया गया है कि Cloud Key Management Service की मदद से, क्लाउड सेवा में मौजूद डेटा को एन्क्रिप्ट (सुरक्षित) करने और उसे कंट्रोल करने के लिए, ग्राहक की ओर से मैनेज की जाने वाली एन्क्रिप्शन कुंजियों (सीएमईके) का इस्तेमाल कैसे किया जाता है. CMEK को Gemini Code Assist के लिए, कोड को पसंद के मुताबिक बनाने की सुविधा के साथ इंटिग्रेट किया गया है. Gemini Code Assist, Cloud EKM कुंजियों के इस्तेमाल का समर्थन नहीं करता.
इस दस्तावेज़ में, ये काम किए जा सकते हैं:
- सीएमईके बनाने का तरीका जानें.
- Gemini Code Assist सेवा खाते को अनुमतियां दें.
- सीएमईके की मदद से, कोड रिपॉज़िटरी इंडेक्स बनाएं.
- CMEK की मदद से सुरक्षित किए गए डेटाबेस का ऐक्सेस हटाएं.
Gemini for Google Cloud, डिफ़ॉल्ट रूप से ग्राहक के कॉन्टेंट को सुरक्षित रखता है. Gemini, आपके लिए एन्क्रिप्शन की सुविधा को मैनेज करता है. इसके लिए, आपको कोई अतिरिक्त कार्रवाई करने की ज़रूरत नहीं होती. इस विकल्प को डेटा सुरक्षित करने का Google का डिफ़ॉल्ट तरीका कहा जाता है.
सीएमईके का इस्तेमाल करके अपने संसाधन सेट अप करने के बाद, Gemini के संसाधनों को ऐक्सेस करने का तरीका, Google के डिफ़ॉल्ट एन्क्रिप्शन का इस्तेमाल करने जैसा ही होता है. एन्क्रिप्शन के विकल्पों के बारे में ज़्यादा जानने के लिए, ग्राहक की ओर से मैनेज की जाने वाली एन्क्रिप्शन कुंजियां (सीएमईके) लेख पढ़ें.
शुरू करने से पहले
इनमें से किसी एक डेवलपमेंट एनवायरमेंट में, gcloud सीएलआई सेट अप करें:
Cloud Shell: gcloud सीएलआई के साथ ऑनलाइन टर्मिनल का इस्तेमाल करने के लिए, Cloud Shell एडिटर लॉन्च करें.
लोकल शेल: लोकल डेवलपमेंट एनवायरमेंट का इस्तेमाल करने के लिए, gcloud सीएलआई को इंस्टॉल करें और इस्तेमाल शुरू करें.
अगर किसी बाहरी आइडेंटिटी प्रोवाइडर (आईडीपी) का इस्तेमाल किया जा रहा है, तो आपको सबसे पहले फ़ेडरेट की गई अपनी पहचान का इस्तेमाल करके, gcloud CLI में साइन इन करना होगा.
जिस डेवलपमेंट एनवायरमेंट में आपने gcloud सीएलआई सेट अप किया है वहां
gcloud components updateकमांड चलाएं. इससे यह पक्का किया जा सकेगा कि आपने gcloud के सभी इंस्टॉल किए गए कॉम्पोनेंट को नए वर्शन में अपडेट कर दिया है.gcloud components update
CMEK बनाना और अनुमतियां देना
CMEK बनाने और Gemini Code Assist सेवा खाते को कुंजी पर अनुमतियां देने के लिए, ये काम करें:
जिस Google Cloud प्रोजेक्ट में आपको अपनी कुंजियां मैनेज करनी हैं उसमें यह काम करें:
Gemini Code Assist सेवा खाते को CryptoKey Encrypter/Decrypter IAM भूमिका (
roles/cloudkms.cryptoKeyEncrypterDecrypter) असाइन करें. आपने जिस कुंजी को बनाया है उस पर यह अनुमति दें.कंसोल
कुंजी मैनेजमेंट पर जाएं.
आपने जो कुंजी बनाई है उसे चुनें.
Gemini Code Assist के सेवा खाते का ऐक्सेस दें:
- प्रिंसिपल जोड़ें पर क्लिक करें.
- Gemini Code Assist का सेवा खाता जोड़ें. सेवा खाता
service-PROJECT_NUMBER@gcp-sa-cloudaicompanions.है, जहां PROJECT_NUMBER, उस Google Cloud प्रोजेक्ट का प्रोजेक्ट नंबर है जिसमें Gemini Code Assist की सुविधा चालू है. - भूमिका चुनें में जाकर, Cloud KMS > Cloud KMS CryptoKey Encrypter/Decrypter को चुनें.
- सेव करें पर क्लिक करें.
पिछले चरण को दोहराकर, उस खाते को ऐक्सेस दें जो CMEK का इस्तेमाल करके कोड रिपॉज़िटरी इंडेक्स बनाएगा.
कुंजी मैनेजमेंट पेज पर वापस जाएं और कुंजी को फिर से चुनें.
जानकारी वाला पैनल दिखाएं को चुनें. आपको भूमिका/सदस्य कॉलम में भूमिकाएं दिखेंगी.
gcloud
Gemini Code Assist सेवा खाते को ऐक्सेस देने के लिए, शेल एनवायरमेंट में
kms keys add-iam-policy-bindingकमांड का इस्तेमाल करें:gcloud kms keys add-iam-policy-binding KEY_NAME \ --project=PROJECT_ID \ --location=LOCATION \ --keyring=KEYRING_NAME \ --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-cloudaicompanion." \ --role="roles/cloudkms.cryptoKeyEncrypterDecrypter"इनकी जगह ये डालें:
- KEY_NAME: कुंजी का नाम.
- PROJECT_ID: उस प्रोजेक्ट का आईडी जिसमें कुंजी मौजूद है.
- LOCATION: यह कुंजी की जगह है.
- KEYRING_NAME: की-रिंग का नाम.
- PROJECT_NUMBER: Gemini Code Assist की सुविधा चालू करने वाले Google Cloud प्रोजेक्ट का प्रोजेक्ट नंबर.
पिछले चरण को दोहराकर, उस खाते को ऐक्सेस दें जो CMEK का इस्तेमाल करके कोड रिपॉज़िटरी इंडेक्स बनाएगा.
इस कमांड के बारे में ज़्यादा जानकारी के लिए,
gcloud kms keys add-iam-policy-bindingदस्तावेज़ देखें.
अब एपीआई का इस्तेमाल करके, सीएमईके की मदद से कोड रिपॉज़िटरी इंडेक्स बनाया जा सकता है. साथ ही, एन्क्रिप्शन के लिए इस्तेमाल की जाने वाली कुंजी तय की जा सकती है.
सीएमईके का इस्तेमाल करके, कोड रिपॉज़िटरी इंडेक्स बनाना
सीएमईके सुरक्षा वाली नई रिपॉज़िटरी बनाने के लिए, इनमें से कोई एक काम करें:
gcloud
gemini code-repository-indexes create कमांड का इस्तेमाल करें:
gcloud gemini code-repository-indexes create CODE_REPOSITORY_INDEX_NAME \
--location=LOCATION \
--kms-key="projects/KEY_PROJECT_ID/locations/LOCATION/keyRings/KEYRING_NAME/cryptoKeys/KEY_NAME"
इनकी जगह ये डालें:
- CODE_REPOSITORY_INDEX_NAME: नई कोड रिपॉज़िटरी इंडेक्स का नाम.
- LOCATION: यह कुंजी की जगह है.
- KEY_PROJECT_ID: मुख्य प्रोजेक्ट का आईडी.
- KEYRING_NAME: की-रिंग का नाम.
- KEY_NAME: कुंजी का नाम.
एपीआई
एक JSON फ़ाइल बनाएं, जिसमें यह जानकारी शामिल हो:
{ "kmsKey": "projects/KEY_PROJECT_ID/locations/KEY_LOCATION/keyRings/KEYRING_NAME/cryptoKeys/KEY_NAME" }इनकी जगह ये डालें:
KEY_PROJECT_ID: मुख्य प्रोजेक्ट का आईडीKEY_LOCATION: यह कुंजी की जगह हैKEYRING_NAME: की-रिंग का नामKEY_NAME: कुंजी का नाम
projects.locations.codeRepositoryIndexes.createतरीके को कॉल करने के लिए,cURLकमांड का इस्तेमाल करें:curl -X POST --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://cloudaicompanion.googleapis.com/v1/projects/PROJECT_ID/locations/KEY_LOCATION/codeRepositoryIndexes?codeRepositoryIndexId=CODE_REPOSITORY_INDEX_NAME"इनकी जगह ये डालें:
JSON_FILE_NAME: यह उस JSON फ़ाइल का पाथ है जिसे आपने पिछले चरण में बनाया था.PROJECT_ID: जिस प्रोजेक्ट में रिपॉज़िटरी बनानी है उसका आईडी.KEY_LOCATION: वह जगह जहां रिपॉज़िटरी बनानी है. यह उस जगह से मेल खानी चाहिए जहां सीएमईके मौजूद है.CODE_REPOSITORY_INDEX_NAME: नई कोड रिपॉज़िटरी इंडेक्स का नाम, जिसे आपको बनाना है. उदाहरण के लिए,zg-btf-0001.
जवाब में, लॉग एंट्री का एक सेट मिलता है.
CMEK रिपॉज़िटरी का ऐक्सेस हटाना
सीएमईके से एन्क्रिप्ट की गई किसी रिपॉज़िटरी का ऐक्सेस हटाने के कई तरीके हैं:
- Google Cloud Console या gcloud का इस्तेमाल करके, Gemini Code Assist सेवा खाते से Cloud KMS CryptoKey Encrypter/Decrypter भूमिका हटाएं.
- सीएमईके को कुछ समय के लिए बंद करें.
- सीएमईके को हमेशा के लिए मिटा दें.
हमारा सुझाव है कि कुंजी को बंद करने या हटाने से पहले, Gemini Code Assist सेवा खाते से अनुमतियां रद्द करें. अनुमतियों में किए गए बदलाव कुछ ही सेकंड में लागू हो जाते हैं. इसलिए, किसी कुंजी को बंद करने या मिटाने के असर को देखा जा सकता है.