গ্রাহক-পরিচালিত এনক্রিপশন কী দিয়ে ডেটা এনক্রিপ্ট করুন

এই ডকুমেন্টটিতে দেখানো হয়েছে কীভাবে ক্লাউড কী ম্যানেজমেন্ট সার্ভিসের মাধ্যমে কোনো ক্লাউড সার্ভিসে থাকা ডেটা-অ্যাট-রেস্ট এনক্রিপ্ট ও নিয়ন্ত্রণ করতে কাস্টমার-ম্যানেজড এনক্রিপশন কী (CMEK) ব্যবহার করতে হয়। জেমিনি কোড অ্যাসিস্টের জন্য কোড কাস্টমাইজেশনের সাথে CMEK ইন্টিগ্রেটেড রয়েছে। জেমিনি কোড অ্যাসিস্ট ক্লাউড EKM কী-এর ব্যবহার সাপোর্ট করে না।

এই নথিতে, আপনাকে নিম্নলিখিত কাজগুলো করতে হবে:

  • কীভাবে একটি CMEK তৈরি করতে হয় তা জানুন।
  • জেমিনি কোড অ্যাসিস্ট সার্ভিস অ্যাকাউন্টকে অনুমতি প্রদান করুন।
  • একটি CMEK ব্যবহার করে কোড রিপোজিটরি ইনডেক্স তৈরি করুন।
  • একটি CMEK রিপোজিটরিতে অ্যাক্সেস অপসারণ করুন।

ডিফল্টরূপে, Gemini for Google Cloud গ্রাহকের সংরক্ষিত কন্টেন্ট এনক্রিপ্ট করে । আপনার পক্ষ থেকে কোনো অতিরিক্ত পদক্ষেপ ছাড়াই Gemini আপনার জন্য এনক্রিপশনের কাজটি করে দেয়। এই অপশনটিকে Google ডিফল্ট এনক্রিপশন বলা হয়।

CMEK ব্যবহার করে আপনার রিসোর্সগুলো সেট আপ করার পর, আপনার Gemini রিসোর্সগুলো অ্যাক্সেস করার অভিজ্ঞতা Google-এর ডিফল্ট এনক্রিপশন ব্যবহারের মতোই হয়। আপনার এনক্রিপশন বিকল্পগুলো সম্পর্কে আরও তথ্যের জন্য, কাস্টমার-ম্যানেজড এনক্রিপশন কী (CMEK) দেখুন।

শুরু করার আগে

  1. নিম্নলিখিত ডেভেলপমেন্ট এনভায়রনমেন্টগুলোর মধ্যে যেকোনো একটিতে gcloud CLI সেট আপ করুন:

    আপনি যদি কোনো বাহ্যিক পরিচয় প্রদানকারী (IdP) ব্যবহার করেন, তাহলে আপনাকে প্রথমে আপনার ফেডারেটেড পরিচয় দিয়ে gcloud CLI-তে সাইন ইন করতে হবে।

  2. যে ডেভেলপমেন্ট এনভায়রনমেন্টে আপনি gcloud CLI সেট আপ করেছেন, সেখানে gcloud components update কমান্ডটি চালান, যাতে gcloud- এর ইনস্টল করা সমস্ত কম্পোনেন্ট সর্বশেষ সংস্করণে আপডেট হয়েছে কিনা তা নিশ্চিত করা যায়।

    gcloud components update
    

একটি CMEK তৈরি করুন এবং অনুমতি প্রদান করুন

একটি CMEK তৈরি করতে এবং কী-টির উপর Gemini Code Assist সার্ভিস অ্যাকাউন্টকে অনুমতি প্রদান করতে, নিম্নলিখিত কাজগুলি সম্পাদন করুন:

  1. যে গুগল ক্লাউড প্রজেক্টে আপনি আপনার কীগুলো পরিচালনা করতে চান, সেখানে নিম্নলিখিত কাজগুলো করুন:

    1. ক্লাউড কী ম্যানেজমেন্ট সার্ভিস এপিআই (API) সক্রিয় করুন

    2. ক্লাউড কেএমএস-এ সরাসরি কী রিং এবং চাবি তৈরি করুন।

  2. Gemini Code Assist সার্ভিস অ্যাকাউন্টকে CryptoKey Encrypter/Decrypter IAM রোল ( roles/cloudkms.cryptoKeyEncrypterDecrypter ) প্রদান করুন। আপনার তৈরি করা কী-টির উপর এই অনুমতিটি দিন।

    কনসোল

    1. চাবি ব্যবস্থাপনায় যান।

      চাবি ব্যবস্থাপনায় যান

    2. আপনার তৈরি করা কী-টি নির্বাচন করুন।

    3. জেমিনি কোড অ্যাসিস্ট পরিষেবা অ্যাকাউন্টে অ্যাক্সেস মঞ্জুর করুন:

      1. প্রিন্সিপাল যোগ করুন -এ ক্লিক করুন।
      2. Gemini Code Assist সার্ভিস অ্যাকাউন্টটি যোগ করুন। সার্ভিস অ্যাকাউন্টটি হলো service- PROJECT_NUMBER @gcp-sa-cloudaicompanions. যেখানে PROJECT_NUMBER হলো সেই গুগল ক্লাউড প্রজেক্টের প্রজেক্ট নম্বর , যেটিতে জেমিনি কোড অ্যাসিস্ট সক্রিয় করা আছে।
      3. 'Select a role'-এ , Cloud KMS > Cloud KMS CryptoKey Encrypter/Decrypter নির্বাচন করুন।
      4. সংরক্ষণ করুন- এ ক্লিক করুন।
    4. যে অ্যাকাউন্টটি CMEK সহ কোড রিপোজিটরি ইনডেক্স তৈরি করবে, সেটিকে অ্যাক্সেস দেওয়ার জন্য পূর্ববর্তী ধাপটি পুনরাবৃত্তি করুন।

    5. চাবি ব্যবস্থাপনা পৃষ্ঠায় ফিরে যান এবং চাবিটি আবার নির্বাচন করুন।

    6. ‘তথ্য প্যানেল দেখান’ নির্বাচন করুন। আপনি ‘ভূমিকা/সদস্য’ কলামে ভূমিকাগুলো দেখতে পাবেন।

    জিক্লাউড

    1. শেল পরিবেশে, 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 : জেমিনি কোড অ্যাসিস্ট সক্রিয় থাকা গুগল ক্লাউড প্রজেক্টের প্রজেক্ট নম্বর
    2. যে অ্যাকাউন্টটি CMEK সহ কোড রিপোজিটরি ইনডেক্স তৈরি করবে, সেটিকে অ্যাক্সেস দেওয়ার জন্য পূর্ববর্তী ধাপটি পুনরাবৃত্তি করুন।

    এই কমান্ড সম্পর্কে আরও তথ্যের জন্য, gcloud kms keys add-iam-policy-binding ডকুমেন্টেশন দেখুন।

এখন আপনি API ব্যবহার করে একটি CMEK সহ কোড রিপোজিটরি ইনডেক্স তৈরি করতে পারেন এবং এনক্রিপশনের জন্য ব্যবহৃত কী-টিও নির্দিষ্ট করে দিতে পারেন।

CMEK ব্যবহার করে একটি কোড রিপোজিটরি ইনডেক্স তৈরি করুন

CMEK সুরক্ষাযুক্ত একটি নতুন রিপোজিটরি তৈরি করতে, নিম্নলিখিতগুলির মধ্যে একটি করুন:

জিক্লাউড

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 : কী-এর নাম।

এপিআই

  1. একটি JSON ফাইল তৈরি করুন যাতে নিম্নলিখিত তথ্যগুলো থাকবে:

      {
        "kmsKey": "projects/KEY_PROJECT_ID/locations/KEY_LOCATION/keyRings/KEYRING_NAME/cryptoKeys/KEY_NAME"
      }
    

    নিম্নলিখিতগুলি প্রতিস্থাপন করুন:

    • KEY_PROJECT_ID : মূল প্রজেক্ট আইডি
    • KEY_LOCATION : চাবির অবস্থান
    • KEYRING_NAME : কী রিং-এর নাম
    • KEY_NAME : কী-এর নাম
  2. 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 : রিপোজিটরি তৈরি করার স্থান, যা অবশ্যই CMEK-এর অবস্থানের সাথে মিলতে হবে।
    • CODE_REPOSITORY_INDEX_NAME : আপনি যে নতুন কোড রিপোজিটরি ইনডেক্সটি তৈরি করবেন তার নাম। উদাহরণস্বরূপ, zg-btf-0001

প্রতিক্রিয়াটি একগুচ্ছ লগ এন্ট্রি ফেরত দেয়।

একটি CMEK রিপোজিটরিতে অ্যাক্সেস অপসারণ করুন

CMEK-এনক্রিপ্টেড রিপোজিটরিতে অ্যাক্সেস অপসারণ করার বিভিন্ন উপায় রয়েছে:

আমরা সুপারিশ করি যে, কোনো কী নিষ্ক্রিয় বা ধ্বংস করার আগে আপনি Gemini Code Assist সার্ভিস অ্যাকাউন্ট থেকে অনুমতিগুলো প্রত্যাহার করে নিন। অনুমতিতে করা পরিবর্তনগুলো কয়েক সেকেন্ডের মধ্যেই কার্যকর হয়, ফলে আপনি কোনো কী নিষ্ক্রিয় বা ধ্বংস করার প্রভাব পর্যবেক্ষণ করতে পারবেন।