בקרת גישה לפרויקטים באמצעות IAM

ניהול זהויות והרשאות גישה (IAM) מאפשר לכם לתת גישה פרטנית למשאבים ספציפיים ב- Google Cloud ולמנוע גישה לא רצויה למשאבים אחרים. המודל הזה עוזר לכם לאמץ את העיקרון של הרשאות מינימליות, כדי לוודא שאתם נותנים רק את הגישה הנדרשת למשאבים שלכם.

באמצעות הגדרת כללי מדיניות הרשאה, אתם יכולים לקבוע למי (משתמשים) יש גישה (תפקידים) אל משאבים ספציפיים. כדי לנהל את הגישה לפרויקטים, אתם יכולים להגדיר תפקידים והרשאות ב-IAM, או להשתמש בכללי מדיניות דחייה כדי למנוע מחשבונות משתמשים להשתמש בהרשאות ספציפיות. למידע נוסף, קראו את המאמר ניהול הגישה לפרויקטים, לתיקיות ולארגונים.

משתמשים חדשים ב- Google Cloudיכולים להגדיר את היררכיית המשאבים ולתת גישה ראשונית כחלק מתהליך ההגדרה שלGoogle Cloud .

הרשאות ותפקידים

כדי לשלוט בגישה למשאבים,ב- Google Cloud נדרש שלחשבונות ששולחים בקשות API יהיו תפקידי IAM מתאימים. תפקידי IAM כוללים הרשאות שמאפשרות למשתמשים לבצע פעולות ספציפיות במשאביGoogle Cloud . לדוגמה, ההרשאה resourcemanager.projects.delete מאפשרת למשתמש למחוק פרויקט.

המשתמשים לא מקבלים הרשאות בצורה ישירה. כדי להעניק למשתמשים הרשאות, צריך להקצות להם תפקידים שמוגדרת להם הרשאה אחת או יותר. אתם מקצים את התפקידים האלה למשאב מסוים, אבל הם חלים גם על כל הצאצאים של המשאב הזה בהיררכיית המשאבים.

הרשאות

כדי לנהל פרויקטים, צריך להיות לכם תפקיד שכולל את ההרשאות הבאות. התפקיד מוקצה במשאב הארגון או בתיקייה שמכילה את הפרויקטים:

‏Method ההרשאות שנדרשות
resourcemanager.projects.create resourcemanager.projects.create
resourcemanager.projects.delete resourcemanager.projects.delete
resourcemanager.projects.get resourcemanager.projects.get
ההרשאה הזו גם נותנת גישה לשם של החשבון לחיוב שמשויך לפרויקט, באמצעות השיטה billing.projects.getBillingInfo ב-Billing API.
resourcemanager.projects.getIamPolicy resourcemanager.projects.getIamPolicy
resourcemanager.projects.list resourcemanager.projects.list
resourcemanager.projects.search resourcemanager.projects.get
resourcemanager.projects.setIamPolicy resourcemanager.projects.setIamPolicy
resourcemanager.projects.testIamPermissions לא נדרשת הרשאה.
resourcemanager.projects.undelete resourcemanager.projects.undelete
resourcemanager.projects.patch כדי לעדכן את המטא-נתונים של פרויקט, נדרשת ההרשאה resourcemanager.projects.update. כדי לעדכן את ההורה של הפרויקט ולהעביר את הפרויקט למשאב הארגון, צריך את ההרשאה resourcemanager.projects.create במשאב הארגון.
projects.move projects.move

שימוש בתפקידים מוגדרים מראש

תפקידים מוגדרים מראש ב-IAM מאפשרים לכם לנהל את ההרשאות שזמינות למשתמשים. במאמר הזה מפורטת רשימה מלאה של התפקידים שאפשר להקצות ברמת הפרויקט.

בטבלה הבאה מפורטים התפקידים המוגדרים מראש שאפשר להשתמש בהם כדי לתת גישה לפרויקט. כל תפקיד כולל תיאור של המטרה שלו ושל ההרשאות שהוא מכיל.

תפקיד הרשאות

(roles/resourcemanager.projectCreator)

מאפשרת ליצור פרויקטים חדשים. אחרי שמשתמש יוצר פרויקט, הוא מקבל באופן אוטומטי את תפקיד הבעלים של הפרויקט.

המשאבים ברמה הנמוכה ביותר שבהם אפשר להקצות את התפקיד הזה:

  • תיקייה

resourcemanager.organizations.get

resourcemanager.projects.create

(roles/resourcemanager.projectDeleter)

מאפשרת למחוק פרויקטים ב- Google Cloud .

המשאבים ברמה הנמוכה ביותר שבהם אפשר להקצות את התפקיד הזה:

  • פרויקט

resourcemanager.projects.delete

(roles/resourcemanager.projectMover)

מאפשרת לעדכן ולהעביר פרויקטים.

המשאבים ברמה הנמוכה ביותר שבהם אפשר להקצות את התפקיד הזה:

  • פרויקט

resourcemanager.projects.get

resourcemanager.projects.move

resourcemanager.projects.update

(roles/resourcemanager.projectIamAdmin)

הרשאות לנהל את כללי מדיניות ההרשאה בפרויקטים.

המשאבים ברמה הנמוכה ביותר שבהם אפשר להקצות את התפקיד הזה:

  • פרויקט

iam.policybindings.*

  • iam.policybindings.get
  • iam.policybindings.list

resourcemanager.projects.createPolicyBinding

resourcemanager.projects.deletePolicyBinding

resourcemanager.projects.get

resourcemanager.projects.getIamPolicy

resourcemanager.projects.searchPolicyBindings

resourcemanager.projects.setIamPolicy

resourcemanager.projects.updatePolicyBinding

(roles/browser)

גישת קריאה כדי לעיין בהיררכיה של פרויקט, כולל התיקייה, הארגון ומדיניות ההרשאה. התפקיד הזה לא כולל הרשאה לצפות במשאבים בפרויקט.

המשאבים ברמה הנמוכה ביותר שבהם אפשר להקצות את התפקיד הזה:

  • פרויקט

resourcemanager.folders.get

resourcemanager.folders.list

resourcemanager.organizations.get

resourcemanager.projects.get

resourcemanager.projects.getIamPolicy

resourcemanager.projects.list

תפקידים בסיסיים

השתמשו בתפקידים בסיסיים רק כשצריך. אלה תפקידים עם הרשאות נרחבות בכל שירותי Google Cloud . למידע נוסף על מתי להשתמש בתפקידים בסיסיים, קראו את המאמר תפקידים בסיסיים.

תפקיד תיאור הרשאות
roles/owner גישה מלאה לכל המשאבים. כל ההרשאות לכל המשאבים.
roles/editor גישת עריכה לרוב המשאבים. ליצור ולעדכן את הגישה לרוב המשאבים.
roles/viewer גישת קריאה לרוב המשאבים. קבלת גישה לרוב המשאבים והצגתם ברשימה.

יצירת תפקידים בהתאמה אישית

בנוסף לתפקידים המוגדרים מראש שמתוארים בנושא הזה, אתם יכולים גם ליצור תפקידים בהתאמה אישית, שהם אוספים של הרשאות שאתם מתאימים לצרכים שלכם. כשיוצרים תפקיד בהתאמה אישית לשימוש עם מנהל המשאבים, חשוב לשים לב לנקודות הבאות:
  • הרשאות להצגה ברשימה ולקבלת הרשאות, כמו resourcemanager.projects.get/list, תמיד צריך להעניק כזוג.
  • אם התפקיד בהתאמה אישית כולל את ההרשאות folders.list ו-folders.get, הוא צריך לכלול גם את ההרשאות projects.list ו-projects.get.
  • חשוב לדעת שההרשאה setIamPolicy למשאבים של ארגון, תיקייה ופרויקט מאפשרת למשתמש להעניק את כל ההרשאות האחרות, ולכן צריך להקצות אותה בזהירות.

בקרת גישה ברמת הפרויקט

אפשר להקצות תפקידים למשתמשים ברמת הפרויקט באמצעות Google Cloud console, ה-API של Cloud Resource Manager ו-Google Cloud CLI. איך נותנים, משנים ומבטלים הרשאות גישה?

תפקידי ברירת המחדל

כשיוצרים פרויקט, מקבלים את התפקיד roles/owner שנותן שליטה מלאה בפרויקט. אפשר לשנות את תפקיד ברירת המחדל הזה במדיניות ההרשאה.

VPC Service Controls

VPC Service Controls יכול לספק אבטחה נוספת כשמשתמשים ב-Cloud Resource Manager API. מידע נוסף על VPC Service Controls זמין בסקירה כללית על VPC Service Controls.

במאמר מוצרים נתמכים ומגבלות מפורטות המגבלות הנוכחיות בשימוש במנהל המשאבים עם VPC Service Controls.