Contrôler les accès avec IAM

Vous pouvez utiliser les rôles Identity and Access Management (IAM) pour accorder des autorisations précises permettant d'afficher, d'écrire ou de gérer des ressources Cloud Trace et pour empêcher tout accès non autorisé aux données de trace.

Bonne pratique

Pour faciliter le dépannage, accordez le rôle Utilisateur Cloud Trace (roles/cloudtrace.user) à toutes les personnes, tous les groupes et tous les domaines qui doivent afficher les données de trace dans un projet. Ce rôle accorde aux principaux les autorisations dont ils ont besoin pour afficher les données de trace.

Autorisations et rôles prédéfinis

Les rôles IAM sont associés à des autorisations. Ils peuvent être attribués aux utilisateurs, aux groupes et aux comptes de service.

Rôles Cloud Trace

Le tableau suivant répertorie les rôles prédéfinis pour Cloud Trace, ainsi que les autorisations associées :

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

Rôles de l'API Telemetry

Le tableau suivant répertorie les rôles prédéfinis pour l' API Telemetry (OTLP), ainsi que les autorisations associées :

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

Créer des rôles personnalisés

Pour créer un rôle personnalisé incluant des autorisations Cloud Trace, procédez comme suit :

  • Pour créer un rôle qui ne contient que des autorisations permettant d'utiliser l'API Cloud Trace, sélectionnez les autorisations spécifiques requises par vos appels d'API.
  • Pour créer un rôle qui contient des autorisations permettant d'utiliser l'API Cloud Trace et la Google Cloud console, choisissez des groupes d'autorisations à partir de l'un des rôles Cloud Trace prédéfinis.
  • Pour accorder des autorisations d'écriture de données de trace, copiez les autorisations du rôle Agent Cloud Trace (roles/cloudtrace.agent).

Pour en savoir plus sur les rôles personnalisés, consultez la page Créer et gérer des rôles personnalisés.

Autorisations pour les méthodes API

Pour en savoir plus sur les autorisations requises pour exécuter un appel d'API, consultez la documentation de référence de l'API Cloud Trace :

Rôles pour le traçage entre projets

Vos applications peuvent stocker des données de trace dans plusieurs Google Cloud projets. Toutefois, vous pouvez afficher ces données dans un seul projet en procédant comme suit :

Pour en savoir plus, consultez la page Afficher les traces entre projets.