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

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

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

בדף הזה מוסבר על תפקידי IAM שזמינים ברמת התיקיות, ואיך ליצור ולנהל כללי מדיניות למשאבים בתיקיות באמצעות Cloud Resource Manager API. מידע נוסף זמין במאמר ניהול הגישה לפרויקטים, לתיקיות ולארגונים.

סקירה כללית של תפקידי IAM לתיקיות

כדי לעזור לכם להגדיר את תפקידי ה-IAM, בטבלה הבאה מפורטים:

  • סוג הפעולות שרוצים להפעיל.
  • התפקידים שנדרשים לביצוע הפעולות האלה.
  • רמת המשאב שבה צריך להחיל את התפקידים האלה.
סוגי פעולות התפקידים הנדרשים רמת המשאב
ניהול תיקיות במשאב הארגון Folder Admin משאב של הארגון
ניהול תיקייה וכל הפרויקטים והתיקיות שהיא מכילה Folder Admin תיקייה ספציפית
גישה לכללי מדיניות ההרשאות של תיקייה וניהול שלהם Folder IAM Admin תיקייה ספציפית
יצירת תיקיות חדשות Folder Creator משאב האב למיקום של התיקיות החדשות
העברת תיקיות ופרויקטים העברת תיקיות משאב האב של המיקום המקורי של התיקייה ושל המיקום החדש של התיקייה
העברת פרויקט לתיקייה חדשה עורך הפרויקט או Project Owner משאב האב של המיקום המקורי של הפרויקט ושל המיקום החדש של הפרויקט
מחיקת תיקייה עורך תיקייה או Folder Admin תיקייה ספציפית

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

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

  • מומלץ להשתמש בקבוצות כדי לנהל חשבונות משתמשים.
  • מומלץ לצמצם את השימוש בתפקידים בסיסיים כמו בעלים, עריכה וצפייה. במקום זאת, כדאי להשתמש בתפקידים מוגדרים מראש כדי להקפיד על העקרון של הרשאות מינימליות.
  • לניהול ברמת התיקייה, צריך להקצות הרשאות ברמת התיקייה ולגרום לכך שהפרויקטים יקבלו אותן בירושה באופן אוטומטי. לדוגמה, אפשר להקצות לקבוצת אדמינים של מחלקה את התפקיד Folder Admin בתיקייה. אדמינים של רשתות שצריכים הרשאות ברמת המחלקה יכולים לקבל את התפקיד אדמין רשת לתיקייה.
  • לפני שמעבירים משאב מתיקייה, חשוב לחשוב אילו הרשאות עשויות להשתנות. אחרת, אתם עלולים לגרום לשיבוש באפליקציות או בתהליכי עבודה קיימים שדורשים את ההרשאות האלה במשאב הזה.
  • חשוב לתכנן ולבדוק בקפידה את היררכיית המשאבים לפני שמעבירים פרויקטים של ייצור לתיקיות. אחת הדרכים לעשות את זה היא ליצור תיקיית בדיקה מתחת למשאב הארגון וליצור מראש אב טיפוס של ההיררכיה הרצויה.
  • אם מקצים תפקיד למשתמש ברמת התיקייה, המשתמש מקבל את התפקיד הזה גם לכל משאב שמתחת לתיקייה הזו. לדוגמה, אם נותנים למשתמש את התפקיד 'אדמין Compute'‏ (roles/compute.admin) בתיקייה, למשתמש תהיה שליטה מלאה בכל משאבי Compute Engine בכל פרויקט בתיקייה הזו.

הסבר על תפקידים והרשאות בתיקיות

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

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

כשיוצרים תיקייה, מקבלים את התפקידים Folder Admin ועורך תיקיות, שמאפשרים שליטה מלאה. בטבלה הבאה מפורטות ההרשאות שמוענקות על ידי התפקידים האלה. אפשר לשנות את תפקידי ברירת המחדל האלה במדיניות הרשאות.

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

תפקיד הרשאות

(roles/resourcemanager.folderAdmin)

ההרשאה הזו מאפשרת לבצע את כל הפעולות האפשריות בתיקיות.

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

  • תיקייה

essentialcontacts.*

  • essentialcontacts.contacts.create
  • essentialcontacts.contacts.delete
  • essentialcontacts.contacts.get
  • essentialcontacts.contacts.list
  • essentialcontacts.contacts.send
  • essentialcontacts.contacts.update

iam.policybindings.*

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

orgpolicy.constraints.list

orgpolicy.policies.list

orgpolicy.policy.get

resourcemanager.capabilities.*

  • resourcemanager.capabilities.get
  • resourcemanager.capabilities.update

resourcemanager.folders.*

  • resourcemanager.folders.create
  • resourcemanager.folders.createPolicyBinding
  • resourcemanager.folders.delete
  • resourcemanager.folders.deletePolicyBinding
  • resourcemanager.folders.get
  • resourcemanager.folders.getIamPolicy
  • resourcemanager.folders.list
  • resourcemanager.folders.move
  • resourcemanager.folders.searchPolicyBindings
  • resourcemanager.folders.setIamPolicy
  • resourcemanager.folders.undelete
  • resourcemanager.folders.update
  • resourcemanager.folders.updatePolicyBinding

resourcemanager.hierarchyNodes.*

  • resourcemanager.hierarchyNodes.createTagBinding
  • resourcemanager.hierarchyNodes.deleteTagBinding
  • resourcemanager.hierarchyNodes.listEffectiveTags
  • resourcemanager.hierarchyNodes.listTagBindings

resourcemanager.projects.createPolicyBinding

resourcemanager.projects.deletePolicyBinding

resourcemanager.projects.get

resourcemanager.projects.getIamPolicy

resourcemanager.projects.list

resourcemanager.projects.move

resourcemanager.projects.searchPolicyBindings

resourcemanager.projects.setIamPolicy

resourcemanager.projects.updatePolicyBinding

(roles/resourcemanager.folderIamAdmin)

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

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

  • תיקייה

iam.policybindings.*

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

resourcemanager.folders.createPolicyBinding

resourcemanager.folders.deletePolicyBinding

resourcemanager.folders.get

resourcemanager.folders.getIamPolicy

resourcemanager.folders.searchPolicyBindings

resourcemanager.folders.setIamPolicy

resourcemanager.folders.updatePolicyBinding

(roles/resourcemanager.folderCreator)

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

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

  • תיקייה

essentialcontacts.contacts.get

essentialcontacts.contacts.list

orgpolicy.constraints.list

orgpolicy.policies.list

orgpolicy.policy.get

resourcemanager.capabilities.get

resourcemanager.folders.create

resourcemanager.folders.get

resourcemanager.folders.list

resourcemanager.projects.get

resourcemanager.projects.list

(roles/resourcemanager.folderEditor)

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

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

  • תיקייה

essentialcontacts.contacts.get

essentialcontacts.contacts.list

orgpolicy.constraints.list

orgpolicy.policies.list

orgpolicy.policy.get

resourcemanager.capabilities.*

  • resourcemanager.capabilities.get
  • resourcemanager.capabilities.update

resourcemanager.folders.delete

resourcemanager.folders.get

resourcemanager.folders.getIamPolicy

resourcemanager.folders.list

resourcemanager.folders.searchPolicyBindings

resourcemanager.folders.undelete

resourcemanager.folders.update

resourcemanager.projects.get

resourcemanager.projects.list

(roles/resourcemanager.folderMover)