הצגה וסינון של SBOM

במסמך הזה מוסבר איך לגשת לרשומות של רשימת חומרים (SBOM) של תוכנה ולמטא-נתונים קשורים של יחסי תלות, כדי להבין את הרכיבים של קובצי האימג' של הקונטיינרים שמאוחסנים ב-Artifact Registry.

לפני שמתחילים

  1. נכנסים לחשבון Google.

    אם עדיין אין חשבון, יוצרים חשבון חדש.

  2. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Container Analysis, Artifact Registry APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  5. התקינו את ה-CLI של Google Cloud.

  6. אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

  7. כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:

    gcloud init
  8. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  9. Verify that billing is enabled for your Google Cloud project.

  10. Enable the Container Analysis, Artifact Registry APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  11. התקינו את ה-CLI של Google Cloud.

  12. אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

  13. כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:

    gcloud init
  14. יש לכם SBOM שמאוחסנים ב-Cloud Storage. במאמר יצירת SBOM מפורטות ההוראות.

התפקידים הנדרשים

כדי לקבל את ההרשאות שדרושות להצגת נתוני SBOM ולסינון התוצאות, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט:

להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.

הצגת רשימות SBOM במסוף Google Cloud

כדי לראות את ה-SBOM ומטא-נתונים קשורים של תלות עבור תמונות קונטיינר שמאוחסנות ב-Artifact Registry:

  1. פותחים את הדף Repositories (מאגרי מידע) ב-Artifact Registry.

    פתיחת הדף Repositories

    בדף הזה מופיעה רשימה של המאגרים שלכם.

  2. ברשימת המאגרים, לוחצים על שם המאגר.

    הדף Repository details נפתח ומוצגת בו רשימה של התמונות שלכם.

  3. ברשימת התמונות, לוחצים על שם התמונה.

    בדף הזה מופיעה רשימה של תקצירי התמונות.

  4. ברשימת התקצירים של התמונות, לוחצים על שם התקציר.

    בדף מוצגת שורה של כרטיסיות, כשהכרטיסייה סקירה כללית פתוחה ומוצגים בה פרטים כמו פורמט, מיקום, מאגר, גודל וירטואלי ותגים.

  5. בשורה של הכרטיסיות, לוחצים על הכרטיסייה תלויות.

    הכרטיסייה 'תלות' נפתחת ומוצג בה המידע הבא:

    • הקטע SBOM
    • הקטע 'רישיונות'
    • רשימה של תלויות שאפשר לסנן

SBOM

בקטע הסיכום SBOM מוצגים הפרטים הבאים:

  • קובץ: שם קובץ ה-SBOM שאפשר ללחוץ עליו כדי לפתוח את המיקום שבו ה-SBOM נשמר ב-Cloud Storage.
  • סוג: סוג תקן ה-SBOM שבו נעשה שימוש, כמו Software Package Data Exchange‏ (SPDX) או Cyclone.
  • גרסה: הגרסה של תקן ה-SBOM שבה נעשה שימוש.
  • נוצר על ידי: המקור של נתוני ה-SBOM, בין אם נוצרו על ידי Artifact Analysis או הועלו באופן ידני.

רישיונות

בקטע הסיכום Licenses מוצג תרשים עמודות שנקרא Most common licenses. הנתון הזה מייצג את סוגי הרישיונות שמופיעים הכי הרבה פעמים בפרטי התלות. כשמחזיקים את הסמן מעל עמודה בתרשים, במסוף מוצג המספר המדויק של מופעים של סוג הרישיון הזה.

תלויות

ברשימת התלויות מוצג התוכן של תקציר התמונה, כולל:

  • שם חבילה
  • גרסת החבילה
  • סוג החבילה
  • סוג הרישיון

אפשר לסנן את רשימת התלויות לפי כל אחת מהקטגוריות האלה.

הצגת רשימות SBOM ב-Cloud Build

אם אתם משתמשים ב-Cloud Build, תוכלו לראות את המטא-נתונים של התמונות בחלונית הצדדית תובנות אבטחה במסוף Google Cloud .

בחלונית הצדדית Security insights מוצגת סקירה כללית של מידע על אבטחת בנייה של ארטיפקטים שמאוחסנים ב-Artifact Registry. מידע נוסף על חלונית הצד ועל האופן שבו אפשר להשתמש ב-Cloud Build כדי להגן על שרשרת האספקה של התוכנה זמין במאמר הצגת תובנות לגבי אבטחת ה-build.

הצגת SBOM באמצעות ה-CLI של gcloud

משתמשים בפקודה gcloud artifacts sbom list כדי לחפש SBOM שמאוחסנים ב-Cloud Storage. החיפוש הזה מתבצע בכל ה-SBOMs ב-Cloud Storage, כולל אלה שנוצרו על ידי Artifact Analysis ואלה שבחרתם להעלות ממקור אחר בפורמט נתמך.

אתם יכולים להשתמש במסננים עם פקודת gcloud כדי לצמצם את התוצאות ולהתמקד ב-SBOM הרלוונטי ביותר לבעיית אבטחה ספציפית או לבקשת תאימות.

לדוגמה, הפקודה הבאה מראה איך לקבל מידע על ה-SBOM של קובץ אימג' של Docker‏ my-image שמאוחסן ב-Artifact Registry:

gcloud artifacts sbom list \
    --resource="us-east1-docker.pkg.dev/my-project/my-repo/my-image:1.0"

כאשר:

  • --resource מציין את מזהה ה-URI של משאב התמונה שרוצים להציג את ההפניות לקובץ ה-SBOM שלו.

הפלט כולל את הפרטים הבאים:

  • מיקום ה-SBOM ב-Cloud Storage. כדי להציג את ה-SBOM ב-CLI של gcloud, מריצים את הפקודה gcloud storage cat עם המיקום ב-Cloud Storage.
  • האם ה-SBOM עדיין נמצא בקטגוריה של Cloud Storage או שהוא הוסר.
  • גיבוב של ה-SBOM שבו אפשר להשתמש כדי לוודא שהוא לא שונה.

מסננים

אפשר לסנן SBOM ספציפי באמצעות אחד מהדגלים האופציונליים הבאים:

דגל מטרה ערך קלט
--dependency רשימה של כל ההפניות לקובץ ה-SBOM שבהן משאב כולל את החבילה שצוינה. סוגי החבילות הנתמכים השם של חבילה מותקנת
--resource מציגים רשימה של הפניות לקובצי SBOM שקשורים לתמונה ספציפית. ה-URI של המשאב
--resource-prefix רשימת הפניות לקובצי SBOM שקשורות לקידומת של נתיב המשאב. נתיב למקור מידע, שישמש כקידומת לחיפוש

דוגמאות לסינון

סינון התוצאות לפי URI של משאב:

gcloud artifacts sbom list \
--resource="us-east1-docker.pkg.dev/project/repo/my-image@sha256:88b205d7995332e10e836514fbfd59ecaf8976fc15060cd66e85cdcebe7fb356"

סינון לפי קידומת משאב:

gcloud artifacts sbom list \
--resource-prefix="us-east1-docker.pkg.dev/project/repo"

מגבלות

המאמרים הבאים