במהלך פריסות של קוד מקור, Cloud Run משתמש ב-Cloud Build כדי ליצור ולפרוס את שירות Cloud Run.
בדף הזה מוסבר איך מגדירים חשבון שירות שצוין על ידי המשתמש לשימוש ב-Cloud Build כשמבצעים בשמכם בנייה של השירות.
המדריך הזה רלוונטי למפתחי פלטפורמות שפורסים שירותים או פונקציות של Cloud Run באמצעות Google Cloud CLI, וצריכים להתאים אישית את חשבון השירות של ה-build שבו משתמש Cloud Build. הדגל build service account ב-CLI של gcloud נתמך בפריסות של קוד מקור (--source), ולא נתמך בפריסות של קובצי אימג' של קונטיינר (--image).
לפני שמתחילים
מפעילים את Cloud Build API:
gcloud services enable cloudbuild.googleapis.com
יוצרים חשבון שירות או משתמשים בחשבון שירות קיים בתור חשבון השירות של Cloud Build.
התפקידים הנדרשים
אתם או האדמין שלכם צריכים להעניק לחשבון הפריסה ולחשבון השירות של Cloud Build את תפקידי ה-IAM הבאים.
לחצו כדי לראות את התפקידים הנדרשים לחשבון הפריסה
כדי לקבל את ההרשאות שדרושות לבנייה ולפריסה ממקור, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:
- Cloud Run Source Developer (
roles/run.sourceDeveloper) בפרויקט - Service Usage Consumer (
roles/serviceusage.serviceUsageConsumer) בפרויקט - משתמש בחשבון שירות (
roles/iam.serviceAccountUser) בזהות של שירות Cloud Run
לחצו כדי לראות את התפקידים הנדרשים לחשבון השירות של Cloud Build
כדי לאפשר לחשבון השירות של Cloud Build לבצע את ה-build כשפורסים פונקציה, צריך לבקש מהאדמין להקצות לחשבון השירות של Cloud Build את התפקיד Cloud Run Builder (roles/run.builder) בפרויקט.
רשימת ההרשאות והתפקידים ב-IAM שמשויכים ל-Cloud Run מופיעה במאמרים תפקידי IAM ב-Cloud Run והרשאות IAM ב-Cloud Run. אם שירות Cloud Run שלכם מתקשר עםGoogle Cloud ממשקי API, כמו ספריות לקוח ב-Cloud, כדאי לעיין במדריך להגדרת זהות שירות. מידע נוסף על מתן תפקידים זמין במאמרים הרשאות פריסה וניהול גישה.
ציון חשבון שירות ב-Cloud Build
כברירת מחדל, אם לא מציינים חשבון שירות של Cloud Build כשפורסים שירות או פונקציה ממקור, Cloud Build משתמש בחשבון השירות שמוגדר כברירת מחדל ב-Cloud Build.
כדי לשפר את רמת האבטחה של השירות, מומלץ לציין חשבון שירות משלכם להפעלת הבנייה כשפורסים שירות ממקור. זו שיטה מומלצת לפעולה לפי העיקרון של הרשאות מינימליות.
gcloud
כדי לציין את חשבון השירות של Cloud Build כשפורסים שירות מקוד מקור, משתמשים בדגל --build-service-account:
gcloud run deploy SERVICE \ --source . \ --build-service-account projects/PROJECT_ID/serviceAccounts/BUILD_SERVICE_ACCOUNT
מחליפים את:
- SERVICE מחליפים בשם של שירות Cloud Run.
- PROJECT_ID מזהה הפרויקט שבו נוצר חשבון השירות של שירות ה-Build.
- BUILD_SERVICE_ACCOUNT עם חשבון שירות שצוין על ידי המשתמש.
אם אתם פורסים פונקציה, מוסיפים את הדגל --function עם נקודת הכניסה של הפונקציה מקוד המקור.