במאמר הזה מוסבר איך להגדיר את חשבון השירות של Cloud Build כדי להתחזות לחשבונות שירות בזמן ריצה, ב-Compute Engine או ב-App Engine, כדי שתוכלו לפרוס תמונות לשירותים מנוהלים.
סקירה כללית
כשפריסת תמונה מתבצעת לשירותים מנוהלים ספציפיים, התמונה פועלת באמצעות הזהות של חשבון השירות של אותו שירות מנוהל. מכיוון ש-Cloud Build יכול לפרוס מופעים או גרסאות חדשים באופן אוטומטי, חשבון השירות שצוין ב-Cloud Build או חשבון השירות שמוגדר כברירת מחדל ב-Cloud Build צריכים להיות מסוגלים להתחזות לחשבון השירות של השירות המנוהל. הדרישה הזו חלה על פריסה בשירותים המנוהלים הבאים:
| שירות מנוהל | חשבון השירות |
|---|---|
| App Engine | חשבון השירות של App Engine |
| פונקציות Cloud Run | חשבון שירות בזמן ריצה |
| Cloud Run | זהות השירות |
| Compute Engine | חשבון שירות של Compute Engine |
הגדרה של התחזות לחשבון שירות
כדי להגדיר את חשבון השירות של Cloud Build כך שיתחזה לחשבון שירות אחר:
console
עוברים לדף הרשאות של settings Cloud Build.
בוחרים את חשבון השירות ב-Cloud Build.
מפעילים את תפקיד ה-IAM הנדרש לשירות המנוהל:
שירות מנוהל התפקיד הנדרש App Engine אדמין של App Engine ( roles/appengine.appAdmin)פונקציות Cloud Run Cloud Functions Developer ( roles/cloudfunctions.developer)Cloud Run אדמין של Cloud Run ( roles/run.admin)Compute Engine אדמין מכונות של Compute גרסה 1 ( roles/compute.instanceAdmin.v1)מוצגת החלונית הקצאת תפקיד משתמש בחשבון שירות.
בוחרים חשבון שירות להתחזות אליו. לדוגמה, אם אתם מתכננים לפרוס ל-Compute Engine והפעלתם את התפקיד Compute Instance Admin v1, תצטרכו לבחור את חשבון השירות של Compute Engine שחשבון השירות של Cloud Build יתחזה לו.
לוחצים על Grant permission (מתן הרשאה).
CLI של gcloud
ב-Google Cloud CLI, מזינים את הפקודה הבאה:
gcloud iam service-accounts add-iam-policy-binding \
SERVICE_ACCOUNT_TO_IMPERSONATE \
--member="CLOUD_BUILD_SERVICE_ACCOUNT" \
--role="roles/iam.serviceAccountUser"
כאשר:
- SERVICE_ACCOUNT_TO_IMPERSONATE הוא חשבון השירות שרוצים להתחזות אליו.
- CLOUD_BUILD_SERVICE_ACCOUNT הוא חשבון השירות של Cloud Build.
Cloud Build מקצה לחשבון השירות של Cloud Build את התפקיד 'משתמש בחשבון שירות' (roles/iam.serviceAccountUser) עבור חשבון השירות שרוצים להתחזות אליו.
התפקיד 'משתמש בחשבון השירות' מאפשר לחשבון משתמש לצרף חשבון שירות למשאב, וכך חשבון השירות של Cloud Build יכול להתחזות לחשבון השירות המנוהל שבחרתם. למידע נוסף, אפשר לעיין במאמרים תפקיד Service Account User וצירוף חשבונות שירות למשאבים במאמרי העזרה של IAM.