במאמר הזה מוסבר איך אפשר להשתמש ב-Gemini Cloud Assist כדי לקבל מידע על מצב הארטיפקטים, על מאגרי מידע ועל מטא-נתונים של ארטיפקטים, ואיך אפשר להשתמש במידע מניתוח ארטיפקטים כדי לקבל תשובות לשאלות לגבי נקודות חולשה בארטיפקטים ורשימות חומרים (SBOM) של תוכנות.
לפני שמתחילים
- מוודאים שהגדרתם את Gemini Cloud Assist בפרויקט ב- Google Cloud .
- נכנסים לחשבון Google Cloud . אנחנו ממליצים למשתמשים חדשים ב- Google Cloud ליצור חשבון כדי שיוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
-
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 and 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.-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
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 and 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.-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות בשביל לבקש מ-Gemini Cloud Assist מידע על הארטיפקטים שלכם, אתם צריכים לבקש מהאדמין לתת לכם את התפקידים הבאים ב-IAM:
- צפייה במקרים (
roles/containeranalysis.occurrences.viewer) בפרויקט או במאגר - Gemini Cloud Assist User (
roles/cloudaicompanion.user) בפרויקט
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
פתיחת Gemini Cloud Assist
אפשר לפתוח את הצ'אט של Gemini Cloud Assist מכל מקום במסוףGoogle Cloud .
- במסוף Google Cloud , בוחרים פרויקט שבו מאוחסנים קובצי אימג' של קונטיינרים ב-Artifact Registry.
- כדי לפתוח את החלונית Cloud Assist, לוחצים על סמל הנצנוץ Open or close Gemini AI chat.
- כדי להזין הנחיה, מקלידים את ההנחיה ולוחצים על שליחה שליחה.
שיקולים לגבי ההנחיות
בהמשך מפורטים שיקולים ספציפיים לניתוח ארטיפקטים שכדאי להכיר כשיוצרים הנחיות ל-Gemini Cloud Assist. לפרטים נוספים על כתיבת הנחיות כלליות, אפשר לעבור אל כתיבת הנחיות טובות יותר ל-Gemini Google Cloud.
- כל ההנחיות מוגדרות כברירת מחדל לפרויקט שנבחר, אבל אפשר להגדיר את ההנחיה כך שתסנן לפי מיקום, מאגר או תמונה.
- כל שאילתה שמבוססת על שם של קובץ אימג' של קונטיינר מתייחסת לשם של קובץ האימג' של קונטיינר כאל קידומת. כך אפשר לסנן בתוך פרויקט, מאגר או תמונה ספציפית (ב-SHA שונים), אבל אי אפשר לסנן לפי תג.
- כדי לקבל תוצאות ספציפיות יותר, צריך לכלול היקף. לדוגמה, כדי לקבל תוצאות של תמונה ספציפית, צריך לכלול את שם התמונה בהיקף. אפשר להוסיף פרטים של פרויקט, מאגר, תמונה או תמונה@תקציר לשם של תמונת הקונטיינר כדי לסנן לפי הפרטים האלה.
- אין צורך במגדירי אזור בהנחיות לניתוח ארטיפקטים, כי ניתוח ארטיפקטים מספק תוצאות משולבות מכל האזורים. אפשר לציין מסנן אזור כדי לסנן את התוצאות.
תציג את נקודות החולשה הידועות העיקריות שלי
אתם יכולים להנחות את Gemini Cloud Assist ליצור רשימה של נקודות החולשה הידועות העיקריות בפרויקט הנוכחי. נקודות החולשה ממוינות לפי הציון שלהן במערכת הנפוצה לדירוג נקודות חולשה (CVSS) בסדר יורד, ומקובצות לפי מזהה נקודת החולשה. מוצגות רק 10 הפגיעויות המובילות. התוצאות כוללות פגיעויות מכל התמונות שנסרקו ב-30 הימים האחרונים.
אפשר לסנן את התשובה לפי השם של קובץ האימג' של הקונטיינר.
כדי לראות רשימה של הפגיעויות הידועות העיקריות, מזינים את הפרומפט הבא בצ'אט של Gemini Cloud Assist:
List artifact vulnerabilities for `CONTAINER_IMAGE_NAME`.
מחליפים את CONTAINER_IMAGE_NAME בשם של קובץ האימג' של הקונטיינר שכולל את המאגר, לדוגמה us-central1-docker.pkg.dev/my-project/my-repository.
ככל ששם קובץ האימג' של הקונטיינר יהיה מפורט יותר, כך התשובה תהיה מדויקת יותר. לדוגמה –
LOCATION-docker.pkg.dev/PROJECT-ID/REPOSITORY/IMAGE
יספק פרטים על פגיעות בתמונה ספציפית.
בהנחיה הבאה מבקשים מ-Gemini Cloud Assist להציג את נקודות החולשה העיקריות שזוהו במאגר us-central1-docker.pkg.dev/my-project/my-repository:
List artifact vulnerabilities for
`us-central1-docker.pkg.dev/my-project/my-repository`.
התשובה כוללת רשימה של עד 10 פגיעויות, שממוינות לפי ציון ה-CVSS שלהן בסדר יורד עבור המאגר שצוין.
כדי לראות את כל נקודות החולשה, משתמשים בפקודה artifacts vulnerabilities list ב-CLI של gcloud. כדי להציג את נקודות החולשה, אפשר לכלול את שם התמונה הלא מוגדר או לספק אלגוריתם גיבוב מאובטח (SHA).
רשימת תמונות לפי נקודת חולשה
אתם יכולים להנחות את Gemini Cloud Assist להציג את כל התמונות שכוללות פגיעות ספציפית. התשובה ממוינת בסדר יורד לפי תאריך היצירה האחרון, וכוללת תמונות שנסרקו ב-30 הימים האחרונים. בהנחיה הזו מוצגות עד 10 תמונות, והיא כוללת רק תמונות שנסרקו על ידי Artifact Analysis.
אפשר לסנן את התשובה לפי:
- מזהה נקודת החולשה
- שם קובץ האימג' של הקונטיינר
כדי להציג רשימה של אימג'ים שכוללים נקודת חולשה ספציפית, כותבים את ההנחיה הבאה בצ'אט של Cloud Assist:
List docker container images that contain vulnerability
`VULNERABILITY_ID`.
מחליפים את VULNERABILITY_ID במזהה הפגיעות שרוצים לאתר, לדוגמה, CVE-2024-01234.
הפרומפט הבא מבקש מ-Gemini Cloud Assist לפרט תמונות שמכילות את נקודת החולשה CVE-2024-01234:
List artifact vulnerabilities for `CVE-2024-01234`.
התשובה כוללת רשימה של עד 10 קובצי אימג' שמכילים את נקודת החולשה שצוינה, ממוינים לפי ציון ה-CVSS שלהם בסדר יורד למאגר שצוין.
רשימת תמונות לפי חבילה
אתם יכולים להנחות את Gemini Cloud Assist להחזיר רשימה של תמונות שכוללות חבילה ספציפית. התמונות ממוינות בסדר יורד לפי תאריך היצירה שלהן, וכוללות תמונות שנסרקו ב-30 הימים האחרונים. בהנחיה הזו מוצגות עד 10 תמונות, והיא כוללת רק תמונות שנסרקו על ידי Artifact Analysis.
אפשר לסנן את התשובה לפי השם של קובץ האימג' של הקונטיינר.
כדי להציג רשימה של קובצי האימג' שכוללים חבילה ספציפית, מזינים את ההנחיה הבאה בצ'אט של Cloud Assist:
List docker container images that contain package
`PACKAGE_ID`.
מחליפים את PACKAGE_ID במזהה החבילה שרוצים לאתר.
לדוגמה, בהנחיה הבאה מבקשים מ-Gemini Cloud Assist ליצור רשימה של תמונות שמכילות את החבילה my-package-name:
List images that contain package `my-package-name`.
התשובה כוללת רשימה של עד 10 תמונות שבהן מופיעה החבילה שצוינה.
הצגת רשימה של אישורי המקור של גרסאות ה-build
אתם יכולים לתת הנחיה ל-Gemini Cloud Assist להחזיר את 10 הפרטים האחרונים של מקורות המידע של build עבור פרויקט והיקף ספציפיים. התוצאות ממוינות לפי תאריך היצירה בסדר יורד, כך שהפריטים שנוצרו לאחרונה מופיעים בראש הרשימה. מוצגים עד 10 גרסאות build. כדי שהמבנים יופיעו ברשימה, הם צריכים להיווצר ב-30 הימים האחרונים. ההנחיה הזו תומכת רק בבנייה עם מקור נתונים של SLSA 1.0.
אפשר לסנן את התשובה לפי שם קובץ אימג' של קונטיינר.
כדי לראות את רשימת המקורות של ה-build, כותבים את הפרומפט הבא בצ'אט של Cloud Assist:
List build provenance for CONTAINER_IMAGE_NAME.
מחליפים את CONTAINER_IMAGE_NAME במזהה של התמונה שרוצים לברר את המקור שלה.
לדוגמה, הפרומפט הבא מבקש מ-Gemini Cloud Assist ליצור רשימה של מקורות הבנייה של us-central1-docker.pkg.dev/my-project/my-image:
List build provenance for `us-central1-docker.pkg.dev/my-project/my-image`.
כדי לקבל מגוון רחב יותר של תוצאות, אפשר להסיר את המיקום, הפרויקט או פרטי התמונה משם קובץ האימג' בקונטיינר. התשובה כוללת פרטים על מקורות ה-build של 10 ה-builds האחרונים.
כדי לראות את ה-builds במסוף Google Cloud , נכנסים לדף Build History.
הצגת רשימת ה-SBOM
אתם יכולים לתת הנחיה ל-Gemini Cloud Assist להחזיר את ה-SBOM העדכני ביותר במאגר שלכם. התוצאות ממוינות לפי תאריך היצירה בסדר יורד, כך שהפריטים שנוצרו לאחרונה מופיעים בראש הרשימה. אפשר להציג עד 10 מבנים שנוצרו ב-30 הימים האחרונים.
אפשר לסנן את התשובה לפי השם של קובץ האימג' של הקונטיינר, כולל פרטי image@digest.
כדי להציג רשימה של ה-SBOM, בצ'אט של Cloud Assist, מזינים את הפרומפט הבא:
List SBOMs for `CONTAINER_IMAGE_NAME`.
מחליפים את CONTAINER_IMAGE_NAME בשם של קובץ האימג' בקונטיינר שרוצים לחפש. לדוגמה, us-central1-docker.pkg.dev/my-project/my-repo.
הפרומפט הבא מבקש מ-Gemini Cloud Assist ליצור רשימה של ה-SBOMs למאגר us-central1-docker.pkg.dev/my-project/my-repo:
List SBOMs for `us-central1-docker.pkg.dev/my-project/my-repo`.
התשובה כוללת פרטים על ה-SBOM של 10 המאגרים האחרונים. כדי לקבל מגוון רחב יותר של תוצאות, אפשר להסיר את המיקום, הפרויקט או פרטי התמונה משם קובץ האימג' בקונטיינר.
אפשר לראות את כל ה-SBOM באמצעות הפקודה artifacts SBOM list ב-CLI של gcloud.
פרומפטים נוספים
ההנחיות הבאות מדגימות את היכולות של Gemini Cloud Assist לסינון באמצעות משתנים.
כדי לראות רשימה של פגיעויות לפי משתנה ספציפי, מזינים את הטקסט הבא בצ'אט של Cloud Assist:
List vulnerabilities for `SCOPE`.
בפרומפט הזה, SCOPE יכול להיות מוגדר כפרויקט, מאגר, תמונה או תמונה וערך גיבוב.
כדי להציג רשימה של אימג'ים שמכילים חבילה ספציפית, מזינים את הטקסט הבא בצ'אט של Cloud Assist:
List images that contain the log4j package.
כדי לראות רשימה של תמונות שמכילות פגיעות ספציפית, מזינים את הטקסט הבא בצ'אט של Cloud Assist:
List images that contain `VULNERABILITY_ID`.
בהנחיה הזו, מחליפים את VULNERABILITY_ID במספר CVE.