במסמך הזה מוסבר איך ליצור ולאחסן רשימת חומרים (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, if any are not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). 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, if any are not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). 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=LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY/IMAGE_NAME
כאשר:
- LOCATION הוא המיקום של מאגר Artifact Registry.
- PROJECT_ID הוא מזהה הפרויקט שמכיל את מאגר Artifact Registry.
- REPOSITORY הוא שם המאגר ב-Artifact Registry שמכיל את התמונה.
- IMAGE_NAME הוא שם התמונה. התמונות יכולות להיות בפורמט תג או בפורמט תקציר. תמונות שסופקו בפורמט תג יעברו המרה לפורמט תקציר.
הכלי Artifact Analysis מאחסן את ה-SBOM שלכם ב-Cloud Storage. אם עדיין אין לכם קטגוריה של Cloud Storage באותו אזור שבו נמצאת התמונה, מערכת Cloud Storage תיצור קטגוריה בשם artifactanalysis-<var>REGION</var>-<var>PROJECT_NUMBER</var> ותשלח אליה את ה-SBOM. רשימות SBOM נוספות באותו אזור נשלחות לאותו מאגר.
אפשר לראות את ה-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 כדי שלא יחויב על סריקות נוספות לאיתור נקודות חולשה.