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

בדף הזה מוסבר על התפקידים בניהול הזהויות והרשאות הגישה (IAM) שבהם אפשר להשתמש כדי להגדיר את Secret Manager. תפקידים מגבילים את היכולת של חשבון משתמש לגשת למשאבים. תמיד צריך להעניק את קבוצת ההרשאות המינימלית שנדרשת לביצוע משימה מסוימת.

תפקידים ב-Secret Manager

אלה תפקידי ה-IAM שמשויכים ל-Secret Manager. במאמר הענקה, שינוי וביטול גישה למשאבים מוסבר איך נותנים לחשבונות משתמשים תפקידים, משנים אותם או מבטלים את הגישה אליהם.

Role Permissions

(roles/secretmanager.admin)

Full access to administer Secret Manager resources.

Lowest-level resources where you can grant this role:

  • Secret

cloudkms.keyHandles.*

  • cloudkms.keyHandles.create
  • cloudkms.keyHandles.get
  • cloudkms.keyHandles.list

cloudkms.operations.get

cloudkms.projects.showEffectiveAutokeyConfig

resourcemanager.projects.get

resourcemanager.projects.list

secretmanager.*

  • secretmanager.locations.get
  • secretmanager.locations.list
  • secretmanager.secrets.create
  • secretmanager.secrets.createTagBinding
  • secretmanager.secrets.delete
  • secretmanager.secrets.deleteTagBinding
  • secretmanager.secrets.get
  • secretmanager.secrets.getIamPolicy
  • secretmanager.secrets.list
  • secretmanager.secrets.listEffectiveTags
  • secretmanager.secrets.listTagBindings
  • secretmanager.secrets.setIamPolicy
  • secretmanager.secrets.update
  • secretmanager.versions.access
  • secretmanager.versions.add
  • secretmanager.versions.destroy
  • secretmanager.versions.disable
  • secretmanager.versions.enable
  • secretmanager.versions.get
  • secretmanager.versions.list

(roles/secretmanager.secretAccessor)

Allows accessing the payload of secrets.

Lowest-level resources where you can grant this role:

  • Secret

resourcemanager.projects.get

resourcemanager.projects.list

secretmanager.versions.access

(roles/secretmanager.viewer)

Allows viewing metadata of all Secret Manager resources

Lowest-level resources where you can grant this role:

  • Secret

resourcemanager.projects.get

resourcemanager.projects.list

secretmanager.locations.*

  • secretmanager.locations.get
  • secretmanager.locations.list

secretmanager.secrets.get

secretmanager.secrets.getIamPolicy

secretmanager.secrets.list

secretmanager.secrets.listEffectiveTags

secretmanager.secrets.listTagBindings

secretmanager.versions.get

secretmanager.versions.list

(roles/secretmanager.secretVersionAdder)

Allows adding versions to existing secrets.

Lowest-level resources where you can grant this role:

  • Secret

resourcemanager.projects.get

resourcemanager.projects.list

secretmanager.versions.add

(roles/secretmanager.secretVersionManager)

Allows creating and managing versions of existing secrets.

Lowest-level resources where you can grant this role:

  • Secret

resourcemanager.projects.get

resourcemanager.projects.list

secretmanager.versions.add

secretmanager.versions.destroy

secretmanager.versions.disable

secretmanager.versions.enable

secretmanager.versions.get

secretmanager.versions.list

העיקרון של הרשאות מינימליות

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

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

בטבלה הבאה מוצגות היכולות האפקטיביות של חשבון שירות, בהתאם לרמה בהיררכיית המשאבים שבה מוענק התפקיד Secret Manager Secret Accessor‏ (roles/secretmanager.secretAccessor).

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

התפקיד roles/owner כולל את ההרשאה `secretmanager.versions.access`, אבל התפקידים roles/editor ו-roles/viewer לא כוללים אותה.

אם חשבון המשתמש צריך גישה רק לערך של סוד אחד, אל תעניקו לו גישה לכל הסודות. לדוגמה, אפשר לתת לחשבון שירות את התפקיד Secret Manager Secret Accessor (roles/secretmanager.secretAccessor) בסוד יחיד.

אם לחשבון משתמש מסוים נדרשת רק גישה לניהול סוד אחד, אל תקצו לו הרשאה לניהול כל הסודות. לדוגמה, אפשר לתת לחשבון שירות את התפקיד Secret Manager Admin‏ (roles/secretmanager.admin) בסוד יחיד.

תנאים לניהול הזהויות והרשאות הגישה

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

ב-Secret Manager, אפשר לאכוף גישה מותנית על סמך המאפיינים הבאים:

  • מאפייני תאריך/שעה: משמשים להגדרת גישה עם תאריך תפוגה, מתוזמנת או לזמן מוגבל למשאבים ב-Secret Manager. לדוגמה, אפשר לאפשר למשתמש גישה לסוד עד לתאריך מסוים.
  • מאפייני משאבים: משמשים להגדרת גישה מותנית על סמך מאפיינים של שם המשאב, סוג המשאב או שירות המשאב. ב-Secret Manager, אפשר להשתמש במאפיינים של סודות וגרסאות סודות כדי להגדיר גישה מותנית. לדוגמה, אתם יכולים לאפשר למשתמש לנהל גרסאות של סודות רק בסודות שמתחילים בקידומת ספציפית, או לאפשר למשתמש לגשת רק לגרסה ספציפית של סוד.

מידע נוסף על תנאי IAM מופיע במאמר סקירה כללית של התנאים.

המאמרים הבאים