使用 IAM 控管存取權

您可以使用 Identity and Access Management (IAM) 角色,授予檢視、寫入或管理 Cloud Trace 資源的精細權限,並防止未經授權存取追蹤記錄資料。

最佳做法

為方便進行疑難排解,請為需要查看專案中追蹤資料的所有人員、群組和網域,授予 Cloud Trace 使用者角色 (roles/cloudtrace.user)。這個角色會授予主體查看追蹤資料所需的權限。

權限和預先定義的角色

身分與存取權管理角色包含權限,可以指派給使用者、群組和服務帳戶。

Cloud Trace 角色

下表列出 Cloud Trace 的預先定義角色,以及這些角色的權限:

Role Permissions

(roles/cloudtrace.admin)

Provides full access to the Trace console and read-write access to traces.

Lowest-level resources where you can grant this role:

  • Project

cloudtrace.*

  • cloudtrace.insights.get
  • cloudtrace.insights.list
  • cloudtrace.stats.get
  • cloudtrace.tasks.create
  • cloudtrace.tasks.delete
  • cloudtrace.tasks.get
  • cloudtrace.tasks.list
  • cloudtrace.traceScopes.create
  • cloudtrace.traceScopes.delete
  • cloudtrace.traceScopes.get
  • cloudtrace.traceScopes.list
  • cloudtrace.traceScopes.update
  • cloudtrace.traces.get
  • cloudtrace.traces.list
  • cloudtrace.traces.patch

observability.scopes.get

observability.traceScopes.*

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

resourcemanager.projects.get

resourcemanager.projects.list

telemetry.traces.write

(roles/cloudtrace.user)

Provides full access to the Trace console and read access to traces.

Lowest-level resources where you can grant this role:

  • Project

cloudtrace.insights.*

  • cloudtrace.insights.get
  • cloudtrace.insights.list

cloudtrace.stats.get

cloudtrace.tasks.*

  • cloudtrace.tasks.create
  • cloudtrace.tasks.delete
  • cloudtrace.tasks.get
  • cloudtrace.tasks.list

cloudtrace.traceScopes.*

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

cloudtrace.traces.get

cloudtrace.traces.list

observability.scopes.get

observability.traceScopes.*

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

resourcemanager.projects.get

resourcemanager.projects.list

(roles/cloudtrace.agent)

For service accounts. Provides ability to write traces by sending the data to Stackdriver Trace.

Lowest-level resources where you can grant this role:

  • Project

cloudtrace.traces.patch

telemetry.traces.write

Telemetry API 角色

下表列出 Telemetry (OTLP) API 的預先定義角色,以及這些角色的權限:

Role Permissions

(roles/telemetry.admin)

Admin role for telemetry

resourcemanager.projects.get

resourcemanager.projects.list

telemetry.*

  • telemetry.consumers.getIamPolicy
  • telemetry.consumers.setIamPolicy
  • telemetry.consumers.writeLogs
  • telemetry.consumers.writeMetrics
  • telemetry.consumers.writeTraces
  • telemetry.traces.write

(roles/telemetry.editor)

Editor role for telemetry

resourcemanager.projects.get

resourcemanager.projects.list

telemetry.traces.write

(roles/telemetry.consumerAdmin)

Grants permission management access to consumer resources.

telemetry.consumers.getIamPolicy

telemetry.consumers.setIamPolicy

(roles/telemetry.logsWriter)

Access to write logs.

logging.logEntries.create

(roles/telemetry.metricsWriter)

Access to write metrics.

monitoring.timeSeries.create

(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.

logging.logEntries.create

monitoring.timeSeries.create

telemetry.traces.write

建立自訂角色

如要建立擁有 Cloud Trace 權限的自訂角色,請執行下列步驟:

  • 如要建立僅含 Cloud Trace API 使用權限的角色,請選取 API 呼叫所需的特定權限。
  • 如要建立含有 Cloud Trace API 和Google Cloud 主控台使用權限的角色,請從預先定義的 Cloud Trace 角色中選擇權限群組。
  • 如要授予寫入追蹤記錄資料的權限,請從 Cloud Trace 代理程式角色 (roles/cloudtrace.agent) 複製權限。

如要進一步瞭解自訂角色,請參閱「建立及管理自訂角色」一文。

API 方法的權限

如要瞭解執行 API 呼叫所需的權限,請參閱 Cloud Trace API 參考文件:

跨專案追蹤的角色

您的應用程式可能會將追蹤記錄資料儲存在多個 Google Cloud 專案中。 不過,只要執行下列操作,您就能在單一專案中查看這項資料:

詳情請參閱「查看跨專案的追蹤記錄」。