בדף הזה מוסבר איך לאחסן מטא-נתונים שקשורים לארטיפקט שמאוחסן ב-Artifact Registry כקובץ מצורף.
המטא-נתונים שמאוחסנים בקבצים המצורפים יכולים לכלול מידע על נקודות חולשה בארטיפקטים, על אישור המקור של Build, על תוכן החבילה, על אישורים, על הערכת נקודות חולשה, על רשימת חומרים (SBOM) ועוד. מערכות מדיניות יכולות להשתמש במידע שמאוחסן בקבצים המצורפים של Artifact Registry, ומשתמשים יכולים לבדוק את המידע כדי לוודא שהוא עומד בדרישות.
מידע נוסף על עבודה עם קבצים מצורפים זמין במאמר ניהול מטא-נתונים באמצעות קבצים מצורפים.
לפני שמתחילים
- אם עדיין אין לכם מאגר, צרו מאגר במצב רגיל.
- (אופציונלי) הגדרת ערכי ברירת מחדל לפקודות של Google Cloud CLI.
התפקידים הנדרשים
כדי לקבל את ההרשאות שנדרשות ליצירת קבצים מצורפים, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM Artifact Registry Writer (roles/artifactregistry.writer) במאגר.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
יצירת קובץ מצורף
במאגרי Docker, הקבצים המצורפים צריכים להיות פריטי OCI. בכל הפורמטים מלבד Docker, הקבצים המצורפים יכולים להיות מכל סוג.
כדי ליצור קובץ מצורף:
gcloud (כל הפורמטים)
לפני השימוש בנתוני הפקודה הבאים, צריך להחליף את הנתונים הבאים:
-
ATTACHMENT: השם המוגדר במלואו של הקובץ המצורף, למשלprojects/my-project/locations/us-west1/repositories/my-repo/attachments/my-attachment. אפשרות אחרת היא לציין רק את מזהה הקובץ המצורף ולהשתמש בדגלים--locationו---repository. -
TARGET: שם הגרסה המלא. רק לגבי קובצי אימג' של Docker, אפשר גם להשתמש ב-URI של Artifact Registry של הארטיפקט שאליו מתייחס הקובץ המצורף. ב-URI, אפשר להשתמש בערך הגיבוב או בתג של קובץ האימג' של Docker. לדוגמה:us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1. -
TYPE: מאפייןtypeהקובץ המצורף. בתמונות Docker, הערך שלtypeצריך לעמוד בדרישות של OCI לגבי המאפייןartifactType. -
ATTACHMENT_NAMESPACE: משתנה ספציפי לקבצים מצורפים שמזהה את מקור הנתונים של הקובץ המצורף, כמוexample.com. -
FILES: רשימה מופרדת בפסיקים של קבצים מקומיים שרוצים לכלול בקובץ המצורף.
מריצים את הפקודה הבאה:
Linux, macOS או Cloud Shell
gcloud artifacts attachments create ATTACHMENT \ --target=TARGET \ --attachment-type=TYPE \ --attachment-namespace=ATTACHMENT_NAMESPACE \ --files=FILES
Windows (PowerShell)
gcloud artifacts attachments create ATTACHMENT ` --target=TARGET ` --attachment-type=TYPE ` --attachment-namespace=ATTACHMENT_NAMESPACE ` --files=FILES
Windows (cmd.exe)
gcloud artifacts attachments create ATTACHMENT ^ --target=TARGET ^ --attachment-type=TYPE ^ --attachment-namespace=ATTACHMENT_NAMESPACE ^ --files=FILES
gcloud artifacts attachments create.
Oras (Docker בלבד)
כשיוצרים קובץ מצורף באמצעות Oras, Artifact Registry יוצר מזהה ייחודי אוניברסלי (UUID) אקראי לשימוש כשם הקובץ המצורף.
לפני שמשתמשים ב-Oras, צריך לבצע את השלבים הבאים:
מתקינים את Oras 1.2 ואילך. כדי לוודא את הגרסה, מריצים את הפקודה
oras version.מגדירים את Oras לאימות באמצעות Artifact Registry.
לפני שמריצים את הפקודה, מחליפים את המשתנים הבאים בערכים:
ARTIFACT_TYPE:artifactTypeהקובץ המצורף.
IMAGE_URI: ה-URI של קונטיינר התמונה שאליו מתייחס הקובץ המצורף.
FILE: קובץ מקומי שרוצים לכלול כמטא-נתונים בקובץ המצורף.
MEDIA_TYPE: ה-mediaTypeשל השכבה.
oras attach --artifact-type ARTIFACT_TYPE IMAGE_URI FILE:MEDIA_TYPE
בדוגמה הבאה נוצר קובץ מצורף שמורכב מקובץ, hello-world.txt, שמפנה לקובץ אימג' של קונטיינר, my-image, שמזוהה על ידי ה-URI והתג שלה:
oras attach --artifact-type doc/example \
us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1 \
hello-world.txt:application/vnd.me.hi
כאשר:
התג
doc/exampleמגדיר את המאפייןartifactTypeשל הקובץ המצורף.
us-west1-docker.pkg.dev/my-project/my-repo/my-image:tag1הוא ה-URI שכולל את התג של גרסת תמונת הקונטיינר שהקובץ המצורף יפנה אליה.
hello-world.txtהוא הקובץ המקומי שהנתונים שלו יישמרו בקובץ המצורף.
application/vnd.me.hiמגדיר אתmediaTypeשל השכבה.
מדריך מלא ודוגמאות נוספות זמינים במאמרי העזרה בנושא oras attach.
ניהול קבצים מצורפים באמצעות מדיניות ניקוי
קבצים מצורפים למאגר Docker, כולל אישור המקור של Build, נמחקים כשפריטים שהם מצורפים אליהם נמחקים. אם אתם משתמשים במדיניות ניקוי כדי למחוק תמונות מהמאגר, אז כברירת מחדל, גם הקבצים המצורפים לתמונות האלה יימחקו.
כדי לוודא שמדיניות הניקוי לא תמחק בטעות קבצים מצורפים שרוצים לשמור, אפשר להקצות תג לתמונה שמצורפים אליה קבצים שרוצים לשמור. לאחר מכן, תוכלו להגדיר מדיניות ניקוי כדי לשמור תמונות עם התגים האלה. לדוגמה, אפשר להקצות תג production-signed לתמונות עם אישור המקור של Build מצורף.
מה השלב הבא
- ניהול מטא-נתונים של פריט מידע שנוצר בתהליך פיתוח (Artifact)
- איך יוצרים ומאחסנים SBOMs לתמונות קונטיינר