אפשר להעביר קובצי אימג' ל-Harbor כדי לשפר את האבטחה באמצעות בקרת גישה מבוססת-תפקידים, בדיקת נקודות חולשה אוטומטית וניהול פשוט של קובצי אימג' לאפליקציות בקונטיינרים. כדי להעביר תמונה מקומית למכונה של Harbor, מתייגים אותה בשם המאגר ואז מעבירים את התמונה.
לפני שמתחילים
כדי להעביר קובץ אימג', צריך להגדיר את הסביבה עם המשאבים וההרשאות הנדרשים, כולל פרויקט Harbor קיים. מידע נוסף זמין במאמר יצירת פרויקטים ב-Harbor.
התפקידים שצריך ב-IAM
כדי להעביר קובצי אימג' למכונות של מאגר Harbor, צריך לבקש מהאדמין של הפרויקט ב-IAM את התפקיד הבא:
- צפייה במכונות Harbor (
harbor-instance-viewer): קבלה, הצגה וצפייה במכונות Harbor במרחב השמות של הפרויקט. התפקיד הזה כולל את ההרשאות שנדרשות כדי לראות את הפרטים של מכונות Harbor קיימות, כדי שתוכלו לאחזר את כתובות ה-URL של המאגר שנדרשות לדחיפת קובצי אימג'.
תפקידי RBAC שנדרשים ב-Harbor
בניגוד לתפקידי IAM ב-GDC, כדי להעביר קובצי אימג' צריך הרשאות ספציפיות במערכת הפנימית של Harbor לבקרת גישה מבוססת-תפקידים (RBAC). מבקשים מהאדמין את ההרשאות הנדרשות. כדי לאכוף את העיקרון של הרשאות מינימליות, בקשו רק את התפקידים שנדרשים למשימות הספציפיות שלכם.
- מפתח: נדרש כדי להעביר תמונות למאגר Harbor. מידע נוסף על כל התפקידים הזמינים מופיע במסמכי התיעוד של Harbor בנושא הרשאות משתמשים לפי תפקיד: https://goharbor.io/docs/2.12.0/administration/managing-users/user-permissions-by-role/.
תיוג התמונה המקומית
כדי לתייג תמונה מקומית עם שם המאגר:
- אתם צריכים לאמת את הזהות שלכם במכונה של Harbor. מידע נוסף זמין במאמר הגדרת אימות Docker למכונות של מאגר Harbor.
הגדרת שם התמונה. הפורמט של שם התמונה המלא הוא:
INSTANCE_URL/HARBOR_PROJECT_NAME/IMAGEמחליפים את מה שכתוב בשדות הבאים:
-
INSTANCE_URL: כתובת ה-URL של המכונה של Harbor. לדוגמה,harbor-1.org-1.zone1.google.gdc.test. משיגים את כתובת ה-URL של המכונה של Harbor באמצעות מסוף GDC או gdcloud CLI. -
HARBOR_PROJECT_NAME: שם הפרויקט ב-Harbor. לדוגמה,my-project. -
IMAGE_NAME: שם התמונה. לדוגמה,nginx..
דוגמה לשם המלא של התמונה:
harbor-1.org-1.zone1.google.gdc.test/my-project/nginx-
מתייגים את קובץ האימג' המקומי בשם המאגר:
docker tag SOURCE-IMAGE INSTANCE_URL/HARBOR_PROJECT_NAME/IMAGE:TAG
מחליפים את מה שכתוב בשדות הבאים:
-
SOURCE-IMAGE: שם התמונה המקומית או מזהה התמונה. לדוגמה,nginx. -
TAG: שם התג. לדוגמה,staging. אם לא מציינים תג, Docker מחיל את התג האחרון כברירת מחדל.
דחיפת התמונה המתויגת למופע של מאגר Harbor
אחרי שמתייגים את קובץ האימג', מעבירים אותו למכונה של מאגר Harbor:
- מוודאים שבוצע אימות למכונה של Harbor.
- מריצים את הפקודה הבאה כדי להעביר את קובץ האימג' המתויג:
docker push
INSTANCE_URL/HARBOR_PROJECT_NAME/IMAGE:TAG
כשמעבירים תמונה, היא נשמרת במכונה ובפרויקט Harbor שצוינו.
אחרי שדוחפים את קובץ האימג', עוברים אל ממשק המשתמש של המכונה של Harbor כדי לראות את קובץ האימג'.
המאמרים הבאים
אחרי שדוחפים את התמונה למרשם Harbor, אפשר למשוך אותה לסביבה המקומית כדי לאמת אותה. אתם יכולים גם להגדיר כללים לשמירת תגים כדי לתחזק את המאגרים באופן אוטומטי, ולבדוק את תוצאות סריקת האבטחה כדי לזהות נקודות חולשה: