במאמר הזה מוסבר על הרשאות IAM שנדרשות כדי לראות תובנות לגבי אבטחת שרשרת אספקת התוכנה במסוף Google Cloud .
התפקידים הנדרשים
כדי לראות את התובנות לגבי אבטחת שרשרת האספקה של תוכנות ב-Google Cloud Console, אתם צריכים את התפקידים הבאים או תפקיד עם הרשאות שוות ערך:
- צפייה ב-Cloud Build
(
roles/cloudbuild.builds.viewer): צפייה בתובנות לגבי build. - Artifact Analysis Occurrences Viewer
(
roles/containeranalysis.occurrences.viewer): View vulnerabilities, build provenance, and other dependency information. - Cloud Run Viewer (
roles/run.viewer): הצגת תובנות לגבי גרסה של Cloud Run. - Kubernetes Engine Cluster Viewer (
roles/container.clusterViewer): הצגת תובנות לגבי אשכול GKE.
ההרשאות האלה מספקות גישה לתובנות, אבל הן לא מספקות הרשאות לביצוע פעולות אחרות, כמו הפעלת בנייה ב-Cloud Build.
- פרטים על ההרשאות הנדרשות לשירות ספציפי מופיעים במאמרי העזרה של השירות.
- במאמר בנושא ניהול זהויות והרשאות גישה (IAM) מוסבר איך מעניקים הרשאות לפרויקטים.
כברירת מחדל, להרבה שירותים יש הרשאות ברירת מחדל לשירותים אחרים באותו פרויקט, אבל אין להם גישה למשאבים בפרויקט אחר. אם אתם מפעילים שירותים ב Google Cloud פרויקטים שונים או אם אתם משתמשים בתפקידי IAM בהתאמה אישית או בחשבונות שירות בהתאמה אישית, אתם צריכים לתת את ההרשאות המתאימות בעצמכם.
מתן הרשאות כששירותים נמצאים באותו פרויקט
אם Cloud Build, Artifact Registry, Artifact Analysis ו-Cloud Run פועלים כולם באותו פרויקט, כל שירות משתמש בחשבון השירות שמוגדר כברירת מחדל כדי לפעול בשם השירות, וההרשאות שמוגדרות כברירת מחדל לא משתנות. כל השירותים יכולים לפעול יחד בלי לשנות את ההרשאות, אבל צריך לתת הרשאות למשתמשים שצריכים לראות תובנות בפרויקט.
- הרשאות בין שירותים
אין צורך לבצע שינויים:
- לחשבון השירות של Cloud Build יש הרשאות להעלות ולהוריד נתונים מ-Artifact Registry ולקרוא נתוני תובנות מ-Artifact Analysis. כך השירות יכול לחתום על תמונות של קונטיינרים עם מקורות build ולדחוף אותן ל-Artifact Registry.
- גרסאות של Cloud Run משתמשות בחשבון השירות שמשמש כברירת מחדל ל-Compute Engine לפריסות, ויש לו הרשאות להוריד תמונות מ-Artifact Registry ולקרוא נתוני תובנות מ-Artifact Analysis.
- הרשאות משתמש לצפייה בתובנות
כדי שמשתמשים ב-Cloud Build וב-Cloud Run יוכלו לראות את התובנות, צריך להקצות להם את התפקידים הנדרשים.
מתן הרשאות כששירותים נמצאים בפרויקטים שונים
כש-Artifact Registry ו-Artifact Analysis פועלים בפרויקט נפרד משאר השירותים, צריך להעניק הרשאות באופן מפורש לכל הפעילות בין הפרויקטים. Google Cloud נניח שיש לכם את הגדרת הפרויקט הבאה:
- Cloud Build פועל בפרויקט א'
- Artifact Registry ו-Artifact Analysis פועלים בפרויקט ב'
- Cloud Run פועל בפרויקט C
- הרשאות בין שירותים
ל-Cloud Build ול-Cloud Run אין גישה למשאבים בפרויקטים אחרים בלי להעניק במפורש גישה לחשבונות השירות שפועלים בשם השירותים האלה. צריך להעניק את ההרשאות המתאימות ב-Artifact Registry ואת ההרשאות המתאימות ב-Artifact Analysis בפרויקט ב', שבו מאוחסנים הארטיפקטים והמטא-נתונים שלהם.
ב-Cloud Build, צריך להקצות את התפקידים האלה בפרויקט ב':
- ההרשאה 'כתיבה ב-Artifact Registry' (
roles/artifactregistry.writer) מעניקה הרשאות להעלאה ולהורדה. - התפקיד 'צפייה במקרים של Artifact Analysis' (
roles/containeranalysis.occurrences.viewer) מעניק הרשאות להצגת תובנות.
- ההרשאה 'כתיבה ב-Artifact Registry' (
ב-Cloud Run, צריך להעניק את התפקידים האלה בפרויקט ב':
- ההרשאה 'קורא של Artifact Registry' (
roles/artifactregistry.reader) מאפשרת להוריד פריטי מידע שנוצרו בתהליך פיתוח לצורך פריסות. - התפקיד 'צפייה במקרים של Artifact Analysis' (
roles/containeranalysis.occurrences.viewer) מעניק הרשאות להצגת תובנות.
- ההרשאה 'קורא של Artifact Registry' (
- הרשאות משתמש לצפייה בתובנות
בפרויקט ב', צריך להעניק למשתמשים ב-Cloud Build וב-Cloud Run את התפקידים הנדרשים כדי להציג תובנות.
המאמרים הבאים
- מידע נוסף על Google Cloud האופן שבו השירותים מגנים על שרשרת אספקת התוכנה שלכם זמין בסקירה הכללית.
- מידע על שיטות לאבטחת שרשרת האספקה של תוכנות ועל האופן שבו שירותים יכולים לעזור לכם ליישם אותן. Google Cloud