কনটেইনার বিল্ড সুরক্ষিত করা

1. ভূমিকা

ead1609267034bf7.png

সফ্টওয়্যার দুর্বলতা হল দুর্বলতা যা একটি দুর্ঘটনাজনিত সিস্টেম ব্যর্থতার কারণ হতে পারে বা খারাপ অভিনেতাদের আপনার সফ্টওয়্যারকে আপস করার উপায় প্রদান করে৷ কন্টেইনার বিশ্লেষণ পাত্রে দুর্বলতা খুঁজে পেতে দুই ধরনের ওএস স্ক্যানিং প্রদান করে:

  • অন-ডিমান্ড স্ক্যানিং এপিআই আপনাকে OS দুর্বলতার জন্য ম্যানুয়ালি কন্টেইনার ছবি স্ক্যান করতে দেয়, হয় স্থানীয়ভাবে আপনার কম্পিউটারে বা দূরবর্তীভাবে কন্টেইনার রেজিস্ট্রি বা আর্টিফ্যাক্ট রেজিস্ট্রিতে।
  • কন্টেইনার স্ক্যানিং API আপনাকে OS দুর্বলতা সনাক্তকরণ স্বয়ংক্রিয় করতে দেয়, প্রতিবার যখন আপনি একটি চিত্রকে কন্টেইনার রেজিস্ট্রি বা আর্টিফ্যাক্ট রেজিস্ট্রিতে ঠেলে স্ক্যান করেন। এই API সক্ষম করলে Go এবং Java দুর্বলতার জন্য ভাষা প্যাকেজ স্ক্যানও সক্ষম হয়।

অন-ডিমান্ড স্ক্যানিং এপিআই আপনাকে আপনার কম্পিউটারে স্থানীয়ভাবে বা কনটেইনার রেজিস্ট্রি বা আর্টিফ্যাক্ট রেজিস্ট্রিতে দূরবর্তীভাবে সংরক্ষিত ছবি স্ক্যান করতে দেয়। এটি আপনাকে দুর্বলতার জন্য স্ক্যান করতে চান এমন পাত্রে দানাদার নিয়ন্ত্রণ দেয়। আপনি রেজিস্ট্রিতে সংরক্ষণ করবেন কিনা তা সিদ্ধান্ত নেওয়ার আগে আপনার CI/CD পাইপলাইনে চিত্রগুলি স্ক্যান করতে অন-ডিমান্ড স্ক্যানিং ব্যবহার করতে পারেন।

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

এই ল্যাবে আপনি পাবেন:

  • ক্লাউড বিল্ড দিয়ে ছবি তৈরি করুন
  • কন্টেইনারগুলির জন্য আর্টিফ্যাক্ট রেজিস্ট্রি ব্যবহার করুন
  • স্বয়ংক্রিয় দুর্বলতা স্ক্যানিং ব্যবহার করুন
  • চাহিদা স্ক্যানিং কনফিগার করুন
  • ক্লাউড বিল্ডে CICD-এ ইমেজ স্ক্যানিং যোগ করুন

2. সেটআপ এবং প্রয়োজনীয়তা

স্ব-গতিসম্পন্ন পরিবেশ সেটআপ

  1. Google ক্লাউড কনসোলে সাইন-ইন করুন এবং একটি নতুন প্রকল্প তৈরি করুন বা বিদ্যমান একটি পুনরায় ব্যবহার করুন৷ আপনার যদি ইতিমধ্যেই একটি Gmail বা Google Workspace অ্যাকাউন্ট না থাকে, তাহলে আপনাকে অবশ্যই একটি তৈরি করতে হবে।

b35bf95b8bf3d5d8.png

a99b7ace416376c4.png

bd84a6d3004737c5.png

  • প্রকল্পের নাম এই প্রকল্পের অংশগ্রহণকারীদের জন্য প্রদর্শনের নাম। এটি একটি অক্ষর স্ট্রিং যা Google API দ্বারা ব্যবহৃত হয় না। আপনি যে কোনো সময় এটি আপডেট করতে পারেন.
  • প্রোজেক্ট আইডি সমস্ত Google ক্লাউড প্রোজেক্ট জুড়ে অনন্য এবং অপরিবর্তনীয় (সেট করার পরে পরিবর্তন করা যাবে না)। ক্লাউড কনসোল স্বয়ংক্রিয়ভাবে একটি অনন্য স্ট্রিং তৈরি করে; সাধারণত আপনি এটা কি যত্ন না. বেশিরভাগ কোডল্যাবে, আপনাকে প্রজেক্ট আইডি উল্লেখ করতে হবে (এটি সাধারণত PROJECT_ID হিসাবে চিহ্নিত করা হয়)। আপনি যদি জেনারেট করা আইডি পছন্দ না করেন, তাহলে আপনি অন্য এলোমেলো আইডি তৈরি করতে পারেন। বিকল্পভাবে, আপনি নিজের চেষ্টা করে দেখতে পারেন এবং এটি উপলব্ধ কিনা। এই ধাপের পরে এটি পরিবর্তন করা যাবে না এবং প্রকল্পের সময়কালের জন্য থাকবে।
  • আপনার তথ্যের জন্য, একটি তৃতীয় মান রয়েছে, একটি প্রকল্প নম্বর যা কিছু API ব্যবহার করে। ডকুমেন্টেশনে এই তিনটি মান সম্পর্কে আরও জানুন।
  1. এরপরে, ক্লাউড রিসোর্স/এপিআই ব্যবহার করতে আপনাকে ক্লাউড কনসোলে বিলিং সক্ষম করতে হবে। এই কোডল্যাবের মাধ্যমে চালানোর জন্য খুব বেশি খরচ করা উচিত নয়, যদি কিছু থাকে। রিসোর্স বন্ধ করতে যাতে এই টিউটোরিয়ালের বাইরে আপনার বিলিং খরচ না হয়, আপনি আপনার তৈরি করা রিসোর্স মুছে ফেলতে পারেন বা পুরো প্রোজেক্ট মুছে ফেলতে পারেন। Google ক্লাউডের নতুন ব্যবহারকারীরা $300 USD বিনামূল্যের ট্রায়াল প্রোগ্রামের জন্য যোগ্য৷

এনভায়রনমেন্ট সেটআপ

ক্লাউড শেলে, আপনার প্রকল্পের আইডি এবং আপনার প্রকল্পের জন্য প্রকল্প নম্বর সেট করুন। সেগুলিকে PROJECT_ID এবং PROJECT_ID ভেরিয়েবল হিসাবে সংরক্ষণ করুন৷

export PROJECT_ID=$(gcloud config get-value project)
export PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID \
    --format='value(projectNumber)')

পরিষেবাগুলি সক্ষম করুন৷

সমস্ত প্রয়োজনীয় পরিষেবাগুলি সক্ষম করুন:

gcloud services enable \
  cloudkms.googleapis.com \
  cloudbuild.googleapis.com \
  container.googleapis.com \
  containerregistry.googleapis.com \
  artifactregistry.googleapis.com \
  containerscanning.googleapis.com \
  ondemandscanning.googleapis.com \
  binaryauthorization.googleapis.com 

3. ক্লাউড বিল্ড দিয়ে ছবি তৈরি করা

এই বিভাগে আপনি একটি স্বয়ংক্রিয় বিল্ড পাইপলাইন তৈরি করবেন যা আপনার কন্টেইনার ইমেজ তৈরি করবে, এটি স্ক্যান করবে তারপর ফলাফলগুলি মূল্যায়ন করবে। যদি কোন ক্রিটিকাল দুর্বলতা পাওয়া না যায় তবে এটি চিত্রটিকে সংগ্রহস্থলে ঠেলে দেবে। যদি CRITICAL দুর্বলতা পাওয়া যায় তাহলে বিল্ড ব্যর্থ হবে এবং প্রস্থান করবে।

ক্লাউড বিল্ড পরিষেবা অ্যাকাউন্টের জন্য অ্যাক্সেস প্রদান করুন

ক্লাউড বিল্ডের অন-ডিমান্ড স্ক্যানিং এপিআই অ্যাক্সেস করার অধিকারের প্রয়োজন হবে। নিম্নলিখিত কমান্ড দিয়ে অ্যাক্সেস প্রদান করুন.

gcloud projects add-iam-policy-binding ${PROJECT_ID} \
        --member="serviceAccount:${PROJECT_NUMBER}@cloudbuild.gserviceaccount.com" \
        --role="roles/iam.serviceAccountUser"
        
gcloud projects add-iam-policy-binding ${PROJECT_ID} \
        --member="serviceAccount:${PROJECT_NUMBER}@cloudbuild.gserviceaccount.com" \
        --role="roles/ondemandscanning.admin"

একটি কাজের ডিরেক্টরি তৈরি করুন এবং পরিবর্তন করুন

mkdir vuln-scan && cd vuln-scan

একটি নমুনা চিত্র সংজ্ঞায়িত করুন

নিম্নলিখিত বিষয়বস্তু সহ ডকারফাইল নামে একটি ফাইল তৈরি করুন।

cat > ./Dockerfile << EOF
FROM gcr.io/google-appengine/debian9@sha256:ebffcf0df9aa33f342c4e1d4c8428b784fc571cdf6fbab0b31330347ca8af97a

# System
RUN apt update && apt install python3-pip -y

# App
WORKDIR /app
COPY . ./

RUN pip3 install Flask==1.1.4
RUN pip3 install gunicorn==20.1.0

CMD exec gunicorn --bind :$PORT --workers 1 --threads 8 --timeout 0 main:app

EOF

নিম্নলিখিত বিষয়বস্তু সহ main.py নামে একটি ফাইল তৈরি করুন

cat > ./main.py << EOF
import os
from flask import Flask

app = Flask(__name__)

@app.route("/")
def hello_world():
    name = os.environ.get("NAME", "Worlds")
    return "Hello {}!".format(name)

if __name__ == "__main__":
    app.run(debug=True, host="0.0.0.0", port=int(os.environ.get("PORT", 8080)))
EOF

ক্লাউড বিল্ড পাইপলাইন তৈরি করুন

নিম্নলিখিত কমান্ডটি আপনার ডিরেক্টরিতে একটি cloudbuild.yaml ফাইল তৈরি করবে যা স্বয়ংক্রিয় প্রক্রিয়ার জন্য ব্যবহার করা হবে। এই উদাহরণের জন্য ধাপগুলি কন্টেইনার বিল্ড প্রক্রিয়ার মধ্যে সীমাবদ্ধ। তবে অনুশীলনে আপনি কন্টেইনার পদক্ষেপগুলি ছাড়াও অ্যাপ্লিকেশন নির্দিষ্ট নির্দেশাবলী এবং পরীক্ষাগুলি অন্তর্ভুক্ত করবেন।

নিম্নলিখিত কমান্ড দিয়ে ফাইল তৈরি করুন।

cat > ./cloudbuild.yaml << EOF
steps:

# build
- id: "build"
  name: 'gcr.io/cloud-builders/docker'
  args: ['build', '-t', 'us-central1-docker.pkg.dev/${PROJECT_ID}/artifact-scanning-repo/sample-image', '.']
  waitFor: ['-']


EOF

CI পাইপলাইন চালান

প্রক্রিয়াকরণের জন্য বিল্ড জমা দিন

gcloud builds submit

বিল্ড বিবরণ পর্যালোচনা করুন

একবার বিল্ড প্রক্রিয়া শুরু হলে ক্লাউড বিল্ড ড্যাশবোর্ডে অগ্রগতি পর্যালোচনা করুন৷

  1. ক্লাউড কনসোলে ক্লাউড বিল্ড খুলুন
  2. বিষয়বস্তু দেখতে বিল্ড এ ক্লিক করুন

4. কন্টেইনারগুলির জন্য আর্টিফ্যাক্ট রেজিস্ট্রি

আর্টিফ্যাক্ট রেজিস্ট্রি সংগ্রহস্থল তৈরি করুন

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

gcloud artifacts repositories create artifact-scanning-repo \
  --repository-format=docker \
  --location=us-central1 \
  --description="Docker repository"

আর্টিফ্যাক্ট রেজিস্ট্রি অ্যাক্সেস করার সময় আপনার জিক্লাউড শংসাপত্রগুলি ব্যবহার করতে ডকার কনফিগার করুন।

gcloud auth configure-docker us-central1-docker.pkg.dev

ক্লাউড বিল্ড পাইপলাইন আপডেট করুন

ফলস্বরূপ চিত্রটিকে আর্টিফ্যাক্ট রেজিস্ট্রিতে পুশ করতে আপনার বিল্ড পাইপলাইন পরিবর্তন করুন

cat > ./cloudbuild.yaml << EOF
steps:

# build
- id: "build"
  name: 'gcr.io/cloud-builders/docker'
  args: ['build', '-t', 'us-central1-docker.pkg.dev/${PROJECT_ID}/artifact-scanning-repo/sample-image', '.']
  waitFor: ['-']

# push to artifact registry
- id: "push"
  name: 'gcr.io/cloud-builders/docker'
  args: ['push',  'us-central1-docker.pkg.dev/${PROJECT_ID}/artifact-scanning-repo/sample-image']

images:
  - us-central1-docker.pkg.dev/${PROJECT_ID}/artifact-scanning-repo/sample-image
EOF

CI পাইপলাইন চালান

প্রক্রিয়াকরণের জন্য বিল্ড জমা দিন

gcloud builds submit

5. স্বয়ংক্রিয় দুর্বলতা স্ক্যানিং

আপনি যখনই আর্টিফ্যাক্ট রেজিস্ট্রি বা কন্টেইনার রেজিস্ট্রিতে একটি নতুন ছবি পুশ করেন তখনই আর্টিফ্যাক্ট স্ক্যানিং স্বয়ংক্রিয়ভাবে ট্রিগার হয়। নতুন দুর্বলতা আবিষ্কৃত হলে দুর্বলতার তথ্য ক্রমাগত আপডেট করা হয়। এই বিভাগে আপনি যে ছবিটি তৈরি করেছেন এবং আর্টিফ্যাক্ট রেজিস্ট্রিতে পুশ করেছেন সেটি পর্যালোচনা করবেন এবং দুর্বলতার ফলাফলগুলি অন্বেষণ করবেন।

ছবির বিবরণ পর্যালোচনা করুন

পূর্ববর্তী বিল্ড প্রক্রিয়া সম্পন্ন হলে আর্টিফ্যাক্ট রেজিস্ট্রি ড্যাশবোর্ডে চিত্র এবং দুর্বলতার ফলাফল পর্যালোচনা করুন।

  1. ক্লাউড কনসোলে আর্টিফ্যাক্ট রেজিস্ট্রি খুলুন
  2. বিষয়বস্তু দেখতে আর্টিফ্যাক্ট-স্ক্যানিং-রেপোতে ক্লিক করুন
  3. ছবির বিবরণে ক্লিক করুন
  4. আপনার ছবির সর্বশেষ ডাইজেস্টে ক্লিক করুন
  5. একবার স্ক্যান শেষ হলে ছবির জন্য দুর্বলতা ট্যাবে ক্লিক করুন

দুর্বলতা ট্যাব থেকে আপনি যে ছবিটি তৈরি করেছেন তার জন্য স্বয়ংক্রিয় স্ক্যানিংয়ের ফলাফল দেখতে পাবেন।

361be7b3bf293fca.png

স্বয়ংক্রিয় স্ক্যানিং ডিফল্টরূপে সক্রিয় করা হয়। আপনি কীভাবে স্বয়ংক্রিয় স্ক্যানিং বন্ধ/চালু করতে পারেন তা দেখতে আর্টিফ্যাক্ট রেজিস্ট্রি সেটিংস অন্বেষণ করুন।

6. অন ডিমান্ড স্ক্যানিং

এমন বিভিন্ন পরিস্থিতি রয়েছে যেখানে চিত্রটিকে একটি সংগ্রহস্থলে ঠেলে দেওয়ার আগে আপনাকে একটি স্ক্যান করতে হবে। উদাহরণ হিসেবে, সোর্স কন্ট্রোলে কোড পুশ করার আগে একজন কন্টেইনার ডেভেলপার একটি ইমেজ স্ক্যান করে সমস্যার সমাধান করতে পারে। নীচের উদাহরণে আপনি ফলাফলের উপর কাজ করার আগে স্থানীয়ভাবে ছবিটি তৈরি এবং বিশ্লেষণ করবেন।

একটি চিত্র তৈরি করুন

এই ধাপে আপনি আপনার স্থানীয় ক্যাশে ইমেজ তৈরি করতে স্থানীয় ডকার ব্যবহার করবেন।

docker build -t us-central1-docker.pkg.dev/${PROJECT_ID}/artifact-scanning-repo/sample-image .

ছবিটি স্ক্যান করুন

ছবিটি তৈরি হয়ে গেলে, ছবিটির একটি স্ক্যান করার অনুরোধ করুন। স্ক্যানের ফলাফল একটি মেটাডেটা সার্ভারে সংরক্ষণ করা হয়। মেটাডেটা সার্ভারে ফলাফলের অবস্থানের সাথে কাজটি সম্পন্ন হয়।

gcloud artifacts docker images scan \
    us-central1-docker.pkg.dev/${PROJECT_ID}/artifact-scanning-repo/sample-image \
    --format="value(response.scan)" > scan_id.txt

আউটপুট ফাইল পর্যালোচনা করুন

scan_id.txt ফাইলে সংরক্ষিত আগের ধাপের আউটপুট পর্যালোচনা করার জন্য কিছুক্ষণ সময় নিন। মেটাডেটা সার্ভারে স্ক্যান ফলাফলের প্রতিবেদনের অবস্থানটি লক্ষ্য করুন।

cat scan_id.txt

বিস্তারিত স্ক্যান ফলাফল পর্যালোচনা করুন

স্ক্যানের প্রকৃত ফলাফল দেখতে আউটপুট ফাইলে উল্লিখিত প্রতিবেদনের অবস্থানের list-vulnerabilities কমান্ডটি ব্যবহার করুন।

gcloud artifacts docker images list-vulnerabilities $(cat scan_id.txt) 

আউটপুটে চিত্রের সমস্ত দুর্বলতা সম্পর্কে উল্লেখযোগ্য পরিমাণে ডেটা রয়েছে।

ফ্ল্যাগ সমালোচনামূলক সমস্যা

মানুষ খুব কমই রিপোর্টে সংরক্ষিত ডেটা সরাসরি ব্যবহার করে। সাধারণত ফলাফল একটি স্বয়ংক্রিয় প্রক্রিয়া দ্বারা ব্যবহৃত হয়. প্রতিবেদনের বিশদ বিবরণ পড়তে নীচের কমান্ডগুলি ব্যবহার করুন এবং যদি কোনও গুরুতর দুর্বলতা পাওয়া যায় তবে লগ করুন৷

export SEVERITY=CRITICAL

gcloud artifacts docker images list-vulnerabilities $(cat scan_id.txt) --format="value(vulnerability.effectiveSeverity)" | if grep -Fxq ${SEVERITY}; then echo "Failed vulnerability check for ${SEVERITY} level"; else echo "No ${SEVERITY} Vulnerabilities found"; fi

এই কমান্ড থেকে আউটপুট হবে

Failed vulnerability check for CRITICAL level

7. ক্লাউড বিল্ডের মাধ্যমে CICD-এ স্ক্যান করা হচ্ছে

ক্লাউড বিল্ড পরিষেবা অ্যাকাউন্টের জন্য অ্যাক্সেস প্রদান করুন

ক্লাউড বিল্ডের অন-ডিমান্ড স্ক্যানিং এপিআই অ্যাক্সেস করার অধিকারের প্রয়োজন হবে। নিম্নলিখিত কমান্ড দিয়ে অ্যাক্সেস প্রদান করুন.

gcloud projects add-iam-policy-binding ${PROJECT_ID} \
        --member="serviceAccount:${PROJECT_NUMBER}@cloudbuild.gserviceaccount.com" \
        --role="roles/iam.serviceAccountUser"
        
gcloud projects add-iam-policy-binding ${PROJECT_ID} \
        --member="serviceAccount:${PROJECT_NUMBER}@cloudbuild.gserviceaccount.com" \
        --role="roles/ondemandscanning.admin"

ক্লাউড বিল্ড পাইপলাইন আপডেট করুন

নিম্নলিখিত কমান্ডটি আপনার ডিরেক্টরিতে একটি cloudbuild.yaml ফাইল তৈরি করবে যা স্বয়ংক্রিয় প্রক্রিয়ার জন্য ব্যবহার করা হবে। এই উদাহরণের জন্য ধাপগুলি কন্টেইনার নির্মাণ প্রক্রিয়ার মধ্যে সীমাবদ্ধ। তবে অনুশীলনে আপনি কন্টেইনার পদক্ষেপগুলি ছাড়াও অ্যাপ্লিকেশন নির্দিষ্ট নির্দেশাবলী এবং পরীক্ষাগুলি অন্তর্ভুক্ত করবেন।

নিম্নলিখিত কমান্ড দিয়ে ফাইল তৈরি করুন।

cat > ./cloudbuild.yaml << EOF
steps:

# build
- id: "build"
  name: 'gcr.io/cloud-builders/docker'
  args: ['build', '-t', 'us-central1-docker.pkg.dev/${PROJECT_ID}/artifact-scanning-repo/sample-image', '.']
  waitFor: ['-']

#Run a vulnerability scan at _SECURITY level
- id: scan
  name: 'gcr.io/cloud-builders/gcloud'
  entrypoint: 'bash'
  args:
  - '-c'
  - |
    (gcloud artifacts docker images scan \
    us-central1-docker.pkg.dev/${PROJECT_ID}/artifact-scanning-repo/sample-image \
    --location us \
    --format="value(response.scan)") > /workspace/scan_id.txt

#Analyze the result of the scan
- id: severity check
  name: 'gcr.io/cloud-builders/gcloud'
  entrypoint: 'bash'
  args:
  - '-c'
  - |
      gcloud artifacts docker images list-vulnerabilities \$(cat /workspace/scan_id.txt) \
      --format="value(vulnerability.effectiveSeverity)" | if grep -Fxq CRITICAL; \
      then echo "Failed vulnerability check for CRITICAL level" && exit 1; else echo "No CRITICAL vulnerability found, congrats !" && exit 0; fi

#Retag
- id: "retag"
  name: 'gcr.io/cloud-builders/docker'
  args: ['tag',  'us-central1-docker.pkg.dev/${PROJECT_ID}/artifact-scanning-repo/sample-image', 'us-central1-docker.pkg.dev/${PROJECT_ID}/artifact-scanning-repo/sample-image:good']


#pushing to artifact registry
- id: "push"
  name: 'gcr.io/cloud-builders/docker'
  args: ['push',  'us-central1-docker.pkg.dev/${PROJECT_ID}/artifact-scanning-repo/sample-image:good']

images:
  - us-central1-docker.pkg.dev/${PROJECT_ID}/artifact-scanning-repo/sample-image
EOF

CI পাইপলাইন চালান

যখন একটি গুরুতর তীব্রতা দুর্বলতা পাওয়া যায় তখন বিল্ড ব্রেকগুলি যাচাই করতে প্রক্রিয়াকরণের জন্য বিল্ড জমা দিন।

gcloud builds submit

বিল্ড ব্যর্থতার পর্যালোচনা করুন

আপনি এইমাত্র জমা দেওয়া বিল্ডটি ব্যর্থ হবে কারণ ছবিতে গুরুতর দুর্বলতা রয়েছে৷

ক্লাউড বিল্ড ইতিহাস পৃষ্ঠায় বিল্ড ব্যর্থতা পর্যালোচনা করুন

দুর্বলতা ঠিক করুন

একটি বেস ইমেজ ব্যবহার করতে ডকারফাইল আপডেট করুন যাতে গুরুতর দুর্বলতা নেই।

নিম্নলিখিত কমান্ড দিয়ে ডেবিয়ান 10 ইমেজ ব্যবহার করতে ডকারফাইলটি ওভাররাইট করুন

cat > ./Dockerfile << EOF
from python:3.8-slim  

# App
WORKDIR /app
COPY . ./

RUN pip3 install Flask==2.1.0
RUN pip3 install gunicorn==20.1.0

CMD exec gunicorn --bind :\$PORT --workers 1 --threads 8 main:app

EOF

ভাল ইমেজ সহ CI প্রক্রিয়া চালান

বিল্ডটি প্রসেসিংয়ের জন্য জমা দিন যে বিল্ডটি সফল হবে যখন কোনও গুরুতর তীব্রতা দুর্বলতা পাওয়া যায় না।

gcloud builds submit

বিল্ড সাফল্য পর্যালোচনা

আপনি এইমাত্র যে বিল্ডটি জমা দিয়েছেন তা সফল হবে কারণ আপডেট করা ছবিতে কোনও জটিল দুর্বলতা নেই।

ক্লাউড বিল্ড ইতিহাস পৃষ্ঠায় বিল্ড সাফল্য পর্যালোচনা করুন

স্ক্যান ফলাফল পর্যালোচনা করুন

আর্টিফ্যাক্ট রেজিস্ট্রি ভাল ইমেজ পর্যালোচনা

  1. ক্লাউড কনসোলে আর্টিফ্যাক্ট রেজিস্ট্রি খুলুন
  2. বিষয়বস্তু দেখতে আর্টিফ্যাক্ট-স্ক্যানিং-রেপোতে ক্লিক করুন
  3. ছবির বিবরণে ক্লিক করুন
  4. আপনার ছবির সর্বশেষ ডাইজেস্টে ক্লিক করুন
  5. ছবির জন্য দুর্বলতা ট্যাবে ক্লিক করুন

8. অভিনন্দন!

অভিনন্দন, আপনি কোডল্যাব শেষ করেছেন!

আমরা যা কভার করেছি:

  • ক্লাউড বিল্ড দিয়ে ছবি তৈরি করা
  • কন্টেইনারগুলির জন্য আর্টিফ্যাক্ট রেজিস্ট্রি
  • স্বয়ংক্রিয় দুর্বলতা স্ক্যানিং
  • অন ​​ডিমান্ড স্ক্যানিং
  • ক্লাউড বিল্ড দিয়ে CICD-এ স্ক্যান করা হচ্ছে

এরপর কি:

পরিষ্কার করুন

এই টিউটোরিয়ালে ব্যবহৃত সংস্থানগুলির জন্য আপনার Google ক্লাউড অ্যাকাউন্টে চার্জ এড়াতে, হয় সংস্থানগুলি রয়েছে এমন প্রকল্পটি মুছুন, অথবা প্রকল্পটি রাখুন এবং পৃথক সংস্থানগুলি মুছুন৷

প্রকল্প মুছে ফেলা হচ্ছে

বিলিং দূর করার সবচেয়ে সহজ উপায় হল আপনি টিউটোরিয়ালের জন্য তৈরি করা প্রকল্পটি মুছে ফেলা।

-

শেষ আপডেট: 3/21/23