כברירת מחדל, רק בעלי הפרויקט ועורכים יכולים ליצור, לעדכן, למחוק או להפעיל שירותים ועבודות, ורק בעלי הפרויקט ואדמינים של Cloud Run יכולים לשנות את מדיניות ניהול הזהויות והגישה (IAM) – למשל, כדי להפוך שירות לציבורי. פרטים נוספים זמינים במאמר בנושא תפקידי IAM ב-Cloud Run.
כדי לתת לישויות מורשות או לקבוצות אחרות את היכולת לבצע את הפעולות האלה, צריך להשתמש ב-IAM כדי לתת תפקידים לישויות מורשות שונות.
אם יצרתם או פרסתם פונקציות באמצעות פקודות של gcloud functions או ממשקי API של Cloud Functions v2 ואתם צריכים להשתמש באפשרויות האלה לצורך תאימות לאחור, כדאי לעיין במאמר בקרת גישה באמצעות IAM.
תפקידים מוגדרים מראש ב-Cloud Run
בהשוואה לתפקידים הבסיסיים (בעלים, עריכה וצפייה), לתפקידים המוגדרים מראש הבאים יש בקרת גישה פרטנית יותר למשאבי Cloud Run:
| תפקיד | תיאור |
|---|---|
אדמין של Cloud Run (roles/run.admin) |
יכול ליצור, לעדכן ולמחוק שירותים ועבודות, יכול לקבל, להציג ברשימה ולמחוק הפעלות של עבודות. יכול להפעיל שירותים ועבודות, יכול לבטל הפעלות של עבודות. יכול לקבל ולהגדיר מדיניות IAM. יכול להציג, להחיל ולדחות המלצות. נדרש הגדרה נוספת כדי לפרוס שירותים. |
Cloud Run Developer (roles/run.developer) |
יכול ליצור, לעדכן ולמחוק שירותים ועבודות, יכול לקבל, להציג ברשימה ולמחוק ביצועים של עבודות. יכול לקבל מדיניות IAM אבל לא להגדיר אותה. יכול להציג, להחיל ולבטל המלצות. |
בעל הרשאת צפייה ב-Cloud Run (roles/run.viewer) |
יכולים לראות שירותים, משימות והרצות של משימות. יכולים לקבל מדיניות IAM. יכולים לראות המלצות. |
הפעלת Cloud Run (roles/run.invoker) |
יכול להפעיל שירותים ומשימות, יכול לבטל הפעלות של משימות. |
שליטה בגישה לשירות או למשרה ספציפיים
אפשר לשלוט בגישה לכל שירות או לכל משימה באמצעות IAM.
הוספת ישויות
אפשר להוסיף חשבונות משתמשים למשרה או לשירות.
הוספת גורמים מרכזיים לשירות
כדי להוסיף ישויות לשירות:
ממשק המשתמש של המסוף
נכנסים למסוף Google Cloud :
לוחצים על תיבת הסימון לצד השירות שרוצים להוסיף לו ישויות. (לא לוחצים על השירות עצמו).
בחלונית המידע בפינה השמאלית העליונה, לוחצים על הכרטיסייה הרשאות. אם חלונית המידע לא מוצגת, יכול להיות שתצטרכו ללחוץ על Show Info Panel ואז על Permissions.
לוחצים על Add principal.
בשדה New principals, מזינים את הזהות (או הזהויות) שצריכה גישה לשירות.
בתפריט הנפתח תפקיד, בוחרים תפקיד או תפקידים. התפקידים שבחרתם יופיעו בחלונית עם תיאור קצר של ההרשאות שהם מעניקים.
לוחצים על Save.
gcloud
משתמשים בפקודה gcloud run services add-iam-policy-binding:
gcloud run services add-iam-policy-binding SERVICE_NAME \ --member=PRINCIPAL \ --role=ROLE
כאשר SERVICE_NAME הוא שם השירות, PRINCIPAL הוא החשבון הראשי (למשל user:email@domain.com) ו-ROLE הוא התפקיד.
רשימת הערכים הקבילים של PRINCIPAL מופיעה במאמר מזהים של חשבונות משתמשים.
רשימת הערכים הקבילים ל-ROLE מופיעה במאמר תפקידי IAM ב-Cloud Run.
הוספת חשבונות משתמש למשימה
כדי להוסיף חשבונות ראשיים למשרה:
ממשק המשתמש של המסוף
נכנסים למסוף Google Cloud :
לוחצים על תיבת הסימון שמימין למשרה שרוצים להוסיף לה ישויות. (לא לוחצים על המשרה עצמה).
בחלונית המידע בפינה השמאלית העליונה, לוחצים על הכרטיסייה הרשאות. אם חלונית המידע לא מוצגת, יכול להיות שתצטרכו ללחוץ על Show Info Panel ואז על Permissions.
לוחצים על Add principal.
בשדה New principals, מזינים את הזהות (או הזהויות) שצריכה גישה למשימה.
בתפריט תפקיד, בוחרים תפקיד או תפקידים. התפקידים שבחרתם יופיעו בחלונית עם תיאור קצר של ההרשאות שהם מעניקים.
לוחצים על Save.
gcloud
משתמשים בפקודה gcloud run jobs add-iam-policy-binding:
gcloud run jobs add-iam-policy-binding JOB_NAME \ --member=PRINCIPAL \ --role=ROLE
כאשר JOB_NAME הוא שם התפקיד, PRINCIPAL הוא סוג החשבון הראשי (למשל user:email@domain.com), ו-ROLE הוא התפקיד.
רשימת הערכים הקבילים של PRINCIPAL מופיעה בדף המושגים של IAM.
רשימת הערכים הקבילים ל-ROLE מופיעה במאמר תפקידי IAM ב-Cloud Run.
הסרת חשבונות ראשיים מתפקיד
אפשר להסיר ישויות משירות או מעבודה.
הסרת חשבונות ראשיים מתפקיד בשירות
כדי להסיר חשבונות ראשיים מתפקיד בשירות:
ממשק המשתמש של המסוף
נכנסים למסוף Google Cloud :
לוחצים על תיבת הסימון שמימין לשירות שרוצים להסיר ממנו את הישויות. (לא לוחצים על השירות עצמו).
בחלונית המידע בפינה השמאלית העליונה, לוחצים על הכרטיסייה הרשאות. אם חלונית המידע לא מוצגת, יכול להיות שתצטרכו ללחוץ על Show Info Panel ואז על Permissions.
מזינים את החשבון הראשי שרוצים להסיר במסנן של רשימת התפקידים, שבו מוצגים כל התפקידים שהוקצו לחשבון הראשי הזה.
לוחצים על סמל פח האשפה delete לצד החשבון הראשי בתפקיד הרצוי כדי להסיר את התפקיד מהחשבון הראשי.
בתיבת הדו-שיח לאישור, יש לכם אפשרות להסיר את חשבון המשתמש מכל התפקידים בשירות. לוחצים על הסרה כדי להסיר את החשבון הראשי מהתפקיד.
gcloud
משתמשים בפקודה gcloud run services remove-iam-policy-binding:
gcloud run services remove-iam-policy-binding SERVICE_NAME \ --member=PRINCIPAL \ --role=ROLE
כאשר SERVICE_NAME הוא שם השירות, PRINCIPAL הוא סוג החשבון הראשי (למשל user:email@domain.com) ו-ROLE הוא התפקיד.
רשימת הערכים הקבילים של PRINCIPAL מופיעה בדף המושגים של IAM.
רשימת הערכים הקבילים ל-ROLE מופיעה במאמר תפקידי IAM ב-Cloud Run.
הסרת חשבונות ראשיים מתפקיד במשימה
כדי להסיר חשבונות ראשיים מתפקיד במשימה:
ממשק המשתמש של המסוף
נכנסים למסוף Google Cloud :
לוחצים על תיבת הסימון שמימין למשרה שרוצים להוסיף לה ישויות. (לא לוחצים על המשרה עצמה).
בחלונית המידע בפינה השמאלית העליונה, לוחצים על הכרטיסייה הרשאות. אם חלונית המידע לא מוצגת, יכול להיות שתצטרכו ללחוץ על Show Info Panel ואז על Permissions.
מזינים את החשבון הראשי שרוצים להסיר במסנן של רשימת התפקידים, שבו מוצגים כל התפקידים שהוקצו לחשבון הראשי הזה.
לוחצים על סמל פח האשפה delete לצד החשבון הראשי בתפקיד הרצוי כדי להסיר את התפקיד מהחשבון הראשי.
בתיבת הדו-שיח לאישור, יש לכם אפשרות להסיר את החשבון מכל התפקידים בעבודה. לוחצים על הסרה כדי להסיר את החשבון הראשי מהתפקיד.
gcloud
משתמשים בפקודה gcloud run jobs remove-iam-policy-binding:
gcloud run jobs remove-iam-policy-binding JOB_NAME \ --member=PRINCIPAL \ --role=ROLE
כאשר JOB_NAME הוא שם התפקיד, PRINCIPAL הוא סוג החשבון הראשי (למשל user:email@domain.com), ו-ROLE הוא התפקיד.
רשימת הערכים הקבילים של PRINCIPAL מופיעה בדף המושגים של IAM.
רשימת הערכים הקבילים ל-ROLE מופיעה במאמר תפקידי IAM ב-Cloud Run.
הוספה או הסרה של משתמשים בצובר
אפשר להוסיף או להסיר כמה שירותים או משרות בבת אחת.
הוספה והסרה גורפות של חשבונות משתמשים לשירותים
כדי להוסיף או להסיר שירותים בכמות גדולה:
ממשק המשתמש של המסוף
נכנסים למסוף Google Cloud :
לוחצים על תיבת הסימון שמימין לשירות שרוצים להוסיף לו ישויות או להסיר ממנו ישויות. (לא לוחצים על השירות עצמו).
בוחרים את השירות שרוצים להוסיף לו ישויות או להסיר ממנו ישויות.
בחלונית המידע בפינה השמאלית העליונה, לוחצים על הכרטיסייה הרשאות. אם חלונית המידע לא מוצגת, יכול להיות שתצטרכו ללחוץ על Show Info Panel ואז על Permissions.
אם רוצים להוסיף ישויות:
לוחצים על Add principal.
בשדה New principals, מזינים את הזהות (או הזהויות) שצריכה גישה לשירות.
בתפריט תפקיד, בוחרים תפקיד (או תפקידים). התפקידים שבחרתם יופיעו בחלונית עם תיאור קצר של ההרשאות שהם מעניקים.
לוחצים על Save.
אם רוצים להסיר חשבונות ראשיים:
מזינים את החשבון הראשי שרוצים להסיר במסנן של רשימת התפקידים, שבו מוצגים כל התפקידים שהוקצו לחשבון הראשי הזה.
לוחצים על סמל פח האשפה delete לצד החשבון הראשי בתפקיד הרצוי כדי להסיר את התפקיד מהחשבון הראשי.
בתיבת הדו-שיח לאישור, יש לכם אפשרות להסיר את חשבון המשתמש מכל התפקידים בשירות. לוחצים על הסרה כדי להסיר את החשבון הראשי מהתפקיד.
gcloud
יוצרים מדיניות IAM:
cat <<EOF > policy.json { "bindings": [ { "role": ROLE, "members": [ PRINCIPAL ] } ] } EOF
משתמשים בפקודה gcloud run services set-iam-policy:
gcloud run services set-iam-policy SERVICE_NAME policy.json
רשימת הערכים הקבילים של PRINCIPAL מופיעה בדף המושגים של IAM.
רשימת הערכים הקבילים ל-ROLE מופיעה במאמר תפקידי IAM ב-Cloud Run.
הוספה והסרה גורפות של חשבונות משתמשים למשרות
כדי להוסיף או להסיר מספר משרות בבת אחת:
ממשק המשתמש של המסוף
נכנסים למסוף Google Cloud :
לוחצים על תיבת הסימון שמימין למשרה שרוצים להוסיף לה ישויות. (לא לוחצים על המשרה עצמה).
בוחרים את המשרה שרוצים להוסיף לה או להסיר ממנה גורמים.
בחלונית המידע בפינה השמאלית העליונה, לוחצים על הכרטיסייה הרשאות. אם חלונית המידע לא מוצגת, יכול להיות שתצטרכו ללחוץ על Show Info Panel ואז על Permissions.
אם רוצים להוסיף ישויות:
לוחצים על Add principal.
בשדה New principals, מזינים את הזהות (או הזהויות) שצריכה גישה לשירות.
בתפריט תפקיד, בוחרים תפקיד (או תפקידים). התפקידים שבחרתם יופיעו בחלונית עם תיאור קצר של ההרשאות שהם מעניקים.
לוחצים על Save.
אם רוצים להסיר חשבונות ראשיים:
מזינים את החשבון הראשי שרוצים להסיר במסנן של רשימת התפקידים, שבו מוצגים כל התפקידים שהוקצו לחשבון הראשי הזה.
לוחצים על סמל פח האשפה מחיקה לצד החשבון הראשי בתפקיד הרצוי כדי להסיר את התפקיד מהחשבון הראשי.
בתיבת הדו-שיח לאישור, יש לכם אפשרות להסיר את החשבון מכל התפקידים בעבודה. לוחצים על הסרה כדי להסיר את החשבון הראשי מהתפקיד.
gcloud
יוצרים מדיניות IAM:
cat <<EOF > policy.json { "bindings": [ { "role": ROLE, "members": [ PRINCIPAL ] } ] } EOF
משתמשים בפקודה gcloud run jobs set-iam-policy:
gcloud run jobs set-iam-policy JOB_NAME policy.json
רשימת הערכים הקבילים של PRINCIPAL מופיעה בדף המושגים של IAM.
רשימת הערכים הקבילים ל-ROLE מופיעה במאמר תפקידי IAM ב-Cloud Run.
הצגת ישויות
אפשר לראות את חשבונות המשתמשים בשירותים ובמשימות.
הצגת חשבונות משתמש בשירות
כדי לראות את חשבונות המשתמשים בשירות:
ממשק המשתמש של המסוף
נכנסים למסוף Google Cloud :
לוחצים על תיבת הסימון שמימין לשירות שרוצים לראות את העקרונות והתפקידים שלו. (לא לוחצים על השירות עצמו).
בוחרים את השירות שרוצים לראות את החשבונות הראשיים והתפקידים שלו.
בחלונית המידע בפינה השמאלית העליונה, לוחצים על הכרטיסייה הרשאות. אם חלונית המידע לא מוצגת, יכול להיות שתצטרכו ללחוץ על Show Info Panel ואז על Permissions.
תוצג רשימה של תפקידים וחשבונות משתמשים, מקובצים לפי התפקיד שהוקצה.
gcloud
משתמשים בפקודה gcloud run services get-iam-policy:
gcloud run services get-iam-policy SERVICE_NAME
צפייה בעקרונות של משרה
כדי לראות את החשבונות הראשיים של משימה:
ממשק המשתמש של המסוף
נכנסים למסוף Google Cloud :
לוחצים על תיבת הסימון שמימין למשרה שרוצים להוסיף לה ישויות. (לא לוחצים על המשרה עצמה).
בוחרים את העבודה שרוצים לראות את החשבונות הראשיים והתפקידים שלה.
בחלונית המידע בפינה השמאלית העליונה, לוחצים על הכרטיסייה הרשאות. אם חלונית המידע לא מוצגת, יכול להיות שתצטרכו ללחוץ על Show Info Panel ואז על Permissions.
תוצג רשימה של תפקידים וחשבונות משתמשים, מקובצים לפי התפקיד שהוקצה.
gcloud
משתמשים בפקודה gcloud run jobs get-iam-policy:
gcloud run jobs get-iam-policy JOB_NAME
שליטה בגישה לכל השירותים והמשימות בפרויקט
אם רוצים להקצות תפקידים לישויות מורשות בכל השירותים והמשימות בפרויקט, אפשר להשתמש בIAM ברמת הפרויקט.
ממשק המשתמש של המסוף
נכנסים למסוף Google Cloud :
מוצאים את הישות המורשית שרוצים להעניק לה תפקיד ברמת הפרויקט.
לוחצים על סמל העריכה העיפרון בצד שמאל של השורה של חשבון המשתמש.
לוחצים על Add another role ובוחרים את התפקיד הרצוי.
לוחצים על Save.
gcloud
משתמשים בפקודה gcloud projects add-iam-policy-binding:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=PRINCIPAL \ --role=ROLE
כאשר PRINCIPAL הוא הגורם המרכזי (למשל user:email@domain.com) ו-ROLE הוא התפקיד (למשל roles/run.admin).
אי אפשר להחיל את סוגי החשבונות הראשיים allUsers ו-allAuthenticatedUsers ברמת הפרויקט, אלא צריך להוסיף אותם לכל שירות בנפרד.
הגדרת שירות כציבורי
יש שתי דרכים ליצור שירות ציבורי ב-Cloud Run:
- משביתים את בדיקת ה-IAM של Cloud Run Invoker (מומלץ).
- מקצים את תפקיד ה-IAM Cloud Run Invoker לסוג החבר
allUsers.
התפקידים הנדרשים
כדי להשבית או להפעיל מחדש את בדיקת ה-IAM של מי שמפעיל שירות, צריכות להיות לכם ההרשאות הבאות:
run.services.createrun.services.updaterun.services.setIamPolicy
ההרשאות האלה כלולות בתפקיד אדמין של Cloud Run (roles/run.admin). רשימה מלאה של התפקידים וההרשאות שמשויכות אליהם מופיעה במאמר תפקידי IAM ב-Cloud Run.
השבתת בדיקת ה-IAM של Cloud Run Invoker
הדרך המומלצת להפוך שירות לציבורי היא להשבית את בדיקת ההרשאות של Cloud Run Invoker ב-IAM. כברירת מחדל, Cloud Run מבצע את הבדיקה הזו. משתמשים בפתרון הזה כשהפרויקט כפוף לאילוץ של שיתוף מוגבל לדומיין במדיניות הארגון.
כדי להשבית את הבדיקה:
המסוף
במסוף Google Cloud , נכנסים לדף Cloud Run:
אם אתם מגדירים שירות חדש, לוחצים על יצירת שירות וממלאים את הדף של הגדרות השירות הראשוניות לפי הצורך.
אם אתם מגדירים שירות קיים, לוחצים על השירות ואז על הכרטיסייה אבטחה.
לוחצים על Allow public access.
לוחצים על יצירה או על שמירה.
gcloud
כדי ליצור שירות חדש, משתמשים בפקודה
gcloud run deployעם הדגל--no-invoker-iam-check:gcloud run deploy SERVICE_NAME --no-invoker-iam-check
מחליפים את
SERVICE_NAMEבשם השירות.בשביל שירות קיים, משתמשים בפקודה
gcloud run services updateעם הדגל--no-invoker-iam-check:gcloud run services update SERVICE_NAME --no-invoker-iam-check
מחליפים את SERVICE_NAME בשם השירות.
YAML
כדי להציג ולהוריד את ההגדרות:
gcloud run services describe SERVICE --format export > service.yaml
מעדכנים את ההערה
run.googleapis.com/invoker-iam-disabled::apiVersion: serving.knative.dev/v1 kind: Service metadata: annotations: run.googleapis.com/invoker-iam-disabled: 'true' name: SERVICE_NAME
מחליפים את SERVICE_NAME בשם של שירות Cloud Run.
מחליפים את השירות בהגדרה החדשה שלו באמצעות הפקודה הבאה:
gcloud run services replace service.yaml
Terraform
כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.
מוסיפים את השורות הבאות למשאבgoogle_cloud_run_v2_service בקובץ התצורה של Terraform:resource "google_cloud_run_v2_service" "default" {
name = "SERVICE"
location = "REGION"
invoker_iam_disabled = true
template {
containers {
image = "IMAGE_URL"
}
}
}
מחליפים את מה שכתוב בשדות הבאים:
- SERVICE: השם של שירות Cloud Run.
- REGION: האזור Google Cloud . לדוגמה,
europe-west1. - IMAGE_URL: הפניה לקובץ אימג' בקונטיינר, לדוגמה,
us-docker.pkg.dev/cloudrun/container/hello:latest. אם אתם משתמשים ב-Artifact Registry, צריך ליצור מראש את המאגר REPO_NAME. כתובת ה-URL היא בפורמטLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
כדי לוודא שהבדיקה מושבתת אחרי הפריסה, עוברים לנקודת הקצה של HTTPS בשירות.
הפעלה מחדש של בדיקת Cloud Run Invoker IAM
כדי להפעיל מחדש את הבדיקה:
המסוף
במסוף Google Cloud , נכנסים לדף Services של Cloud Run:
לוחצים על השירות ואז על אבטחה.
בוחרים באפשרות דרישת אימות ואז באפשרות ניהול זהויות והרשאות גישה (IAM).
לוחצים על Save.
gcloud
מעדכנים את השירות באמצעות הדגל
--invoker-iam-check:gcloud run services update SERVICE_NAME --invoker-iam-check
מחליפים את
SERVICE_NAMEבשם השירות.
YAML
כדי להציג ולהוריד את ההגדרות:
gcloud run services describe SERVICE --format export > service.yaml
מעדכנים את ההערה
run.googleapis.com/invoker-iam-disabled::apiVersion: serving.knative.dev/v1 kind: Service metadata: annotations: run.googleapis.com/invoker-iam-disabled: 'false' name: SERVICE_NAME
מחליפים את
SERVICE_NAMEבשם של שירות Cloud Run.
Terraform
כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.
מוסיפים את השורות הבאות למשאבgoogle_cloud_run_v2_service בקובץ התצורה של Terraform:resource "google_cloud_run_v2_service" "default" {
name = "SERVICE"
location = "REGION"
invoker_iam_disabled = false
template {
containers {
image = "IMAGE_URL"
}
}
}
מחליפים את מה שכתוב בשדות הבאים:
- SERVICE: השם של שירות Cloud Run.
- REGION: האזור Google Cloud . לדוגמה,
europe-west1. - IMAGE_URL: הפניה לקובץ אימג' בקונטיינר, לדוגמה,
us-docker.pkg.dev/cloudrun/container/hello:latest. אם אתם משתמשים ב-Artifact Registry, צריך ליצור מראש את המאגר REPO_NAME. כתובת ה-URL היא בפורמטLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
כדי לוודא שהבדיקה מופעלת מחדש אחרי הפריסה, עוברים לנקודת הקצה של HTTPS בשירות.
הגדרת מדיניות הארגון לבדיקת IAM של הפעלת Cloud Run
אדמינים יכולים להגביל את האפשרות להשבית את בדיקת ה-IAM של Invoker באמצעות האילוץ המנוהל constraints/run.managed.requireInvokerIam.
האילוץ הזה לא נאכף כברירת מחדל.
מקצים את תפקיד ה-IAM Invoker ב-Cloud Run לסוג החבר allUsers
כדי לאפשר גישה ציבורית לשירות, צריך להקצות את תפקיד IAM של Cloud Run Invoker לסוג החבר allUsers.
כדי להגדיר אימות בשירות Cloud Run, צריכה להיות לכם הרשאת run.services.setIamPolicy. ההרשאה הזו כלולה בתפקיד 'אדמין של Cloud Run'. רשימה מלאה של התפקידים וההרשאות שמשויכות אליהם מופיעה במאמר תפקידי IAM ב-Cloud Run.
המסוף
בשירות Cloud Run קיים:
במסוף Google Cloud , נכנסים לדף Services של Cloud Run:
מימין לשירות שרוצים להפוך לציבורי, לוחצים על תיבת הסימון. לא לוחצים על השירות עצמו.
בחלונית המידע בפינה השמאלית העליונה, לוחצים על הכרטיסייה הרשאות. אם חלונית המידע לא מוצגת, יכול להיות שתצטרכו ללחוץ על Show Info Panel ואז על Permissions.
לוחצים על Add principal.
בשדה New principals, מזינים את הערך allUsers.
בתפריט Select a role (בחירת תפקיד), בוחרים בתפקיד Cloud Run Invoker (הפעלת Cloud Run).
לוחצים על Save.
תתבקשו לאשר שאתם רוצים להפוך את המשאב הזה לציבורי. לוחצים על Allow public access כדי להחיל את השינוי על הגדרות IAM של השירות.
אם אתם יוצרים שירות חדש, יוצרים את השירות ובוחרים באפשרות מתן גישה ציבורית בקטע אימות כדי שהשירות יהיה זמין לציבור. כדי להפוך שירות לפרטי, לוחצים על דרישת אימות.
gcloud
כדי להפוך שירות לזמין לציבור, משתמשים בפקודה gcloud run services כדי להוסיף את סוג החבר המיוחד allUsers לשירות ולהעניק לו את התפקיד roles/run.invoker:
gcloud run services add-iam-policy-binding [SERVICE_NAME] \ --member="allUsers" \ --role="roles/run.invoker"
כדי שהשירות יהיה נגיש לכולם כשפורסים אותו, מריצים את הפקודה gcloud run deploy:
gcloud run deploy [SERVICE_NAME] ... --allow-unauthenticated
YAML
יוצרים קובץ בשם policy.yaml עם התוכן הבא:
bindings:
- members:
- allUsers
role: roles/run.invoker
כדי לאפשר גישה ציבורית ל-SERVICE הקיים באמצעות:
gcloud run services set-iam-policy SERVICE policy.yaml
Terraform
כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.
מוסיפים את השורות הבאות למשאבgoogle_cloud_run_v2_service בקובץ התצורה של Terraform:כדי לעדכן את הקישור של IAM בשירות roles/run.invoker, מוסיפים את ההפניה הבאה למשאב של שירות Cloud Run:
הקישור הזה הוא סמכותי רק לתפקיד הנתון. שאר ההרשאות ב-IAM במדיניות ה-IAM של השירות נשמרות.
שימוש בתנאי IAM בשירות
אתם יכולים להשתמש בתנאים של IAM כדי להגדיר ולאכוף בקרת גישה מותנית למשאבים ב-Cloud Run, על סמך מאפיינים. Cloud Run תומך במאפייני התנאי (request.host) ו-(request.path) כדי להעניק גישה מותנית כשמפעילים שירותים של Cloud Run.
כדי להעניק גישה מותנית באמצעות המאפיינים
request.hostו-request.pathכשמפעילים שירותים של Cloud Run, מוסיפים את השדהconditionכשמריצים את הפקודה הבאה:gcloud run services add-iam-policy-binding SERVICE_NAME \ --member=PRINCIPAL \ --role=ROLE \ --region=REGION \ --condition=[KEY=VALUE,...]
מחליפים את:
-
SERVICE_NAMEעם שם השירות (לדוגמה,my-service). -
PRINCIPALעם ה-principal (לדוגמה,user:email@domain.com). -
ROLEעם התפקיד (לדוגמה,roles/run.invoker). -
REGIONעם האזור (לדוגמה,europe-west1). -
KEY=VALUEעם תנאי להכללה בקישור. הדגל--conditionחייב לכלול את צמדי מפתח/ערךexpressionו-title.
-
השלבים הבאים
איך מאמתים בצורה מאובטחת מפתחים, שירותים ומשתמשים בשירותים שאובטחו זה עתה.