במסמך הזה מוסבר איך ליצור ולאחסן רשימת חומרים (SBOM) של תוכנה, שמפרטת את יחסי התלות בקובצי האימג' של הקונטיינרים.
כשמאחסנים קובצי אימג' של קונטיינרים ב-Artifact Registry וסורקים אותם כדי לזהות פגיעויות באמצעות Artifact Analysis, אפשר ליצור SBOM באמצעות Google Cloud CLI.
מידע על השימוש בסריקת פגיעויות זמין במאמרים סריקה אוטומטית ותמחור.
Artifact Analysis מאחסן את ה-SBOM ב-Cloud Storage. מידע נוסף על עלויות ב-Cloud Storage זמין במאמר תמחור.
לפני שמתחילים
-
נכנסים לחשבון Google.
אם עדיין אין חשבון, יוצרים חשבון חדש.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Artifact Registry, Container Analysis, Container Scanning APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:
gcloud init -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Artifact Registry, Container Analysis, Container Scanning APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:
gcloud init - יוצרים מאגר Docker ב-Artifact Registry ומעבירים בדחיפה קובץ אימג' של קונטיינר למאגר. אם אתם לא מכירים את Artifact Registry, כדאי לעיין במדריך למתחילים ל-Docker.
התפקידים הנדרשים
כדי לקבל את ההרשאות שנדרשות לניהול קטגוריות של Cloud Storage ולהעלאת קובצי SBOM, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM אדמין לניהול אחסון (roles/storage.admin) בפרויקט.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
יצירת קובץ SBOM
כדי ליצור קובץ SBOM, משתמשים בפקודה הבאה:
gcloud artifacts sbom export --uri=URI
כאשר:
- URI הוא ה-URI של תמונת Artifact Registry שמתואר בקובץ ה-SBOM, בדומה ל-
us-east1-docker.pkg.dev/my-image-repo/my-image. התמונות יכולות להיות בפורמט תג או בפורמט תקציר. תמונות שסופקו בפורמט תג יומרו לפורמט תקציר.
שירות Artifact Analysis מאחסן את ה-SBOM שלכם ב-Cloud Storage.
אפשר לראות את ה-SBOM באמצעות מסוף Google Cloud או ה-CLI של gcloud. אם אתם רוצים לאתר את קטגוריית Cloud Storage שמכילה את ה-SBOM שלכם, אתם צריכים לחפש SBOM באמצעות gcloud CLI.
יצירת SBOM ללא סריקת נקודות חולשה
אם אתם רוצים ליצור SBOM אבל לא רוצים סריקה שוטפת של נקודות חולשה בפרויקט, אתם עדיין יכולים לייצא SBOM אם תפעילו את Container Scanning API לפני שתדחפו את האימג' ל-Artifact Registry. אחרי שמעבירים את קובץ האימג' ל-Artifact Registry ומייצאים את ה-SBOM, צריך להשבית את Container Scanning API כדי שלא תחויבו על סריקות נוספות של פגיעויות.