গোপনীয় স্থান ব্যবহার করে শেয়ার করা ডেটা সুরক্ষিত করুন

গোপনীয় স্থান ব্যবহার করে শেয়ার করা ডেটা সুরক্ষিত করুন

এই কোডল্যাব সম্পর্কে

subjectআগ ১, ২০২৪-এ শেষবার আপডেট করা হয়েছে
account_circlePriya Pandey, Jiankun Lu, Meetrajsinh Vala-এর লেখা

1. ওভারভিউ

গোপনীয় স্থান নিরাপদ মাল্টি-পার্টি ডেটা শেয়ারিং এবং সহযোগিতা প্রদান করে, যখন সংস্থাগুলিকে তাদের ডেটার গোপনীয়তা রক্ষা করার অনুমতি দেয়। এর মানে হল যে সংস্থাগুলি তাদের ডেটার উপর নিয়ন্ত্রণ বজায় রেখে এবং এটিকে অননুমোদিত অ্যাক্সেস থেকে রক্ষা করে একে অপরের সাথে সহযোগিতা করতে পারে।

কনফিডেনশিয়াল স্পেস পরিস্থিতিগুলিকে আনলক করে যেখানে আপনি সংবেদনশীল, প্রায়শই নিয়ন্ত্রিত, ডেটা একত্রিত এবং বিশ্লেষণ করে পারস্পরিক মূল্য অর্জন করতে চান, যেখানে এটির উপর সম্পূর্ণ নিয়ন্ত্রণ বজায় থাকে। কনফিডেনশিয়াল স্পেস দিয়ে, সংস্থাগুলি ব্যক্তিগতভাবে শনাক্তযোগ্য তথ্য (PII), সুরক্ষিত স্বাস্থ্য তথ্য (PHI), বুদ্ধিবৃত্তিক সম্পত্তি এবং ক্রিপ্টোগ্রাফিক গোপনীয়তার মতো সংবেদনশীল ডেটা একত্রিত এবং বিশ্লেষণ করে পারস্পরিক মূল্য অর্জন করতে পারে — এর উপর সম্পূর্ণ নিয়ন্ত্রণ বজায় রেখে।

আপনি কি প্রয়োজন হবে

আপনি কি শিখবেন

  • গোপনীয় স্থান চালানোর জন্য প্রয়োজনীয় ক্লাউড সংস্থানগুলি কীভাবে কনফিগার করবেন
  • গোপনীয় স্থান VM ইমেজ চলমান একটি গোপনীয় ভিএম-এ কাজের চাপ কীভাবে চালাবেন
  • ওয়ার্কলোড কোড ( কি ), গোপনীয় স্থানের পরিবেশ ( কোথায় ) এবং যে অ্যাকাউন্টটি কাজের চাপ ( কে ) চালাচ্ছে তার বৈশিষ্ট্যগুলির উপর ভিত্তি করে কীভাবে সুরক্ষিত সংস্থানগুলিতে অ্যাক্সেস অনুমোদন করবেন।

এই কোডল্যাবে আপনি প্রাইমাস এবং সেকেন্ডাস ব্যাঙ্কের মধ্যে একটি গোপনীয় স্থান সেট আপ করবেন যাতে একে অপরের সাথে সম্পূর্ণ অ্যাকাউন্ট তালিকা ভাগ না করে তাদের সাধারণ গ্রাহকদের নির্ধারণ করা যায়। এটি নিম্নলিখিত পদক্ষেপগুলি জড়িত:

  • ধাপ 1: প্রাইমাস এবং সেকেন্ডাস ব্যাঙ্কগুলির জন্য প্রয়োজনীয় ক্লাউড সংস্থানগুলি সেট আপ করুন৷ এই ক্লাউড সংস্থানগুলির মধ্যে রয়েছে ক্লাউড স্টোরেজ বালতি, কেএমএস কী, কাজের চাপের পরিচয় পুল এবং প্রাইমাস এবং সেকেন্ডাস ব্যাঙ্কগুলির পরিষেবা অ্যাকাউন্ট। প্রাইমাস ব্যাংক এবং সেকেন্ডাস ব্যাংক তাদের গ্রাহকের ডেটা ক্লাউড স্টোরেজ বালতিতে সংরক্ষণ করে এবং তারা ক্লাউড কী ম্যানেজমেন্ট পরিষেবা কী ব্যবহার করে ডেটা এনক্রিপ্ট করে।
  • ধাপ 2: একটি ওয়ার্কলোড পরিষেবা অ্যাকাউন্ট তৈরি করুন যা ওয়ার্কলোড VM দ্বারা ব্যবহার করা হবে। সেকেন্ডাস ব্যাংক যারা কাজের চাপের অপারেটর হবে তারা ওয়ার্কলোড ভিএম চালু করবে। প্রাইমাস ব্যাংক ওয়ার্কলোড কোড রচনা করবে।
  • ধাপ 3: একটি কাজের চাপ তৈরি করুন যার মধ্যে দুটি CLI কমান্ড রয়েছে, একটি প্রদত্ত অবস্থান থেকে গ্রাহকদের গণনা করার জন্য এবং অন্যটি Primus এবং Secundus Bank-এর সাধারণ গ্রাহকদের খোঁজার জন্য। কাজের চাপ প্রাইমাস ব্যাংক দ্বারা রচিত হবে এবং এটি একটি ডকার ইমেজ হিসাবে প্যাকেজ করা হবে। এই ডকার চিত্রটি আর্টিফ্যাক্ট রেজিস্ট্রিতে প্রকাশিত হবে।
  • ধাপ 4: একটি কাজের চাপ অনুমোদন করুন। প্রাইমাস ব্যাঙ্ক একটি ওয়ার্কলোড আইডেন্টিটি পুল ব্যবহার করবে যাতে তারা ওয়ার্কলোড কে চালাচ্ছে, কাজের চাপ কি করে এবং কাজের চাপ কোথায় চলছে তার বৈশিষ্ট্যের উপর ভিত্তি করে তাদের গ্রাহক ডেটা অ্যাক্সেস করার জন্য ওয়ার্কলোড অনুমোদন করবে।
  • ধাপ 5: যখন কাজের চাপ চলবে, তখন এটি কাজের চাপ এবং পরিবেশের দাবির সাথে একটি সত্যায়ন যাচাইকারী পরিষেবা টোকেন অফার করে ডেটা সহযোগীদের (প্রাইমাস ব্যাঙ্ক এবং সেকেন্ডাস ব্যাঙ্ক) ক্লাউড সংস্থানগুলিতে অ্যাক্সেসের অনুরোধ করবে। যদি টোকেনে ওয়ার্কলোড পরিমাপের দাবি প্রাইমাস এবং সেকেন্ডাস ব্যাঙ্কের ওয়ার্কলোড আইডেন্টিটি পুলের অ্যাট্রিবিউট শর্তের সাথে মেলে, তবে এটি পরিষেবা অ্যাকাউন্ট অ্যাক্সেস টোকেন ফেরত দেয় যার সংশ্লিষ্ট ক্লাউড সংস্থানগুলি অ্যাক্সেস করার অনুমতি রয়েছে। ক্লাউড সংস্থানগুলি শুধুমাত্র গোপনীয় স্থানের ভিতরে চলমান কাজের চাপে অ্যাক্সেসযোগ্য হবে৷
  • ধাপ 5(a): প্রথম কাজের চাপ চালান যা নির্দিষ্ট স্থান থেকে প্রাইমাস ব্যাঙ্কের গ্রাহকদের গণনা করে। এই কাজের চাপের জন্য, প্রাইমাস ব্যাংক হবে একজন ডেটা সহযোগী এবং কাজের চাপ লেখক, যেটি গোপনীয় স্থানে চলমান কাজের চাপে এনক্রিপ্ট করা গ্রাহক তালিকা প্রদান করবে। সেকেন্ডাস ব্যাংক একটি কাজের চাপ অপারেটর হবে এবং এটি একটি গোপনীয় স্থানে কাজের চাপ চালাবে।
  • ধাপ 5(b): দ্বিতীয় কাজের চাপ চালান যা প্রাইমাস এবং সেকেন্ডাস ব্যাঙ্কের সাধারণ গ্রাহকদের খুঁজে পায়। এই কাজের চাপের জন্য, প্রাইমাস ব্যাংক এবং সেকেন্ডাস ব্যাংক উভয়ই ডেটা সহযোগী হবে। তারা গোপনীয় স্থানে চলমান কাজের চাপে এনক্রিপ্ট করা গ্রাহক তালিকা সরবরাহ করবে। সেকেন্ডাস ব্যাংক আবার একটি কাজের চাপ অপারেটর হবে. এই কাজের চাপটি সেকেন্ডাস ব্যাঙ্ক দ্বারাও অনুমোদিত হবে কারণ কাজের চাপের জন্য সেকেন্ডাস ব্যাঙ্কের এনক্রিপ্ট করা গ্রাহক তালিকাগুলি অ্যাক্সেস করতে হবে এবং সেইসাথে সাধারণ গ্রাহকদের খুঁজে বের করতে হবে৷ এই ক্ষেত্রে, সেকেন্ডাস ব্যাংক তাদের গ্রাহকদের ডেটা অ্যাক্সেস করার জন্য কাজের চাপকে অনুমোদন করবে কে ওয়ার্কলোড চালাচ্ছে, কাজের চাপ কী এবং কাজের চাপ কোথায় চলছে প্রিমাস ব্যাংকের জন্য ধাপ 4 এ উল্লিখিত হিসাবে।

fdef93a6868a976.png

2. ক্লাউড রিসোর্স সেট আপ করুন

আপনি শুরু করার আগে

  • এই কোডল্যাবের অংশ হিসাবে ব্যবহৃত প্রয়োজনীয় স্ক্রিপ্টগুলি পেতে নীচের কমান্ডটি ব্যবহার করে এই সংগ্রহস্থলটি ক্লোন করুন।
git clone https://github.com/GoogleCloudPlatform/confidential-space.git
  • এই কোডল্যাবের জন্য ডিরেক্টরি পরিবর্তন করুন।
cd confidential-space/codelabs/bank_data_analysis_codelab
  • নিশ্চিত করুন যে আপনি নীচে দেখানো হিসাবে প্রয়োজনীয় প্রকল্প পরিবেশ ভেরিয়েবল সেট করেছেন। একটি GCP প্রকল্প তৈরির বিষয়ে আরও তথ্যের জন্য, অনুগ্রহ করে এই কোডল্যাবটি পড়ুন। কিভাবে প্রজেক্ট আইডি পুনরুদ্ধার করা যায় এবং এটি কিভাবে প্রজেক্টের নাম এবং প্রোজেক্ট নম্বর থেকে আলাদা সে সম্পর্কে বিস্তারিত জানতে আপনি এটি উল্লেখ করতে পারেন।
export PRIMUS_PROJECT_ID=<GCP project id of Primus bank>
export SECUNDUS_PROJECT_ID=<GCP project id of Secundus bank>
  • আপনার প্রকল্পগুলির জন্য বিলিং সক্ষম করুন
  • উভয় প্রকল্পের জন্য গোপনীয় কম্পিউটিং API এবং নিম্নলিখিত APIগুলি সক্ষম করুন৷
gcloud services enable \
    cloudapis.googleapis.com \
    cloudkms.googleapis.com \
    cloudresourcemanager.googleapis.com \
    cloudshell.googleapis.com \
    container.googleapis.com \
    containerregistry.googleapis.com \
    iam.googleapis.com \
    confidentialcomputing.googleapis.com
  • এই কমান্ড ব্যবহার করে নীচে উল্লিখিত হিসাবে সম্পদ নামের জন্য ভেরিয়েবল সেট করুন। আপনি এই ভেরিয়েবলগুলি ব্যবহার করে সম্পদের নামগুলিকে ওভাররাইড করতে পারেন (যেমন export PRIMUS_INPUT_STORAGE_BUCKET='my-input-bucket' )
  • আপনি প্রাইমাস প্রজেক্টে বিদ্যমান ক্লাউড রিসোর্স নামের সাথে নিম্নলিখিত ভেরিয়েবল সেট করতে পারেন। যদি ভেরিয়েবল সেট করা হয়, তাহলে প্রাইমাস প্রজেক্ট থেকে সংশ্লিষ্ট বিদ্যমান ক্লাউড রিসোর্স ব্যবহার করা হবে। ভেরিয়েবল সেট করা না থাকলে, প্রকল্প-নাম থেকে ক্লাউড রিসোর্স নাম তৈরি করা হবে এবং নিম্নলিখিত অংশ হিসাবে নতুন ক্লাউড-রিসোর্স তৈরি করা হবে:

$PRIMUS_INPUT_STORAGE_BUCKET

প্রাইমাস ব্যাঙ্কের গ্রাহকের ডেটা ফাইল সংরক্ষণ করা বালতি।

$PRIMUS_WORKLOAD_IDENTITY_POOL

প্রাইমাস ব্যাঙ্কের ওয়ার্কলোড আইডেন্টিটি পুল (ডব্লিউআইপি) যা দাবিগুলিকে যাচাই করে৷

$PRIMUS_WIP_PROVIDER

প্রাইমাস ব্যাঙ্কের ওয়ার্কলোড আইডেন্টিটি পুল প্রদানকারী যা প্রত্যয়ন যাচাইকারী পরিষেবা দ্বারা স্বাক্ষরিত টোকেনের জন্য ব্যবহার করার অনুমোদন শর্ত অন্তর্ভুক্ত করে।

$PRIMUS_SERVICE_ACCOUNT

প্রাইমাস ব্যাঙ্কের পরিষেবা অ্যাকাউন্ট যা $PRIMUS_WORKLOAD_IDENTITY_POOL সুরক্ষিত সংস্থানগুলি অ্যাক্সেস করতে ব্যবহার করে৷ এই ধাপে $PRIMUS_INPUT_STORAGE_BUCKET বালতিতে সংরক্ষিত গ্রাহক ডেটা দেখার অনুমতি রয়েছে৷

$PRIMUS_ENC_KEY

প্রাইমাস ব্যাঙ্কের জন্য $PRIMUS_INPUT_STORAGE_BUCKET এ সঞ্চিত ডেটা এনক্রিপ্ট করতে ব্যবহৃত KMS কী।

$PRIMUS_ENC_KEYRING

KMS কীরিং যা প্রাইমাস ব্যাঙ্কের জন্য $PRIMUS_ENC_KEY এনক্রিপশন কী তৈরি করতে ব্যবহার করা হবে।

$PRIMUS_ARTIFACT_REPOSITORY

আর্টিফ্যাক্ট রিপোজিটরি যেখানে ওয়ার্কলোড ডকার ইমেজ পুশ করা হবে।

  • আপনি Secundus প্রকল্পে বিদ্যমান ক্লাউড রিসোর্স নামের সাথে নিম্নলিখিত ভেরিয়েবল সেট করতে পারেন। যদি ভেরিয়েবল সেট করা হয়, তাহলে সেকুন্ডাস প্রকল্পের সংশ্লিষ্ট বিদ্যমান ক্লাউড রিসোর্স ব্যবহার করা হবে। ভেরিয়েবল সেট করা না থাকলে, ক্লাউড রিসোর্স নামটি প্রজেক্ট-নাম থেকে তৈরি হবে এবং নতুন ক্লাউড-রিসোর্স নিম্নলিখিত অংশ হিসেবে তৈরি করা হবে:

$SECUNDUS_INPUT_STORAGE_BUCKET

বালতি যেটি সেকেন্ডাস ব্যাংকের গ্রাহকের ডেটা ফাইল সংরক্ষণ করে

$SECUNDUS_WORKLOAD_IDENTITY_POOL

সেকেন্ডাস ব্যাঙ্কের ওয়ার্কলোড আইডেন্টিটি পুল (WIP) যা দাবিগুলিকে বৈধ করে।

$SECUNDUS_WIP_PROVIDER

Secundus ব্যাঙ্কের ওয়ার্কলোড আইডেন্টিটি পুল প্রদানকারী যা প্রত্যয়ন যাচাইকারী পরিষেবা দ্বারা স্বাক্ষরিত টোকেনের জন্য ব্যবহার করার অনুমোদন শর্ত অন্তর্ভুক্ত করে।

$SECUNDUS_SERVICE_ACCOUNT

Secundus ব্যাঙ্কের পরিষেবা অ্যাকাউন্ট যা $SECUNDUS_WORKLOAD_IDENTITY_POOL সুরক্ষিত সংস্থানগুলি অ্যাক্সেস করতে ব্যবহার করে৷ এই ধাপে $SECUNDUS_INPUT_STORAGE_BUCKET বালতিতে সংরক্ষিত গ্রাহক ডেটা দেখার অনুমতি রয়েছে৷

$SECUNDUS_ENC_KEY

KMS কী যা Secundus ব্যাঙ্কের জন্য $SECUNDUS_INPUT_STORAGE_BUCKET এ সংরক্ষিত ডেটা এনক্রিপ্ট করতে ব্যবহৃত হয়।

$SECUNDUS_ENC_KEYRING

KMS কীরিং যা Secundus Bank-এর জন্য $SECUNDUS_ENV_KEY এনক্রিপশন কী তৈরি করতে ব্যবহৃত হয়।

$SECUNDUS_RESULT_STORAGE_BUCKET

বালতি যা কাজের চাপের ফলাফল সংরক্ষণ করে।

$WORKLOAD_IMAGE_NAME

কাজের চাপ কন্টেইনার ছবির নাম।

$WORKLOAD_IMAGE_TAG

ওয়ার্কলোড কন্টেইনার ছবির ট্যাগ।

$WORKLOAD_SERVICE_ACCOUNT

যে পরিষেবা অ্যাকাউন্টের গোপনীয় VM অ্যাক্সেস করার অনুমতি রয়েছে যা কাজের চাপ চালায়।

  • নীচে উল্লিখিত এই কোডল্যাবের অংশ হিসাবে ব্যবহৃত কয়েকটি নিদর্শন রয়েছে:
  • primus_customer_list.csv : যে ফাইলটিতে প্রাইমাস ব্যাঙ্কের গ্রাহকের ডেটা রয়েছে। এই কোডল্যাবে ব্যবহৃত নমুনা ফাইল এখানে
  • secundus_customer_list.csv : ফাইলটিতে সেকেন্ডাস ব্যাঙ্কের গ্রাহকের ডেটা রয়েছে। এই কোডল্যাবে ব্যবহৃত নমুনা ফাইল এখানে
  • এই দুটি প্রকল্পের জন্য আপনাকে নির্দিষ্ট অনুমতির প্রয়োজন হবে:
  • $PRIMUS_PROJECT_ID এর জন্য, আপনার ক্লাউড KMS অ্যাডমিন, স্টোরেজ অ্যাডমিন, আর্টিফ্যাক্ট রেজিস্ট্রি অ্যাডমিনিস্ট্রেটর, সার্ভিস অ্যাকাউন্ট অ্যাডমিন, IAM ওয়ার্কলোড আইডেন্টিটি পুল অ্যাডমিনের প্রয়োজন হবে।
  • $SECUNDUS_PROJECT_ID এর জন্য, আপনার প্রয়োজন হবে কম্পিউট অ্যাডমিন, স্টোরেজ অ্যাডমিন, সার্ভিস অ্যাকাউন্ট অ্যাডমিন, ক্লাউড কেএমএস অ্যাডমিন, আইএএম ওয়ার্কলোড আইডেন্টিটি পুল অ্যাডমিন, সিকিউরিটি অ্যাডমিন (ঐচ্ছিক)।
  • সম্পদের নামের জন্য আপনার প্রকল্প আইডির উপর ভিত্তি করে মানগুলিতে অবশিষ্ট পরিবর্তনশীল নাম সেট করতে নিম্নলিখিত স্ক্রিপ্টটি চালান।
source config_env.sh

প্রাইমাস ব্যাঙ্কের জন্য ক্লাউড রিসোর্স সেট আপ করুন

প্রাইমাস ব্যাঙ্কের জন্য নিম্নলিখিত ক্লাউড সংস্থানগুলি প্রয়োজন৷ প্রাইমাস ব্যাঙ্কের জন্য সংস্থানগুলি সেট আপ করতে এই স্ক্রিপ্টটি চালান:

  • ক্লাউড স্টোরেজ বাকেট ( $PRIMUS_INPUT_STORAGE_BUCKET ) প্রাইমাস ব্যাঙ্কের এনক্রিপ্ট করা গ্রাহক ডেটা ফাইল সংরক্ষণ করতে।
  • এনক্রিপশন কী ( $PRIMUS_ENC_KEY ) এবং কিরিং ( $PRIMUS_ENC_KEYRING ) কেএমএসে প্রাইমাস ব্যাঙ্কের গ্রাহক ডেটা ফাইল এনক্রিপ্ট করতে।
  • ওয়ার্কলোড আইডেন্টিটি পুল ( $PRIMUS_WORKLOAD_IDENTITY_POOL ) তার প্রদানকারীর অধীনে কনফিগার করা বৈশিষ্ট্যের শর্তগুলির উপর ভিত্তি করে দাবিগুলি যাচাই করতে৷
  • পরিষেবা অ্যাকাউন্ট ( $PRIMUS_SERVICE_ACCOUNT ) উপরে উল্লিখিত ওয়ার্কলোড আইডেন্টিটি পুলের সাথে সংযুক্ত ( $PRIMUS_WORKLOAD_IDENTITY_POOL )-এ KMS কী ব্যবহার করে ডেটা ডিক্রিপ্ট করার অ্যাক্সেস রয়েছে ( roles/cloudkms.cryptoKeyDecrypter ভূমিকা ব্যবহার করে), ক্লাউড স্টোরেজ বাকেট থেকে ডেটা পড়ুন এবং ক্লাউড objectViewer বাকেট থেকে ডেটা পড়ুন ওয়ার্কলোড আইডেন্টিটি পুলের সাথে সার্ভিস-অ্যাকাউন্ট সংযোগ করা ( roles/iam.workloadIdentityUser ব্যবহার করে)।
./setup_primus_bank_resources.sh

Secundus Bank এর জন্য ক্লাউড রিসোর্স সেট আপ করুন

সেকেন্ডাস ব্যাঙ্কের জন্য, নিম্নলিখিত ক্লাউড সংস্থানগুলি প্রয়োজন৷ Secundus Bank সম্পদ সেট আপ করতে এই স্ক্রিপ্ট চালান. এই পদক্ষেপগুলির অংশ হিসাবে নীচে উল্লিখিত সংস্থানগুলি তৈরি করা হবে:

  • ক্লাউড স্টোরেজ বাকেট ( $SECUNDUS_INPUT_STORAGE_BUCKET ) সেকেন্ডাস ব্যাঙ্কের এনক্রিপ্ট করা গ্রাহক ডেটা ফাইল সংরক্ষণ করতে।
  • এনক্রিপশন কী ( $SECUNDUS_ENC_KEY ) এবং কিরিং ( $SECUNDUS_ENC_KEYRING ) কেএমএসে সেকেন্ডাস ব্যাঙ্কের ডেটা ফাইল এনক্রিপ্ট করতে।
  • ওয়ার্কলোড আইডেন্টিটি পুল ( $SECUNDUS_WORKLOAD_IDENTITY_POOL ) তার প্রদানকারীর অধীনে কনফিগার করা বৈশিষ্ট্যের শর্তগুলির উপর ভিত্তি করে দাবিগুলি যাচাই করতে৷
  • পরিষেবা অ্যাকাউন্ট ( $SECUNDUS_SERVICE_ACCOUNT ) উপরে উল্লিখিত ওয়ার্কলোড আইডেন্টিটি পুলের সাথে সংযুক্ত ( $SECUNDUS_WORKLOAD_IDENTITY_POOL ) এর KMS কী ব্যবহার করে ডেটা ডিক্রিপ্ট করার অ্যাক্সেস রয়েছে ( roles/cloudkms.cryptoKeyDecrypter objectViewer ব্যবহার করে), ক্লাউড স্টোরেজ থেকে ডেটা পড়ুন সার্ভিস-অ্যাকাউন্টকে ওয়ার্কলোড আইডেন্টিটি পুলের সাথে সংযুক্ত করা ( roles/iam.workloadIdentityUser ভূমিকা ব্যবহার করে)।
  • ক্লাউড স্টোরেজ বালতি ( $SECUNDUS_RESULT_STORAGE_BUCKET ) Secundus Bank দ্বারা কাজের চাপ নির্বাহের ফলাফল সংরক্ষণ করতে।
./setup_secundus_bank_resources.sh

3. কাজের চাপ তৈরি করুন

কাজের চাপ পরিষেবা-অ্যাকাউন্ট তৈরি করুন

এখন, আপনি নীচে উল্লিখিত প্রয়োজনীয় ভূমিকা এবং অনুমতি সহ কাজের চাপের জন্য একটি পরিষেবা-অ্যাকাউন্ট তৈরি করবেন। সেকুন্ডাস ব্যাঙ্ক প্রকল্পে একটি কাজের চাপ পরিষেবা অ্যাকাউন্ট তৈরি করতে নিম্নলিখিত স্ক্রিপ্টটি চালান। VM যে কাজের চাপ চালায় এই পরিষেবা-অ্যাকাউন্ট ব্যবহার করবে।

এই কাজের চাপ পরিষেবা-অ্যাকাউন্টে ( $WORKLOAD_SERVICE_ACCOUNT ) নিম্নলিখিত ভূমিকা থাকবে:

  • কাজের চাপ পরিষেবা অ্যাকাউন্টে confidentialcomputing.workloadUser ভূমিকা মঞ্জুর করুন৷ এটি ব্যবহারকারীর অ্যাকাউন্টকে একটি প্রত্যয়ন টোকেন তৈরি করার অনুমতি দেবে।
  • কাজের চাপ পরিষেবা অ্যাকাউন্টের অনুমতিতে logging.logWriter ভূমিকাটি মঞ্জুর করুন৷ এটি কনফিডেন্সিয়াল স্পেস এনভায়রনমেন্টকে সিরিয়াল কনসোল ছাড়াও ক্লাউড লগিং-এ লগ লেখার অনুমতি দেয়, তাই VM বন্ধ হয়ে যাওয়ার পরে লগগুলি পাওয়া যায়।
  • objectViewer $PRIMUS_INPUT_STORAGE_BUCKET ক্লাউড স্টোরেজ বাকেট থেকে ডেটা পড়ার জন্য।
  • objectViewer $SECUNDUS_INPUT_STORAGE_BUCKET ক্লাউড স্টোরেজ বাকেট থেকে ডেটা পড়ার জন্য।
  • objectAdmin $SECUNDUS_RESULT_STORAGE_BUCKET ক্লাউড স্টোরেজ বালতিতে কাজের চাপের ফলাফল লিখতে।
./create_workload_service_account.sh

কাজের চাপ তৈরি করুন

এই ধাপের অংশ হিসাবে, আপনি এই কোডল্যাবে ব্যবহৃত কাজের চাপের জন্য একটি ডকার ইমেজ তৈরি করবেন। কাজের চাপ একটি সাধারণ GoLang অ্যাপ্লিকেশন যা:

  • একটি নির্দিষ্ট ভৌগলিক অবস্থানে গ্রাহকদের গণনা করে।
  • প্রাইমাস এবং সেকেন্ডাস ব্যাংকের সাধারণ গ্রাহকদের তাদের নিজ নিজ ক্লাউড স্টোরেজ বালতিতে সংরক্ষিত গ্রাহক তালিকা থেকে খুঁজে পায়।

একটি কাজের চাপ তৈরি করতে নিম্নলিখিত স্ক্রিপ্টটি চালান যেখানে নিম্নলিখিত পদক্ষেপগুলি সঞ্চালিত হচ্ছে:

  • প্রাইমাস ব্যাঙ্কের মালিকানাধীন আর্টিফ্যাক্ট রেজিস্ট্রি ( $PRIMUS_ARTIFACT_REPOSITORY ) তৈরি করুন যেখানে কাজের চাপ প্রকাশিত হবে৷
  • কোড তৈরি করুন এবং প্রয়োজনীয় সম্পদের নাম দিয়ে আপডেট করুন। এই কোডল্যাবে ব্যবহৃত ওয়ার্কলোড কোড এখানে পাওয়া যাবে।
  • কোডটি তৈরি করুন এবং এটি একটি ডকার ইমেজে প্যাকেজ করুন। সংশ্লিষ্ট ডকারফাইলটি এখানে পাওয়া যাবে।
  • প্রাইমাস ব্যাঙ্কের মালিকানাধীন আর্টিফ্যাক্ট রেজিস্ট্রিতে ( $PRIMUS_ARTIFACT_REGISTRY ) ডকার ইমেজটি প্রকাশ করুন।
  • আর্টিফ্যাক্ট রেজিস্ট্রি ( $PRIMUS_ARTIFACT_REGISTRY ) এর জন্য পরিষেবা অ্যাকাউন্ট $WORKLOAD_SERVICE_ACCOUNT পড়ার অনুমতি দিন।
./create_workload.sh

4. অনুমোদন এবং কাজের চাপ(গুলি) চালান

কাজের চাপ অনুমোদন করুন

প্রাইমাস ব্যাঙ্ক নিম্নলিখিত সংস্থানগুলির বৈশিষ্ট্যগুলির উপর ভিত্তি করে তাদের গ্রাহক ডেটা অ্যাক্সেস করার জন্য কাজের চাপ অনুমোদন করতে চায়:

  • কি : কোড যা যাচাই করা হয়
  • কোথায় : নিরাপদ পরিবেশ
  • কে : বিশ্বস্ত একজন অপারেটর

প্রাইমাস এই প্রয়োজনীয়তার উপর ভিত্তি করে একটি অ্যাক্সেস নীতি প্রয়োগ করতে ওয়ার্কলোড আইডেন্টিটি ফেডারেশন ব্যবহার করে।

ওয়ার্কলোড আইডেন্টিটি ফেডারেশন আপনাকে অ্যাট্রিবিউট শর্ত নির্দিষ্ট করতে দেয়। ওয়ার্কলোড আইডেন্টিটি পুল (ডব্লিউআইপি) দিয়ে কোন পরিচয় প্রমাণীকরণ করা যাবে তা এই শর্তগুলো সীমাবদ্ধ করে। আপনি পরিমাপ উপস্থাপন করতে এবং নীতি প্রয়োগ করতে ওয়ার্কলোড আইডেন্টিটি পুল প্রদানকারী হিসাবে WIP-তে প্রত্যয়ন যাচাইকারী পরিষেবা যোগ করতে পারেন।

ক্লাউড রিসোর্স সেটআপ ধাপের অংশ হিসেবে ওয়ার্কলোড আইডেন্টিটি পুল ইতিমধ্যেই তৈরি করা হয়েছে। এখন প্রাইমাস ব্যাংক একটি নতুন OIDC ওয়ার্কলোড আইডেন্টিটি পুল প্রদানকারী তৈরি করবে। নির্দিষ্ট --attribute-condition ওয়ার্কলোড কন্টেইনারে অ্যাক্সেস অনুমোদন করে। এটি প্রয়োজন:

  • কি : $PRIMUS_ARTIFACT_REPOSITORY সংগ্রহস্থলে সর্বশেষ $WORKLOAD_IMAGE_NAME আপলোড করা হয়েছে৷
  • কোথায় : কনফিডেন্সিয়াল স্পেস ট্রাস্টেড এক্সিকিউশন এনভায়রনমেন্ট সম্পূর্ণ সমর্থিত কনফিডেন্সিয়াল স্পেস ভিএম ইমেজে চলছে।
  • কে : Secundus Bank $WORKLOAD_SERVICE_ACCOUNT পরিষেবা অ্যাকাউন্ট।
gcloud config set project $PRIMUS_PROJECT_ID
gcloud iam workload-identity-pools providers create-oidc $PRIMUS_WIP_PROVIDER \
  --location="global" \
  --workload-identity-pool="$PRIMUS_WORKLOAD_IDENTITY_POOL" \
  --issuer-uri="https://confidentialcomputing.googleapis.com/" \
  --allowed-audiences="https://sts.googleapis.com" \
  --attribute-mapping="google.subject='assertion.sub'" \
  --attribute-condition="assertion.swname == 'CONFIDENTIAL_SPACE' &&
   'STABLE' in assertion.submods.confidential_space.support_attributes &&
   assertion.submods.container.image_reference == 'us-docker.pkg.dev/$PRIMUS_PROJECT_ID/$PRIMUS_ARTIFACT_REPOSITORY/$WORKLOAD_IMAGE_NAME:$WORKLOAD_IMAGE_TAG' &&
'
$WORKLOAD_SERVICE_ACCOUNT@$SECUNDUS_PROJECT_ID.iam.gserviceaccount.com' in assertion.google_service_accounts"

প্রাইমাস ব্যাঙ্কের জন্য তৈরি WIP-এর মতো, সেকেন্ডাস ব্যাঙ্ক তাদের গ্রাহক ডেটা অ্যাক্সেস করার জন্য কাজের চাপ অনুমোদন করতে চায়:

  • কি : কাজের চাপ।
  • কোথায় : গোপনীয় স্থান পরিবেশ।
  • কে : অ্যাকাউন্ট ( $WORKLOAD_SERVICE_ACCOUNT ) যেটি কাজের চাপ চালাচ্ছে৷

প্রাইমাস ব্যাঙ্ক image_reference দাবি ব্যবহার করে, যার মধ্যে ইমেজ ট্যাগ রয়েছে, তাদের অ্যাক্সেস অনুমোদন করা উচিত কিনা তা নির্ধারণ করতে। তারা রিমোট রিপোজিটরি নিয়ন্ত্রণ করে, তাই তারা নিশ্চিত হতে পারে যে শুধুমাত্র এমন ছবি ট্যাগ করতে পারে যা তাদের ডেটা ফাঁস করে না।

তুলনামূলকভাবে, সেকেন্ডাস ব্যাঙ্ক সেই রিপোজিটরিকে নিয়ন্ত্রণ করে না যেখানে তারা ছবিটি পাচ্ছে, তাই তারা নিরাপদে সেই অনুমান করতে পারে না। পরিবর্তে, তারা এর image_digest এর উপর ভিত্তি করে কাজের চাপে অ্যাক্সেস অনুমোদন করতে বেছে নেয়। image_reference বিপরীতে, যা প্রাইমাস ব্যাংক একটি ভিন্ন চিত্রের দিকে নির্দেশ করার জন্য পরিবর্তন করতে পারে, প্রাইমাস ব্যাঙ্কের image_digest পূর্ববর্তী ধাপে সেকেন্ডাস ব্যাংক অডিট করা ছবি ব্যতীত অন্য কোনও চিত্রকে নির্দেশ করতে পারে না।

ওয়ার্কলোড আইডেন্টিটি পুল প্রোভাইডার তৈরি করার আগে, আমরা ওয়ার্কলোড কন্টেইনার ইমেজের জন্য image_digest সংগ্রহ করব যা প্রদানকারীর অ্যাট্রিবিউট শর্তে ব্যবহার করা হবে।

export WORKLOAD_IMAGE_DIGEST=$(docker images ${PRIMUS_PROJECT_REPOSITORY_REGION}-docker.pkg.dev/$PRIMUS_PROJECT_ID/$PRIMUS_ARTIFACT_REPOSITORY/$WORKLOAD_IMAGE_NAME:$WORKLOAD_IMAGE_TAG  --no-trunc --quiet)
gcloud config set project $SECUNDUS_PROJECT_ID
gcloud iam workload-identity-pools providers create-oidc $SECUNDUS_WIP_PROVIDER \
  --location="global" \
  --workload-identity-pool="$SECUNDUS_WORKLOAD_IDENTITY_POOL" \
  --issuer-uri="https://confidentialcomputing.googleapis.com/" \
  --allowed-audiences="https://sts.googleapis.com" \
  --attribute-mapping="google.subject='assertion.sub'" \
  --attribute-condition="assertion.swname == 'CONFIDENTIAL_SPACE' &&
'
STABLE' in assertion.submods.confidential_space.support_attributes &&
assertion.submods.container.image_digest == ${WORKLOAD_IMAGE_DIGEST}'&&
 assertion.submods.container.image_reference == '${PRIMUS_PROJECT_REPOSITORY_REGION}-docker.pkg.dev/$PRIMUS_PROJECT_ID/$PRIMUS_ARTIFACT_REPOSITORY/$WORKLOAD_IMAGE_NAME:$WORKLOAD_IMAGE_TAG' &&
'
$WORKLOAD_SERVICE_ACCOUNT@$SECUNDUS_PROJECT_ID.iam.gserviceaccount.com' in assertion.google_service_accounts"

কাজের চাপ(গুলি) চালান

এই পদক্ষেপের অংশ হিসাবে, সেকেন্ডাস ব্যাংক গোপনীয় স্থানের উপর কাজের চাপ চালাবে। এই কাজের চাপ প্রাইমাসের ওয়ার্কলোড আইডেন্টিটি পুল এবং সেকেন্ডাসের ওয়ার্কলোড আইডেন্টিটি পুল থেকে যথাক্রমে প্রাইমাস ব্যাঙ্ক এবং সেকেন্ডাস ব্যাঙ্কের গ্রাহক ডেটা পড়তে এবং ডিক্রিপ্ট করতে অ্যাক্সেস টোকেন পাবে।

প্রয়োজনীয় TEE আর্গুমেন্ট মেটাডেটা পতাকা ব্যবহার করে পাস করা হয়। ওয়ার্কলোড কন্টেইনারের আর্গুমেন্টগুলি পতাকার " tee-cmd " অংশ ব্যবহার করে পাস করা হয়। ওয়ার্কলোড এক্সিকিউশনের ফলাফল $SECUNDUS_RESULT_STORAGE_BUCKET এ প্রকাশিত হবে।

প্রথম কাজের চাপ চালান

প্রথম ওয়ার্কলোড এক্সিকিউশনের অংশ হিসেবে, ওয়ার্কলোড কন্টেইনার আর্গুমেন্টে প্রদত্ত অবস্থান থেকে প্রাইমাস ব্যাঙ্কের গ্রাহকদের গণনা করবে। নীচে দেখানো হিসাবে, প্রথম কাজের চাপটি " count-location " কমান্ডটি কার্যকর করবে এবং ফলাফলটি $SECUNDUS_RESULT_STORAGE_BUCKET/seattle-result এ সংরক্ষণ করা হবে।

gcloud config set project $SECUNDUS_PROJECT_ID

gcloud compute instances create first-workload-cvm \
 --confidential-compute-type=SEV \
 --shielded-secure-boot \
 --maintenance-policy=TERMINATE \
 --scopes=cloud-platform --zone=${SECUNDUS_PROJECT_ZONE} \
 --image-project=confidential-space-images \
 --image-family=confidential-space \
--service-account=${WORKLOAD_SERVICE_ACCOUNT}@${SECUNDUS_PROJECT_ID}.iam.gserviceaccount.com \
 --metadata "^~^tee-image-reference=${PRIMUS_PROJECT_REPOSITORY_REGION}-docker.pkg.dev/${PRIMUS_PROJECT_ID}/${PRIMUS_ARTIFACT_REPOSITORY}/${WORKLOAD_IMAGE_NAME}:${WORKLOAD_IMAGE_TAG}~tee-restart-policy=Never~tee-cmd="[\"count-location\",\"Seattle\",\"gs://${SECUNDUS_RESULT_STORAGE_BUCKET}/seattle-result\"]""

ফলাফল দেখুন

সেকেন্ডাস প্রকল্পে, প্রথম কাজের চাপের ফলাফল দেখুন। কাজের চাপের জন্য 3-5 মিনিট অপেক্ষা করুন এবং ফলাফলটি ক্লাউড স্টোরেজ বালতিতে পাওয়া যাবে।

gcloud config set project $SECUNDUS_PROJECT_ID
gsutil cat gs://$SECUNDUS_RESULT_STORAGE_BUCKET/seattle-result

ফলাফল 3 হওয়া উচিত, কারণ এটি সিয়াটেলের লোকের সংখ্যা, primus_customer_list.csv ফাইলে তালিকাভুক্ত করা হয়েছে!

দ্বিতীয় কাজের চাপ চালান

দ্বিতীয় কাজের চাপের অংশ হিসেবে আমরা প্রাইমাস ব্যাংক এবং সেকেন্ডাস ব্যাংকের সাধারণ গ্রাহকদের খুঁজে পাব। নীচে দেখানো হিসাবে, দ্বিতীয় কাজের চাপটি " list-common-customers " কমান্ডটি কার্যকর করবে এবং ফলাফল $SECUNDUS_RESULT_STORAGE_BUCKET/list-common-count এ সংরক্ষণ করা হবে।

gcloud config set project $SECUNDUS_PROJECT_ID
gcloud compute instances create second-workload-cvm \
 --confidential-compute-type=SEV \
 --shielded-secure-boot \
 --maintenance-policy=TERMINATE \
 --scopes=cloud-platform --zone=${SECUNDUS_PROJECT_ZONE} \
 --image-project=confidential-space-images \
 --image-family=confidential-space \
--service-account=${WORKLOAD_SERVICE_ACCOUNT}@${SECUNDUS_PROJECT_ID}.iam.gserviceaccount.com \
  --metadata "^~^tee-image-reference=${PRIMUS_PROJECT_REPOSITORY_REGION}-docker.pkg.dev/${PRIMUS_PROJECT_ID}/${PRIMUS_ARTIFACT_REPOSITORY}/${WORKLOAD_IMAGE_NAME}:${WORKLOAD_IMAGE_TAG}~tee-restart-policy=Never~tee-cmd="[\"list-common-customers\",\"gs://$SECUNDUS_RESULT_STORAGE_BUCKET/list-common-result\"]""

ফলাফল দেখুন

সেকেন্ডাস প্রকল্পে, দ্বিতীয় কাজের চাপের ফলাফল দেখুন। কাজের চাপের জন্য 3-5 মিনিট অপেক্ষা করুন এবং ফলাফলটি ক্লাউড স্টোরেজ বালতিতে পাওয়া যাবে।

gcloud config set project $SECUNDUS_PROJECT_ID
gsutil cat gs://$SECUNDUS_RESULT_STORAGE_BUCKET/list-common-result

ফলাফল নিম্নলিখিত তালিকা হওয়া উচিত কারণ তারা প্রাইমাস এবং সেকেন্ডাস ব্যাংকের মধ্যে সাধারণ গ্রাহক।

আউটপুট:

Eric
Clinton
Ashley
Cooper

অননুমোদিত কাজের চাপ চালান

প্রাইমাস ব্যাংকের সেকেন্ডাস ব্যাংককে তাদের ডেটা অ্যাক্সেস করার অনুমতি দেওয়ার চুক্তির মেয়াদ শেষ হয়ে যাচ্ছে। তাই Primus Bank তাদের নতুন অংশীদার Tertius Bank-এর পরিষেবা অ্যাকাউন্টের সাথে VM-এর অনুমতি দেওয়ার জন্য তাদের বৈশিষ্ট্যের শর্ত আপডেট করে।

প্রাইমাস ব্যাংক ওয়ার্কলোড আইডেন্টিটি পুল প্রদানকারীকে সংশোধন করে

$PRIMUS_PROJECT_ID এ, একটি নতুন অবস্থানে কাজের চাপ অনুমোদন করার জন্য প্রত্যয়ন যাচাইকারী পরিচয় প্রদানকারীর জন্য অ্যাট্রিবিউট শর্ত আপডেট করুন।

  1. প্রকল্পটিকে $PRIMUS_PROJECT_ID এ সেট করুন।
gcloud config set project $PRIMUS_PROJECT_ID
  1. নিচের কমান্ডটি ব্যবহার করে Tertius Bank এর GCP প্রজেক্ট-আইডি রপ্তানি করুন। পরে প্রাইমাস ব্যাঙ্ক এটি ব্যবহার করবে কাজের চাপ পরিচয় পুল প্রদানকারীর বৈশিষ্ট্যের অবস্থা আপডেট করতে। প্রাইমাস ব্যাঙ্ক সেকেন্ডাস ব্যাঙ্কের কাজের চাপ পরিষেবা-অ্যাকাউন্ট অনুমোদন করা বন্ধ করবে না। এটি এখন Tertius Bank কাজের চাপ পরিষেবা অ্যাকাউন্টের অনুমতি দেবে৷
export TERTIUS_PROJECT_ID=<GCP project-id of Tertius Bank>
  1. কাজের চাপের পরিচয় পুলে OIDC প্রদানকারী আপডেট করুন। এখানে '$WORKLOAD_SERVICE_ACCOUNT@$SECUNDUS_PROJECT_ID.iam.gserviceaccount.com' in assertion.google_service_accounts পরিবর্তন করে '$WORKLOAD_SERVICE_ACCOUNT@$TERTIUS_PROJECT_ID.iam.gserviceaccount.com' in assertion.google_service_accounts. সেকেন্ডাস ব্যাঙ্ক থেকে ওয়ার্কলোড পরিষেবা অ্যাকাউন্ট অনুমোদনের পরিবর্তে, এখন টারটিয়াস ব্যাঙ্ক থেকে ওয়ার্কলোড পরিষেবা অ্যাকাউন্ট অনুমোদিত হবে।
gcloud iam workload-identity-pools providers update-oidc $PRIMUS_WIP_PROVIDER \
  --location="global" \
  --workload-identity-pool="$PRIMUS_WORKLOAD_IDENTITY_POOL" \
  --issuer-uri="https://confidentialcomputing.googleapis.com/" \
  --allowed-audiences="https://sts.googleapis.com" \
  --attribute-mapping="google.subject='assertion.sub'" \
  --attribute-condition="assertion.swname == 'CONFIDENTIAL_SPACE' &&
   'STABLE' in assertion.submods.confidential_space.support_attributes &&
   assertion.submods.container.image_reference == '${PRIMUS_PROJECT_REPOSITORY_REGION}-docker.pkg.dev/$PRIMUS_PROJECT_ID/$PRIMUS_ARTIFACT_REPOSITORY/$WORKLOAD_IMAGE_NAME:$WORKLOAD_IMAGE_TAG' &&
'
$WORKLOAD_SERVICE_ACCOUNT@$TERTIUS_PROJECT_ID.iam.gserviceaccount.com' in assertion.google_service_accounts"

কাজের চাপ পুনরায় চালান

যখন সেকেন্ডাস ব্যাংক মূল কাজের চাপ চালানোর চেষ্টা করে, তখন এটি ব্যর্থ হয়। ত্রুটি দেখতে, মূল ফলাফল ফাইল এবং VM উদাহরণ মুছুন, এবং তারপর আবার কাজের চাপ চালানোর চেষ্টা করুন।

বিদ্যমান ফলাফল ফাইল এবং VM উদাহরণ মুছুন

  1. প্রকল্পটিকে $SECUNDUS_PROJECT_ID প্রকল্পে সেট করুন৷
gcloud config set project $SECUNDUS_PROJECT_ID
  1. ফলাফল ফাইল মুছুন।
gsutil rm gs://$SECUNDUS_RESULT_STORAGE_BUCKET/seattle-result
  1. গোপনীয় VM উদাহরণ মুছুন।
gcloud compute instances delete second-workload-cvm

অননুমোদিত কাজের চাপ চালান:

gcloud compute instances create second-workload-cvm \
 --confidential-compute-type=SEV \
 --shielded-secure-boot \
 --maintenance-policy=TERMINATE \
 --scopes=cloud-platform --zone=${SECUNDUS_PROJECT_ZONE}\
 --image-project=confidential-space-images \
 --image-family=confidential-space \
--service-account=${WORKLOAD_SERVICE_ACCOUNT}@${SECUNDUS_PROJECT_ID}.iam.gserviceaccount.com \
 --metadata "^~^tee-image-reference=${PRIMUS_PROJECT_REPOSITORY_REGION}-docker.pkg.dev/${PRIMUS_PROJECT_ID}/${PRIMUS_ARTIFACT_REPOSITORY}/${WORKLOAD_IMAGE_NAME}:${WORKLOAD_IMAGE_TAG}~tee-restart-policy=Never~tee-cmd="[\"list-common-customers\",\"gs://$SECUNDUS_RESULT_STORAGE_BUCKET/list-common-result\"]""

ত্রুটি দেখুন

কাজের চাপের ফলাফলের পরিবর্তে, আপনি একটি ত্রুটি দেখতে পাচ্ছেন ( The given credential is rejected by the attribute condition )।

gsutil cat gs://$SECUNDUS_RESULT_STORAGE_BUCKET/seattle-result

এর অনুরূপ, যদি Primus Bank গোপনে কাজের চাপ পরিবর্তন করে সেকেন্ডাস ব্যাঙ্কের সম্পূর্ণ গ্রাহক তালিকা প্রাইমাস ব্যাঙ্কের মালিকানাধীন একটি বালতিতে পাঠায় তাহলে সেই প্রচেষ্টা ব্যর্থ হবে কারণ দূষিত ওয়ার্কলোডের ডাইজেস্ট সেকেন্ডাস ব্যাঙ্কের ওয়ার্কলোড আইডেন্টিটি পুলে অনুমোদিত ইমেজ ডাইজেস্ট থেকে আলাদা হবে। .

5. ক্লিন আপ

এই কোডল্যাবের অংশ হিসাবে আমরা যে সংস্থানগুলি তৈরি করেছি তা পরিষ্কার করতে এখানে স্ক্রিপ্টটি ব্যবহার করা যেতে পারে। এই পরিষ্কারের অংশ হিসাবে, নিম্নলিখিত সংস্থানগুলি মুছে ফেলা হবে:

  • প্রাইমাস ব্যাঙ্কের ইনপুট ক্লাউড স্টোরেজ বালতি ( $PRIMUS_INPUT_STORAGE_BUCKET)
  • প্রাইমাস ব্যাঙ্কের একটি পরিষেবা-অ্যাকাউন্ট ( $PRIMUS_SERVICE_ACCOUNT )।
  • প্রাইমাস ব্যাঙ্কের একটি আর্টিফ্যাক্ট রেজিস্ট্রি যেখানে ছবি স্বাক্ষর রয়েছে ( $PRIMUS_COSIGN_REPOSITORY )।
  • প্রাইমাস ব্যাঙ্কের একটি কাজের চাপের পরিচয় পুল ( $PRIMUS_WORKLOAD_IDENTITY_POOL )।
  • সেকেন্ডাস ব্যাঙ্কের একটি কাজের চাপ পরিষেবা অ্যাকাউন্ট ( $WORKLOAD_SERVICE_ACCOUNT )।
  • সেকেন্ডাস ব্যাঙ্কের ইনপুট ক্লাউড স্টোরেজ বালতি ( $SECUNDUS_INPUT_STORAGE_BUCKET)
  • সেকেন্ডাস ব্যাঙ্কের একটি পরিষেবা-অ্যাকাউন্ট ( $SECUNDUS_SERVICE_ACCOUNT )।
  • সেকেন্ডাস ব্যাঙ্কের একটি আর্টিফ্যাক্ট রেজিস্ট্রি যেখানে ছবি স্বাক্ষর রয়েছে ( $SECUNDUS_COSIGN_REPOSITORY )।
  • সেকেন্ডাস ব্যাংকের একটি কাজের চাপের পরিচয় পুল ( $SECUNDUS_WORKLOAD_IDENTITY_POOL )।
  • সেকেন্ডাস ব্যাঙ্কের একটি কাজের চাপ পরিষেবা অ্যাকাউন্ট ( $WORKLOAD_SERVICE_ACCOUNT )।
  • কাজের চাপ কম্পিউট ইনস্ট্যান্স।
  • সেকেন্ডাস ব্যাঙ্কের ফলাফল স্টোরেজ বালতি ( $SECUNDUS_RESULT_STORAGE_BUCKET )।
  • প্রাইমাস ব্যাঙ্কের একটি আর্টিফ্যাক্ট ভান্ডার ( $PRIMUS_ARTIFACT_REPOSITORY )।
./cleanup.sh

আপনি যদি অন্বেষণ শেষ করে থাকেন, তাহলে অনুগ্রহ করে আপনার প্রকল্প মুছে ফেলার কথা বিবেচনা করুন।

  • ক্লাউড প্ল্যাটফর্ম কনসোলে যান।
  • আপনি যে প্রকল্পটি বন্ধ করতে চান সেটি নির্বাচন করুন, তারপরে শীর্ষে 'মুছুন' এ ক্লিক করুন: এটি মুছে ফেলার জন্য প্রকল্পের সময়সূচী করে।

অভিনন্দন

অভিনন্দন, আপনি সফলভাবে কোডল্যাব সম্পূর্ণ করেছেন!

আপনি শিখেছেন কিভাবে গোপনীয় স্থান ব্যবহার করে শেয়ার করা ডেটার গোপনীয়তা বজায় রেখে সুরক্ষিত করা যায়।

এরপর কি?

এই অনুরূপ কোডল্যাবগুলির কিছু পরীক্ষা করে দেখুন...

আরও পড়া