במסמך הזה מוסבר איך לגשת לרשומות של רשימת חומרים (SBOM) של תוכנה ולמטא-נתונים קשורים של יחסי תלות, כדי להבין את הרכיבים של קובצי האימג' של הקונטיינרים שמאוחסנים ב-Artifact Registry.
לפני שמתחילים
-
נכנסים לחשבון 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 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 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 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 theserviceusage.services.enablepermission. Learn how to grant roles.-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:
gcloud init - יש לכם SBOM שמאוחסנים ב-Cloud Storage. במאמר יצירת SBOM מפורטות ההוראות.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות להצגת נתוני SBOM ולסינון התוצאות, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט:
- צפייה במקרים של Container Analysis (
roles/containeranalysis.occurrences.viewer) - צרכן שימוש בשירות (
roles/serviceusage.serviceUsageConsumer) - קורא של Artifact Registry (
roles/artifactregistry.reader) -
כדי לאמת את ה-SBOM:
Storage Object Viewer (
roles/storage.objectViewer) – קטגוריה של Cloud Storage
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
הצגת רשימות SBOM במסוף Google Cloud
כדי לראות את ה-SBOM ומטא-נתונים קשורים של תלות עבור תמונות קונטיינר שמאוחסנות ב-Artifact Registry:
פותחים את הדף Repositories (מאגרי מידע) ב-Artifact Registry.
בדף הזה מופיעה רשימה של המאגרים שלכם.
ברשימת המאגרים, לוחצים על שם המאגר.
הדף Repository details נפתח ומוצגת בו רשימה של התמונות שלכם.
ברשימת התמונות, לוחצים על שם התמונה.
בדף הזה מופיעה רשימה של תקצירי התמונות.
ברשימת התקצירים של התמונות, לוחצים על שם התקציר.
בדף מוצגת שורה של כרטיסיות, כשהכרטיסייה סקירה כללית פתוחה ומוצגים בה פרטים כמו פורמט, מיקום, מאגר, גודל וירטואלי ותגים.
בשורה של הכרטיסיות, לוחצים על הכרטיסייה תלויות.
הכרטיסייה 'תלות' נפתחת ומוצג בה המידע הבא:
- הקטע 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"
מגבלות
- מידע על רישיונות מסופק רק לחבילות של מערכת ההפעלה ולחבילות של שפות נתמכות.
המאמרים הבאים
- יצירת SBOM.
- כך משתמשים בהצהרות VEX כדי לספק מידע נוסף על אבטחה. במאמר יצירה ואחסון של SBOM מפורטים הפורמטים שנתמכים ב-Artifact Analysis.