בדף הזה מתוארים חשבונות שירות, תפקידים והרשאות ב-Cloud Deploy.
הגישה ב-Cloud Deploy נשלטת באמצעות ניהול זהויות והרשאות גישה (IAM). בעזרת IAM אפשר ליצור ולנהל הרשאות למשאבים של Google Cloud . שירות Cloud Deploy מספק קבוצה ספציפית של תפקידי IAM מוגדרים מראש, שכל אחד מהם מכיל קבוצה של הרשאות. אתם יכולים להשתמש בתפקידים האלה כדי לתת גישה פרטנית יותר למשאבים ספציפיים ב- Google Cloud ולמנוע גישה לא רצויה למשאבים אחרים. בעזרת IAM תוכלו לשמור על עקרון האבטחה של הרשאות מינימליות, וכך לתת רק למי שצריך את רמת הגישה שצריך למשאבים השונים.
במאמר שימוש ב-IAM כדי להגביל את הגישה ל-Cloud Deploy מוסבר על תכונות מתקדמות של אבטחת בקרת גישה.
חשבונות שירות ב-Cloud Deploy
כברירת מחדל, Cloud Deploy פועל באמצעות חשבון השירות שמוגדר כברירת מחדל ב-Compute Engine. מידע נוסף על הגדרת חשבון השירות הזה לשימוש ב-Cloud Deploy או על בחירת חשבון אחר זמין במאמר חשבון שירות להרצת Cloud Deploy.
מידע נוסף על השימוש בחשבונות שירות ב-Cloud Deploy
תפקידים מוגדרים מראש ב-Cloud Deploy
באמצעות IAM, כל method ב-Cloud Deploy API דורשת שלזהות שממנה הגיעה בקשת ה-API יהיו ההרשאות המתאימות לשימוש במשאב. ההרשאות ניתנות על ידי הגדרת מדיניות שמעניקה תפקידים לישות (משתמש, קבוצה או חשבון שירות) בפרויקט. אתם יכולים להקצות לאותו חשבון משתמש כמה תפקידים באותו משאב.
במסמכי התיעוד של IAM יש הפניה שאפשר לחפש בה לכל התפקידים המוגדרים מראש.
בטבלה הבאה מפורטים התפקידים ב-IAM של Cloud Deploy וההרשאות שכלולים בהם:
| Role | Permissions |
|---|---|
Cloud Deploy Admin( Full control of Cloud Deploy resources. |
|
Cloud Deploy Editor( Editor role for Cloud Deploy |
|
Cloud Deploy Viewer( Can view Cloud Deploy resources. |
|
Cloud Deploy Approver( Permission to approve or reject rollouts. |
|
Cloud Deploy Custom Target Type Admin( Permission to manage CustomTargetType resources |
|
Cloud Deploy Developer( Permission to manage deployment configuration without permission to access operational resources, such as targets. |
|
Cloud Deploy Runner( Permission to execute Cloud Deploy work without permission to deliver to a target. |
|
Cloud Deploy Operator( Permission to manage deployment configuration. |
|
Cloud Deploy Policy Admin( Permission to manage Deploy Policies. |
|
Cloud Deploy Policy Overrider( Permission to override Deploy Policies. |
|
Cloud Deploy Releaser( Permission to create Cloud Deploy releases and rollouts. |
|
Service agent roles
Service agent roles should only be granted to service agents.
| Role | Permissions |
|---|---|
Cloud Deploy Service Agent( Gives Cloud Deploy Service Account access to managed resources. |
|
בנוסף לתפקידים המוגדרים מראש ב-Cloud Deploy, התפקידים הבסיסיים 'צפייה', 'עריכה' ו'בעלים' כוללים גם הרשאות שקשורות ל-Cloud Deploy. עם זאת, מומלץ להקצות תפקידים מוגדרים מראש ככל האפשר כדי לעמוד בדרישות עקרון האבטחה של הרשאות מינימליות.
הרשאות
בטבלה הבאה מפורטות ההרשאות שנדרשות למבצע הקריאה החוזרת (caller) כדי להפעיל קריאה לכל method:
| שיטת ה-API | ההרשאה הנדרשת | תיאור |
|---|---|---|
automations.create() |
clouddeploy.automations.create |
יצירת משאב אוטומציה חדש. |
automations.delete() |
clouddeploy.automations.delete |
מחיקה של משאב אוטומציה קיים. |
automations.get() |
clouddeploy.automations.get |
אחזור פרטים של משאב אוטומציה ספציפי. |
automations.list() |
clouddeploy.automations.list |
להציג רשימה של משאבי אוטומציה והמטא-נתונים שלהם. |
automations.update() |
clouddeploy.automations.update |
עדכון משאב קיים של אוטומציה. |
automationRuns.cancel() |
clouddeploy.automationRuns.cancel |
ביטול של פעולה אוטומטית שפועלת. |
automationRuns.get() |
clouddeploy.automationRuns.get |
אחזור פרטים של הפעלה ספציפית של אוטומציה. |
automationRuns.list() |
clouddeploy.automationRuns.list |
להציג רשימה של הפעלות אוטומציה והמטא-נתונים שלהן. |
customTargetTypes.create() |
clouddeploy.customTargetTypes.create |
יוצרים משאב מסוג יעד מותאם אישית. |
customTargetTypes.delete() |
clouddeploy.customTargetTypes.delete |
מחיקת משאב מסוג יעד מותאם אישית. |
customTargetTypes.get() |
clouddeploy.customTargetTypes.get |
אחזור פרטים של סוג יעד מותאם אישית. |
customTargetTypes.getIamPolicy() |
clouddeploy.customTargetTypes.getIamPolicy |
קבלת מדיניות IAM עבור משאב מסוג יעד מותאם אישית. |
customTargetTypes.list() |
clouddeploy.customTargetTypes.list |
להציג רשימה של סוגי מיקוד מותאמים אישית זמינים והמטא-נתונים שלהם. |
customTargetTypes.patch() |
clouddeploy.customTargetTypes.patch |
עדכון של סוג יעד מותאם אישית קיים. |
customTargetTypes.setIamPolicy() |
clouddeploy.customTargetTypes.setIamPolicy |
הגדרת מדיניות IAM למשאב מסוג יעד מותאם אישית. |
deliveryPipelines.create() |
clouddeploy.deliveryPipelines.create |
יוצרים משאב חדש של צינור אספקה. |
deliveryPipelines.delete() |
clouddeploy.deliveryPipelines.delete |
מחיקה של משאב קיים בצינור עיבוד נתונים לפריסה. |
deliveryPipelines.get() |
clouddeploy.deliveryPipelines.get |
אחזור פרטים של צינור העברה ספציפי. |
deliveryPipelines.getIamPolicy() |
clouddeploy.deliveryPipelines.getIamPolicy |
קבלת מדיניות IAM עבור משאב של צינור העברה. |
deliveryPipelines.list() |
clouddeploy.deliveryPipelines.list |
להציג רשימה של צינורות להעברת נתונים והמטא-נתונים שלהם. |
deliveryPipelines.rollbackTarget() |
clouddeploy.rollouts.rollback |
החזרה של יעד. |
deliveryPipelines.setIamPolicy() |
clouddeploy.deliveryPipelines.setIamPolicy |
הגדרת מדיניות IAM למשאב של צינור העברת נתונים. |
deliveryPipelines.update() |
clouddeploy.deliveryPipelines.update |
עדכון של משאב קיים של צינור העברת נתונים. |
deployPolicies.create() |
clouddeploy.deployPolicies.create |
יוצרים משאב של מדיניות פריסה. |
deployPolicies.delete() |
clouddeploy.deployPolicies.delete |
מחיקת משאב של מדיניות פריסה. |
deployPolicies.get() |
clouddeploy.deployPolicies.get |
אחזור פרטים של משאב מדיניות פריסה. |
deployPolicies.list() |
clouddeploy.deployPolicies.list |
הצגת רשימה של מדיניות הפריסה הזמינה והמטא-נתונים שלה. |
jobRuns.get() |
clouddeploy.jobRuns.get |
שליפה של משאב JobRuns. |
jobRuns.list() |
clouddeploy.jobRuns.list |
להציג רשימה של JobRuns משאבים והמטא-נתונים שלהם. |
jobRuns.terminate() |
clouddeploy.jobRuns.terminate |
לסיים הפעלה של משימה שנמצאת בתהליך. |
operations.cancel() |
clouddeploy.operations.cancel |
ביטול פעולה ממושכת. |
operation.delete() |
clouddeploy.operations.delete |
מחיקת פעולה ממושכת. |
operations.get() |
clouddeploy.operations.get |
קבלת פעולה ממושכת ספציפית (לדוגמה, כדי להחזיר את הסטטוס של יצירת פריט תוכן). |
operations.list() |
clouddeploy.operations.list |
הצגת רשימה של פעולות ממושכות. |
releases.abandon() |
clouddeploy.releases.abandon |
להפסיק את ההשקה ולמנוע השקות נוספות של הגרסה. |
releases.create() |
clouddeploy.releases.create |
יוצרים משאב חדש של גרסה. למבצע הקריאה נדרשת גם ההרשאה iam.serviceAccounts.actAs בחשבון השירות שמשמש לעיבוד המניפסט. |
releases.get() |
clouddeploy.releases.get |
אחזור פרטים של פריט תוכן ספציפי. |
releases.list() |
clouddeploy.releases.list |
רשימת פריטי תוכן ומטא-נתונים. |
rollouts.advance() |
clouddeploy.rollouts.advance |
מעבר להשקה לשלב הבא. |
rollouts.approve() |
clouddeploy.rollouts.approve |
אישור או דחייה של השקה עם סטטוס אישור required. |
rollouts.cancel() |
clouddeploy.rollouts.cancel |
ביטול השקה. |
rollouts.create() |
clouddeploy.rollouts.create |
יוצרים משאב חדש של השקה או מקדמים גרסה. למבצע הקריאה נדרשת גם הרשאת iam.serviceAccounts.actAs בפרויקט או בחשבון השירות שמשמשים לפריסה. |
rollouts.get() |
clouddeploy.rollouts.get |
אחזור פרטים של השקה ספציפית. |
rollouts.ignoreJob() |
clouddeploy.rollouts.ignoreJob |
התעלמות מעבודה שנכשלה. |
rollouts.list() |
clouddeploy.rollouts.list |
להציג רשימה של השקות ומטא-נתונים. |
rollouts.retryJob() |
clouddeploy.rollouts.retryJob |
מנסה שוב לבצע עבודה שנכשלה. |
rollouts.advance(), rollouts.approve(), rollouts.cancel(), rollouts.create(), rollouts.ignoreJob(), rollouts.retryJob(), deliveryPipelines.rollbackTarget(), jobRuns.terminate() |
clouddeploy.deployPolicies.override |
שינוי של משאב מדיניות פריסה מברירת המחדל. |
deployPolicies.update() |
clouddeploy.deployPolicies.update |
עדכון של משאב מדיניות פריסה קיים. |
targets.create() |
clouddeploy.targets.create |
יוצרים משאב יעד חדש. |
targets.delete() |
clouddeploy.targets.delete |
מחיקה של משאב יעד קיים. |
targets.get() |
clouddeploy.targets.get |
אחזור פרטים של יעד ספציפי. |
targets.getIamPolicy() |
clouddeploy.targets.getIamPolicy |
מקבלת את מדיניות ה-IAM של משאב היעד. |
targets.list() |
clouddeploy.targets.list |
להציג רשימה של יעדים והמטא-נתונים שלהם. |
targets.setIamPolicy() |
clouddeploy.targets.setIamPolicy |
הגדרת מדיניות IAM למשאב יעד. |
targets.update() |
clouddeploy.targets.update |
מעדכנים משאב יעד קיים. |
שימוש ב-IAM כדי להגביל פעולות במשאבי Cloud Deploy
אפשר לאבטח את משאבי Cloud Deploy באמצעות IAM בדרכים הבאות:
ממשקי meta API של IAM
אפשר להשתמש ב-
setIamPolicyבמשאבי Cloud Deploy כדי להגביל את הפעולות שאפשר לבצע במשאבים האלה.תנאים לניהול הזהויות והרשאות הגישה
החלה של מדיניות גישה באופן פרוגרמטי, כולל התנאים שבהם יש להעניק או לדחות גישה.
אתם יכולים להשתמש במדיניות ובתנאים האלה כדי להגביל את הפעולות הבאות במשאבי Cloud Deploy:
יצירת פייפליין או יעד לפריסה
אפשר להעניק את הגישה הזו למשתמשים או לקבוצות ספציפיים.
עדכון או מחיקה של צינור העברת נתונים ספציפי
אפשר להעניק את הגישה הזו למשתמשים או לקבוצות ספציפיים.
יצירת גרסה לצינור עיבוד נתונים ספציפי לפריסה
אפשר להעניק את הגישה הזו למשתמשים או לקבוצות ספציפיים.
עדכון או מחיקה של יעד ספציפי
אפשר להעניק את הגישה הזו למשתמשים או לקבוצות ספציפיים.
יצירה או אישור של השקה או קידום של גרסה
אפשר להעניק את הגישה הזו למשתמשים או לקבוצות ספציפיים עבור יעד ספציפי או צינור העברה ספציפי.
אפשר גם להגדיר תנאי שמגביל את הגישה הזו לחלון זמן ספציפי.