מאגרים רגילים הם מאגרים של ארטיפקטים פרטיים. אתם מעלים ארטיפקטים למאגרי הארטיפקטים האלה ומורידים מהם ארטיפקטים ישירות.
בדף הזה נסביר איך ליצור מאגרי מידע רגילים ב-Artifact Registry.
לפני שמתחילים
- מפעילים את Artifact Registry, כולל הפעלת Artifact Registry API והתקנת Google Cloud CLI.
- (אופציונלי) הגדרת ברירות מחדל לפקודות gcloud.
- אם אתם רוצים להשתמש במפתחות הצפנה בניהול הלקוח (CMEK) כדי להצפין את התוכן במאגר, אתם צריכים ליצור ולהפעיל מפתח ב-Cloud KMS עבור המאגר.
התפקידים הנדרשים
כדי לקבל את ההרשאות שנדרשות ליצירת מאגרי מידע, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM Artifact Registry Administrator (אדמין של Artifact Registry) (roles/artifactregistry.admin) בפרויקט Cloud de Confiance by S3NS .
להסבר על מתן תפקידים, קראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
יצירת מאגר רגיל
כשיוצרים מאגר, צריך להגדיר את ההגדרות הבאות שלא ניתן לשנות אחרי יצירת המאגר:
- פורמט של פריט מידע שנוצר בתהליך פיתוח (Artifact).
- מצב מאגר.
- המיקום של המאגר.
- הצפנה באמצעות Google Cloud-powered encryption keys אומפתחות הצפנה בניהול הלקוח. כברירת מחדל, Artifact Registry משתמש ב-Google Cloud-powered encryption keys .
ב-Artifact Registry נאכפים אילוצים על מדיניות הארגון שמחייבים שימוש ב-CMEK להצפנת משאבים או שמגבילים את המפתחות של Cloud KMS שאפשר להשתמש בהם להגנה באמצעות CMEK.
יצירת מאגר באמצעות מסוף Cloud de Confiance
פותחים את הדף Repositories במסוף Cloud de Confiance .
לוחצים על Create Repository (יצירת מאגר).
מציינים את שם המאגר. לכל מיקום מאגר בפרויקט, שמות המאגרים צריכים להיות ייחודיים.
בוחרים את פורמט המאגר.
אם יש כמה מצבי מאגר, בוחרים באפשרות רגיל.
בוחרים את המיקום של המאגר. מידע על סוגי מיקומים ומיקומים נתמכים זמין במאמר מיקומי מאגרים
מוסיפים תיאור למאגר. התיאורים עוזרים לזהות את המטרה של המאגר ואת סוג הארטיפקטים שהוא מכיל.
חשוב לא לכלול מידע אישי רגיש, כי תיאורי המאגרים לא מוצפנים.
אם רוצים להשתמש בתוויות כדי לארגן את המאגרים, לוחצים על הוספת תווית ומזינים את צמד המפתח/ערך של התווית. אפשר להוסיף, לערוך או להסיר תוויות אחרי שיוצרים את המאגר.
בקטע Encryption, בוחרים את מנגנון ההצפנה למאגר.
- Google Cloud-powered encryption key – הצפנת תוכן המאגר באמצעותGoogle Cloud-powered encryption key.
מפתח בניהול הלקוח – הצפנת תוכן המאגר באמצעות מפתח שאתם שולטים בו דרך Cloud Key Management Service. הוראות להגדרת מפתחות מופיעות במאמר הגדרת CMEK למאגרי מידע.
במאגרי Docker, ההגדרה Immutable image tags (תגי תמונה שלא ניתן לשנות) קובעת שהמאגר ישתמש בתגי תמונה שתמיד מצביעים על אותו גיבוב תמונה. משתמש עם תפקיד אדמין ב-Artifact Registry יכול לשנות את ההגדרה הזו אחרי יצירת המאגר.
- ההגדרה הזו מושבתת כברירת מחדל. תגי תמונות ניתנים לשינוי, כלומר, יכול להיות שהתקציר של התמונה שאליה התג מצביע ישתנה.
- אם ההגדרה הזו מופעלת, תגי התמונות הם בלתי ניתנים לשינוי. תג תמיד צריך להצביע על אותו גיבוב של תמונה. מידע נוסף על תגי קובצי אימג' שניתנים לשינוי ושאי אפשר לשנות אותם זמין במאמר בנושא גרסאות של קובצי אימג' של קונטיינרים.
לוחצים על יצירה.
Artifact Registry יוצר את המאגר ומוסיף אותו לרשימת המאגרים.
אחרי שיוצרים את המאגר:
- מעניקים גישה למאגר.
הגדרת אימות למאגרים ב-Docker ובאפליקציות אחרות של צד שלישי.
יצירת מאגר באמצעות Google Cloud CLI
מריצים את הפקודה כדי ליצור מאגר חדש.
דירה
gcloud artifacts repositories create REPOSITORY \ --repository-format=apt \ --location=LOCATION \ --description="DESCRIPTION" \ --kms-key=KMS-KEY \ --async
מחליפים את מה שכתוב בשדות הבאים:
-
REPOSITORY: שם המאגר. לכל מיקום של מאגר בפרויקט, השמות של המאגרים צריכים להיות ייחודיים. -
LOCATION: המיקום האזורי של המאגר. אפשר להשמיט את הדגל הזה אם מגדירים ברירת מחדל. כדי לראות רשימה של מיקומים נתמכים, מריצים את הפקודה:gcloud artifacts locations list
-
DESCRIPTION: תיאור המאגר. אל תכללו מידע אישי רגיש, כי תיאורי מאגרים לא מוצפנים. -
KMS-KEY: הנתיב המלא למפתח ההצפנה של Cloud KMS, אם משתמשים במפתח הצפנה בניהול הלקוח כדי להצפין את התוכן של המאגר. הנתיב הוא בפורמט:projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEYמחליפים את מה שכתוב בשדות הבאים:
-
KMS-PROJECT: הפרויקט שבו המפתח מאוחסן. -
KMS-LOCATION: המיקום של המפתח. -
KEY-RING: השם של אוסף המפתחות. -
KEY: השם של המפתח.
-
-
--async: חזרה מיידית, בלי המתנה שהפעולה תסתיים.
Docker
gcloud artifacts repositories create REPOSITORY \
--repository-format=docker \
--location=LOCATION \
--description="DESCRIPTION" \
--kms-key=KMS-KEY \
--immutable-tags \
--async \
--disable-vulnerability-scanning
מחליפים את מה שכתוב בשדות הבאים:
REPOSITORY: שם המאגר. לכל מיקום של מאגר בפרויקט, שמות המאגרים צריכים להיות ייחודיים.
LOCATION: המיקום האזורי של המאגר. אפשר להשמיט את הדגל הזה אם מגדירים מיקום ברירת מחדל. כדי לראות רשימה של מיקומים נתמכים, מריצים את הפקודה:gcloud artifacts locations list
-
DESCRIPTION: תיאור המאגר. אל תכללו מידע אישי רגיש, כי תיאורי המאגרים לא מוצפנים.
KMS-KEY: הנתיב המלא למפתח ההצפנה של Cloud KMS, אם אתם משתמשים במפתח הצפנה בניהול הלקוח כדי להצפין את התוכן של המאגר. הנתיב הוא בפורמט:projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEY
מחליפים את מה שכתוב בשדות הבאים:
-
KMS-PROJECT: הפרויקט שבו המפתח מאוחסן. -
KMS-LOCATION: המיקום של המפתח. -
KEY-RING: השם של אוסף המפתחות. -
KEY: השם של המפתח.
-
--immutable-tagsהוא דגל אופציונלי שמגדיר את המאגר כך שישתמש בתגים שתמיד מצביעים על אותו גיבוב של תמונה.כברירת מחדל, אם לא מעבירים את הדגל
--immutable-tags, אפשר להעביר תג ל-digest של תמונה אחרת. מידע נוסף על תגי קובץ אימג' שאי אפשר לשנות ותגי קובץ אימג' שאפשר לשנות זמין במאמר גרסאות של קובץ אימג' של קונטיינר.
--asyncחוזרת באופן מיידי, בלי להמתין שהפעולה תסתיים.
טעים
gcloud artifacts repositories create REPOSITORY \ --repository-format=yum \ --location=LOCATION \ --description="DESCRIPTION" \ --kms-key=KMS-KEY \ --async
מחליפים את מה שכתוב בשדות הבאים:
-
REPOSITORY: שם המאגר. לכל מיקום של מאגר בפרויקט, שמות המאגרים צריכים להיות ייחודיים. -
LOCATION: המיקום האזורי של המאגר. אפשר להשמיט את הדגל הזה אם מגדירים ברירת מחדל. כדי לראות רשימה של מיקומים נתמכים, מריצים את הפקודה:gcloud artifacts locations list
-
DESCRIPTION: תיאור המאגר. אל תכללו מידע אישי רגיש, כי תיאורי מאגרים לא מוצפנים. -
KMS-KEY: הנתיב המלא למפתח ההצפנה של Cloud KMS, אם משתמשים במפתח הצפנה בניהול הלקוח כדי להצפין את התוכן של המאגר. הנתיב הוא בפורמט:projects/KMS-PROJECT/locations/KMS-LOCATION/keyRings/KEY-RING/cryptoKeys/KEYמחליפים את מה שכתוב בשדות הבאים:
-
KMS-PROJECT: הפרויקט שבו המפתח מאוחסן. -
KMS-LOCATION: המיקום של המפתח. -
KEY-RING: השם של אוסף המפתחות. -
KEY: השם של המפתח.
-
-
--async: חזרה מיידית, בלי המתנה שהפעולה תסתיים.
Artifact Registry יוצר את המאגר. מריצים את הפקודה הבאה כדי לראות תיאור של המאגר:
gcloud artifacts repositories describe REPOSITORY \
--location=LOCATION
אחרי שיוצרים את המאגר:
- מעניקים גישה למאגר.
הגדרת אימות למאגרים ב-Docker ובאפליקציות אחרות של צד שלישי.
יצירת מאגר באמצעות Terraform
משתמשים במשאב google_artifact_registry_repository כדי ליצור מאגרי תמונות.
נדרשת גרסה terraform-provider-google
5.0.0 ומעלה.
אם אתם חדשים בשימוש ב-Terraform עבור Cloud de Confiance by S3NS, תוכלו לעיין בדף תחילת העבודה – Cloud de Confiance by S3NS באתר HashiCorp.
בדוגמה הבאה מוגדרים הספק ומאגר עם שם משאב Terraform my-repo.
דירה
provider "google" { project = "PROJECT-ID" }
resource "google_artifact_registry_repository" "my-repo" { location = "LOCATION" repository_id = "REPOSITORY" description = "DESCRIPTION" format = "apt" kms_key_name = "KEY" }
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT-IDהוא מזהה הפרויקט. Cloud de Confiance -
LOCATIONהוא המיקום של המאגר. -
REPOSITORYהוא שם המאגר. -
DESCRIPTIONהוא התיאור האופציונלי של המאגר. חשוב לא לכלול מידע אישי רגיש, כי תיאורי המאגר לא מוצפנים. -
KEYהוא השם של המפתח בשירות Cloud Key Management, אם אתם משתמשים במפתחות הצפנה בניהול הלקוח (CMEK) להצפנה. אם לא מציינים את הארגומנט הזה, נעשה שימוש בהגדרת ברירת המחדל, Google Cloud-powered encryption keys
Docker
provider "google" { project = "PROJECT-ID" }
resource "google_artifact_registry_repository" "my-repo" { location = "LOCATION" repository_id = "REPOSITORY" description = "DESCRIPTION" format = "docker" kms_key_name = "KEY" }
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT-IDהוא מזהה הפרויקט. Cloud de Confiance -
LOCATIONהוא המיקום של המאגר. -
REPOSITORYהוא שם המאגר. -
DESCRIPTIONהוא התיאור האופציונלי של המאגר. חשוב לא לכלול מידע אישי רגיש, כי תיאורי המאגר לא מוצפנים. -
KEYהוא השם של המפתח בשירות Cloud Key Management, אם אתם משתמשים במפתחות הצפנה בניהול הלקוח (CMEK) להצפנה. אם לא מציינים את הארגומנט הזה, נעשה שימוש בהגדרת ברירת המחדל, Google Cloud-powered encryption keys
טעים
provider "google" { project = "PROJECT-ID" }
resource "google_artifact_registry_repository" "my-repo" { location = "LOCATION" repository_id = "REPOSITORY" description = "DESCRIPTION" format = "yum" kms_key_name = "KEY" }
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT-IDהוא מזהה הפרויקט. Cloud de Confiance -
LOCATIONהוא המיקום של המאגר. -
REPOSITORYהוא שם המאגר. -
DESCRIPTIONהוא התיאור האופציונלי של המאגר. חשוב לא לכלול מידע אישי רגיש, כי תיאורי המאגר לא מוצפנים. -
KEYהוא השם של המפתח בשירות Cloud Key Management, אם אתם משתמשים במפתחות הצפנה בניהול הלקוח (CMEK) להצפנה. אם לא מציינים את הארגומנט הזה, נעשה שימוש בהגדרת ברירת המחדל, Google Cloud-powered encryption keys
Artifact Registry יוצר את המאגר. מריצים את הפקודה הבאה כדי לראות תיאור של המאגר:
gcloud artifacts repositories describe REPOSITORY \
--location=LOCATION
אחרי שיוצרים את המאגר:
- מעניקים גישה למאגר.
הגדרת אימות למאגרים ב-Docker ובאפליקציות אחרות של צד שלישי.
עריכת תיאורים של מאגרים
אפשר לשנות את תיאור המאגר דרך מסוף Cloud de Confiance או דרך ה-CLI של gcloud.
המסוף
פותחים את הדף Repositories במסוף Cloud de Confiance .
ברשימת המאגרים, בוחרים את המאגר ולוחצים על Edit Repository.
עורכים את תיאור המאגר ולוחצים על שמירה.
gcloud
כדי לעדכן את תיאור המאגר, מריצים את הפקודה:
gcloud artifacts repositories update REPOSITORY \
--project=PROJECT \
--location=LOCATION \
--description="DESCRIPTION"
מחליפים את מה שכתוב בשדות הבאים:
-
REPOSITORY: שם המאגר. אם הגדרתם מאגר ברירת מחדל, אתם יכולים להשמיט את הדגל הזה כדי להשתמש בברירת המחדל. -
PROJECT: מזהה הפרויקט ב- Cloud de Confiance by S3NS. אם לא מציינים את הדגל הזה, המערכת משתמשת בפרויקט הנוכחי או בפרויקט ברירת המחדל. -
LOCATIONהוא המיקום האזורי של המאגר. אפשר להשתמש בדגל הזה כדי להציג מאגרי מידע במיקום ספציפי. אם הגדרתם מיקום ברירת מחדל, אתם יכולים להשמיט את הדגל הזה כדי להשתמש בברירת המחדל. -
DESCRIPTION: תיאור המאגר.