במאמר הזה מוסבר איך לבצע אימות למקורות במעלה הזרם עבור מאגרי מידע מרוחקים ב-Artifact Registry.
במאמר הזה אנחנו מניחים שכבר יצרתם מאגר מרוחק ב-Artifact Registry, ושיש לכם חשבון במקור החיצוני.
למידע נוסף על מאגרים מרוחקים, עיין בסקירה כללית של מאגרים מרוחקים.
התפקידים הנדרשים
כדי לקבל את ההרשאות הדרושות לך כדי להגדיר אימות למקורות במעלה הזרם עבור מאגרים מרוחקים, בקש ממנהל המערכת שלך להעניק לך את תפקידי ה-IAM הבאים בפרויקט:
- אדמין ב-Artifact Registry (
roles/artifactregistry.admin) - אדמין ב-Secret Manager (
roles/secretmanager.admin)
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
מקורות upstream מוגדרים מראש
כדי להגדיר אימות למקורות קבועים של נתונים ממערכות במעלה הזרם, צריך לעיין בהנחיות המתאימות לכל מקור במעלה הזרם שמופיעות בהמשך:
מקורות upstream שהוגדרו על ידי המשתמש
כדי להגדיר אימות למקורות במעלה הזרם שהוגדרו על ידי המשתמש, מבצעים את השלבים הבאים.
שמירת טוקן הגישה בסוד
- יוצרים אסימון גישה במאגר הפרטי.
- יוצרים סוד ב-Secret Manager.
- שומרים את אסימון הגישה האישי כגרסת סוד.
מעניקים לחשבון השירות של Artifact Registry גישה לסוד
סוכן השירות של Artifact Registry פועל בשם Artifact Registry כשהוא יוצר אינטראקציה עם Google Cloud שירותים. כדי לאפשר לסוכן השירות להשתמש בסודות שמאוחסנים ב-Secret Manager, צריך לתת לסוכן השירות הרשאה לצפייה בגרסת הסוד.
המזהה של סוכן השירות הוא:
service-PROJECT-NUMBER@gcp-sa-artifactregistry.
PROJECT-NUMBER הוא מספר הפרויקט של ה Google Cloud פרויקט שבו פועל Artifact Registry.
כדי להעניק לסוכן השירות של Artifact Registry את התפקיד Secret Manager Secret Accessor:
המסוף
-
נכנסים לדף Secret Manager במסוף Google Cloud .
-
בדף 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, כמו משתמש, קבוצה או חשבון שירות.
C#
כדי לבצע אימות ב-Artifact Registry, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Go
כדי לבצע אימות ב-Artifact Registry, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Java
כדי לבצע אימות ב-Artifact Registry, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Node.js
כדי לבצע אימות ב-Artifact Registry, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
PHP
כדי לבצע אימות ב-Artifact Registry, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
כדי לבצע אימות ב-Artifact Registry, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Ruby
כדי לבצע אימות ב-Artifact Registry, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
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\"}]}}"
מידע נוסף על מתן או ביטול גישה לסודות זמין במאמר בנושא ניהול הגישה לסודות.
הוספת פרטי כניסה של מאגר ראשי למאגר מרוחק
כדי לעדכן את המאגר המרוחק עם פרטי הכניסה של מקור ה-upstream:
המסוף
פותחים את הדף Repositories במסוף Google Cloud .
ברשימת המאגרים, בוחרים את המאגר ולוחצים על Edit Repository.
בקטע מצב אימות של מאגר מרוחק, מעדכנים או מוסיפים את שם המשתמש של מקור הנתונים במעלה הזרם ואת הסוד שמכיל את אסימון הגישה.
CLI של gcloud
כדי לעדכן את המאגר המרוחק עם פרטי הכניסה של מקור ה-upstream, מריצים את הפקודה הבאה:
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: מזהה הפרויקט ב- Google Cloud . -
LOCATION: המיקום האזורי או הרב-אזורי של המאגר. אפשר להשמיט את הדגל הזה אם מגדירים ברירת מחדל. כדי לראות רשימה של מיקומים נתמכים, מריצים את הפקודהgcloud artifacts locations list. USERNAME: שם המשתמש שלך במקור במעלה הזרם.-
SECRET_PROJECT_ID: מזהה הפרויקט שבו יצרתם את הסוד. -
SECRET_ID: השם שנתתם לסוד. SECRET_VERSION: הגרסה הסודית שבה שמרת את אסימון הגישה שלך.
הפרטים שלכם ישמשו בפעם הבאה שהמאגר המרוחק ישלח בקשה לארטיפקט מהמקור במעלה הזרם.
המאמרים הבאים
- יצירת מדיניות ניקוי לניקוי פריטים מיותרים.