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

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

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

הגורם המורשה יכול להיות כל אחד מהבאים:

  • חשבון משתמש
  • חשבון שירות
  • קבוצת Google Workspace
  • דומיין של Google Workspace
  • דומיין ב-Cloud Identity

סוגים של מדיניות IAM

‫IAM תומך בסוגי המדיניות הבאים:

  • כללי מדיניות הרשאות: הקצאת תפקידים לחשבונות משתמשים. פרטים נוספים זמינים במאמר בנושא מדיניות הרשאות.
  • כללי מדיניות הדחייה: מונעים מחשבונות משתמשים להשתמש בהרשאות ספציפיות ב-IAM, ללא קשר לתפקידים שהוקצו להם. פרטים נוספים זמינים במאמר בנושא מדיניות דחייה.

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

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

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

תפקידים מוגדרים מראש ל-Google Cloud Observability מכילים הרשאות לתכונות שמשמשות בכמה קטגוריות מוצר. לכן, יכול להיות שתראו הרשאות מסוימות, כמו observability.scopes.get, שכלולות בתפקידים מוגדרים מראש באזורים האלה של המוצר. לדוגמה, התפקיד Logs Viewer (צפייה ביומנים) (roles/logging.viewer) כולל את ההרשאה observability.scopes.get בנוסף להרשאות רבות שספציפיות לרישום ביומן.

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

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

תפקידים של ניראות (observability)

Role Permissions

(roles/observability.admin)

Full access to Observability resources.

observability.*

  • observability.analyticsViews.create
  • observability.analyticsViews.delete
  • observability.analyticsViews.get
  • observability.analyticsViews.list
  • observability.analyticsViews.update
  • observability.buckets.create
  • observability.buckets.delete
  • observability.buckets.get
  • observability.buckets.list
  • observability.buckets.undelete
  • observability.buckets.update
  • observability.datasets.create
  • observability.datasets.delete
  • observability.datasets.get
  • observability.datasets.list
  • observability.datasets.undelete
  • observability.datasets.update
  • observability.links.create
  • observability.links.delete
  • observability.links.get
  • observability.links.list
  • observability.links.update
  • observability.locations.get
  • observability.locations.list
  • observability.operations.cancel
  • observability.operations.delete
  • observability.operations.get
  • observability.operations.list
  • observability.scopes.get
  • observability.scopes.update
  • observability.settings.get
  • observability.settings.update
  • observability.traceScopes.create
  • observability.traceScopes.delete
  • observability.traceScopes.get
  • observability.traceScopes.list
  • observability.traceScopes.update
  • observability.views.access
  • observability.views.create
  • observability.views.delete
  • observability.views.get
  • observability.views.list
  • observability.views.update

(roles/observability.analyticsUser)

Grants permissions to use Cloud Observability Analytics.

logging.queries.getShared

logging.queries.listShared

logging.queries.usePrivate

observability.analyticsViews.*

  • observability.analyticsViews.create
  • observability.analyticsViews.delete
  • observability.analyticsViews.get
  • observability.analyticsViews.list
  • observability.analyticsViews.update

observability.buckets.get

observability.buckets.list

observability.datasets.get

observability.datasets.list

observability.links.get

observability.links.list

observability.locations.*

  • observability.locations.get
  • observability.locations.list

observability.operations.get

observability.operations.list

observability.scopes.get

observability.settings.get

observability.traceScopes.get

observability.traceScopes.list

observability.views.get

observability.views.list

(roles/observability.editor)

Edit access to Observability resources.

observability.analyticsViews.*

  • observability.analyticsViews.create
  • observability.analyticsViews.delete
  • observability.analyticsViews.get
  • observability.analyticsViews.list
  • observability.analyticsViews.update

observability.buckets.create

observability.buckets.get

observability.buckets.list

observability.buckets.update

observability.datasets.create

observability.datasets.get

observability.datasets.list

observability.datasets.update

observability.links.*

  • observability.links.create
  • observability.links.delete
  • observability.links.get
  • observability.links.list
  • observability.links.update

observability.locations.*

  • observability.locations.get
  • observability.locations.list

observability.operations.*

  • observability.operations.cancel
  • observability.operations.delete
  • observability.operations.get
  • observability.operations.list

observability.scopes.*

  • observability.scopes.get
  • observability.scopes.update

observability.settings.*

  • observability.settings.get
  • observability.settings.update

observability.traceScopes.*

  • observability.traceScopes.create
  • observability.traceScopes.delete
  • observability.traceScopes.get
  • observability.traceScopes.list
  • observability.traceScopes.update

observability.views.create

observability.views.delete

observability.views.get

observability.views.list

observability.views.update

(roles/observability.scopesEditor)

Grants permission to view and edit Observability, Logging, Trace, and Monitoring scopes

logging.logScopes.*

  • logging.logScopes.create
  • logging.logScopes.delete
  • logging.logScopes.get
  • logging.logScopes.list
  • logging.logScopes.update

monitoring.metricsScopes.link

observability.scopes.*

  • observability.scopes.get
  • observability.scopes.update

observability.traceScopes.*

  • observability.traceScopes.create
  • observability.traceScopes.delete
  • observability.traceScopes.get
  • observability.traceScopes.list
  • observability.traceScopes.update

(roles/observability.serviceAgent)

Grants Observability service account the ability to list, create and link datasets in the consumer project.

bigquery.datasets.create

bigquery.datasets.get

bigquery.datasets.link

(roles/observability.viewAccessor)

Read only access to data defined by an Observability View.

observability.views.access

(roles/observability.viewer)

Read only access to Observability resources.

observability.analyticsViews.get

observability.analyticsViews.list

observability.buckets.get

observability.buckets.list

observability.datasets.get

observability.datasets.list

observability.links.get

observability.links.list

observability.locations.*

  • observability.locations.get
  • observability.locations.list

observability.operations.get

observability.operations.list

observability.scopes.get

observability.settings.get

observability.traceScopes.get

observability.traceScopes.list

observability.views.get

observability.views.list

תפקידים ב-Telemetry API

Role Permissions

(roles/telemetry.consumerAdmin)

Grants permission management access to consumer resources.

telemetry.consumers.getIamPolicy

telemetry.consumers.setIamPolicy

(roles/telemetry.logsWriter)

Access to write logs.

telemetry.logs.write

(roles/telemetry.metricsWriter)

Access to write metrics.

telemetry.metrics.write

(roles/telemetry.serviceLogsWriter)

Allows an onboarded service to write log data to a destination.

telemetry.consumers.writeLogs

(roles/telemetry.serviceMetricsWriter)

Allows an onboarded service to write metrics data to a destination.

telemetry.consumers.writeMetrics

(roles/telemetry.serviceTelemetryWriter)

Allows an onboarded service to write all telemetry data to a destination.

telemetry.consumers.writeLogs

telemetry.consumers.writeMetrics

telemetry.consumers.writeTraces

(roles/telemetry.serviceTracesWriter)

Allows an onboarded service to write trace data to a destination.

telemetry.consumers.writeTraces

(roles/telemetry.tracesWriter)

Access to write trace spans.

telemetry.traces.write

(roles/telemetry.writer)

Full access to write all telemetry data.

telemetry.logs.write

telemetry.metrics.write

telemetry.traces.write

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