Zugriff mit IAM steuern

Mit IAM-Rollen (Identity and Access Management) können Sie detaillierte Berechtigungen zum Ansehen, Schreiben oder Verwalten von Cloud Trace- Ressourcen gewähren und unbefugten Zugriff auf Trace-Daten verhindern.

Best Practice

Um die Fehlerbehebung zu erleichtern, weisen Sie allen Personen, Gruppen und Domains, die Trace-Daten in einem Projekt ansehen müssen, die Rolle „Cloud Trace-Nutzer“ (roles/cloudtrace.user) zu. Diese Rolle gewährt den Principals die Berechtigungen, die sie zum Ansehen von Trace-Daten benötigen.

Berechtigungen und vordefinierte Rollen

IAM-Rollen enthalten Berechtigungen und können Nutzern, Gruppen und Dienstkonten zugewiesen werden.

Cloud Trace-Rollen

In der folgenden Tabelle sind die vordefinierten Rollen für Cloud Trace und die Berechtigungen für diese Rollen aufgeführt:

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-Rollen

In der folgenden Tabelle sind die vordefinierten Rollen für die Telemetry (OTLP) API, und die Berechtigungen für diese Rollen aufgeführt:

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

Benutzerdefinierte Rollen erstellen

So erstellen Sie eine benutzerdefinierte Rolle, die Cloud Trace-Berechtigungen enthält:

  • Wenn Sie eine Rolle erstellen möchten, die nur Berechtigungen zur Verwendung der Cloud Trace API enthält, wählen Sie die spezifischen Berechtigungen aus, die für Ihre API-Aufrufe erforderlich sind.
  • Wenn Sie eine Rolle erstellen möchten, die Berechtigungen zur Verwendung der Cloud Trace API und der Google Cloud Konsole enthält, wählen Sie Berechtigungsgruppen aus einer der vordefinierten Cloud Trace-Rollen aus.
  • Wenn Sie die Berechtigung zum Schreiben von Trace-Daten gewähren möchten, kopieren Sie die Berechtigungen aus der Rolle „Cloud Trace-Agent“ (roles/cloudtrace.agent).

Weitere Informationen zu benutzerdefinierten Rollen finden Sie unter Benutzerdefinierte Rollen erstellen und verwalten.

Berechtigungen für API-Methoden

Informationen zu den Berechtigungen, die zum Ausführen eines API-Aufrufs erforderlich sind, finden Sie in der Referenzdokumentation zur Cloud Trace API:

Rollen für projektübergreifendes Tracing

Ihre Anwendungen speichern möglicherweise Trace-Daten in mehreren Google Cloud Projekten. Sie können diese Daten jedoch in einem einzelnen Projekt ansehen, wenn Sie Folgendes tun:

Weitere Informationen finden Sie unter Traces projektübergreifend ansehen.