הגדרת אימות במעלה הזרם למאגרי מחברים של Artifact Registry מאפשרת לכם להתחבר למאגרי רישום פרטיים חיצוניים באמצעות פרטי הכניסה לחשבון שלכם. אתם יכולים לאחסן טוקן גישה אישי ב-Secret Manager ולצרף אותו למאגר המחברים כדי לאמת בקשות למקורות במעלה הזרם.
כדי להשלים את השלבים האלה, צריך מאגר מחברים ב-Artifact Registry וחשבון עם המקור החיצוני. מידע נוסף על מאגרי מחברים זמין במאמר סקירה כללית על מאגרי מחברים.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות להגדרת אימות למקורות במעלה הזרם עבור מאגרי מחברים, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט:
- אדמין ב-Artifact Registry (
roles/artifactregistry.admin) - אדמין ב-Secret Manager (
roles/secretmanager.admin)
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
מקורות upstream שהוגדרו על ידי המשתמש
כדי להגדיר אימות למקורות במעלה הזרם שהוגדרו על ידי המשתמש, מבצעים את השלבים הבאים.
שמירת טוקן הגישה בסוד
- יוצרים אסימון גישה במאגר הפרטי.
- יוצרים סוד ב-Secret Manager.
- שומרים את אסימון הגישה האישי כגרסת סוד.
מעניקים לחשבון השירות של Artifact Registry גישה לסוד
סוכן השירות של Artifact Registry פועל בשם Artifact Registry כשהוא יוצר אינטראקציה עם Cloud de Confiance שירותים. כדי לאפשר לסוכן השירות להשתמש בסודות שמאוחסנים ב-Secret Manager, צריך לתת לסוכן השירות הרשאה לצפייה בגרסת הסוד.
המזהה של סוכן השירות הוא:
service-PROJECT-NUMBER@gcp-sa-artifactregistry.s3ns-system.iam.gserviceaccount.com
PROJECT-NUMBER הוא מספר הפרויקט של ה Cloud de Confiance פרויקט שבו פועל Artifact Registry.
כדי להקצות לסוכן השירות של Artifact Registry את התפקיד Secret Manager Secret Accessor:
המסוף
-
נכנסים לדף Secret Manager במסוף Cloud de Confiance .
-
בדף Secret Manager, לוחצים על תיבת הסימון לצד שם הסוד.
-
אם החלונית לא פתוחה, לוחצים על Show Info Panel כדי לפתוח אותה.
-
בחלונית המידע, לוחצים על Add Principal.
-
באזור הטקסט New principals, מזינים את כתובות האימייל של חברי הקבוצה שרוצים להוסיף.
-
בתפריט הנפתח Select a role, בוחרים באפשרות Secret Manager ואז באפשרות Secret Manager Secret Accessor.
gcloud
$ gcloud secrets add-iam-policy-binding secret-id \
--member="member" \
--role="roles/secretmanager.secretAccessor"
כאשר member הוא חבר ב-IAM, כמו משתמש, קבוצה או חשבון שירות.
API
הערה: בניגוד לדוגמאות האחרות, הדוגמה הזו מחליפה את כל מדיניות ה-IAM.
$ curl "https://secretmanager.googleapis.com/v1/projects/project-id/secrets/secret-id:setIamPolicy" \
--request "POST" \
--header "authorization: Bearer $(gcloud auth print-access-token)" \
--header "content-type: application/json" \
--data "{\"policy\": {\"bindings\": [{\"members\": [\"member\"], \"role\": \"roles/secretmanager.secretAccessor\"}]}}"
מידע נוסף על מתן או ביטול גישה לסודות זמין במאמר בנושא ניהול הגישה לסודות.
הוספת פרטי כניסה של מקור נתונים למאגר המחבר
כדי לעדכן את מאגר המחברים עם פרטי הכניסה של מקור הנתונים:
המסוף
פותחים את הדף Repositories במסוף Cloud de Confiance .
ברשימת המאגרים, בוחרים את המאגר ולוחצים על עריכת המאגר.
בקטע Connector repository authentication mode, מעדכנים או מוסיפים את שם המשתמש של מקור הנתונים במעלה הזרם ואת הסוד שמכיל את אסימון הגישה.
CLI של gcloud
כדי לעדכן את מאגר המחברים עם פרטי הכניסה של מקור הנתונים במעלה הזרם, מריצים את הפקודה הבאה:
gcloud artifacts repositories update REPOSITORY \
--project=PROJECT_ID \
--location=LOCATION \
--remote-username=USERNAME \
--remote-password-secret-version=projects/SECRET_PROJECT_ID/secrets/SECRET_ID/versions/SECRET_VERSION
מחליפים את מה שכתוב בשדות הבאים:
-
REPOSITORY: השם של מאגר המחברים של Artifact Registry. -
PROJECT_ID: מזהה הפרויקט ב- Cloud de Confiance . -
LOCATION: המיקום האזורי או במספר אזורים של המאגר. אפשר להשמיט את הדגל הזה אם מגדירים ברירת מחדל. כדי לראות רשימה של מיקומים נתמכים, מריצים את הפקודהgcloud artifacts locations list. -
USERNAME: שם המשתמש שלכם במקור הנתונים. -
SECRET_PROJECT_ID: מזהה הפרויקט שבו יצרתם את הסוד. -
SECRET_ID: השם שנתתם לסוד. -
SECRET_VERSION: גרסת הסוד שבה שמרתם את אסימון הגישה.
פרטי הכניסה שלכם ישמשו בפעם הבאה שמאגר המחברים ישלח בקשה לארטיפקט ממקור הנתונים החיצוני.