Controlar o acesso com o IAM

É possível usar os pap0}éis do gerenciamento de identidade e acesso (IAM) para conceder permissões granulares para visualizar, gravar ou gerenciar recursos do Cloud Trace e impedir o acesso não autorizado a dados de trace.

Prática recomendada

Para facilitar a solução de problemas, conceda o papel de usuário do Cloud Trace (roles/cloudtrace.user) a todas as pessoas, grupos e domínios que precisam visualizar dados de trace em um projeto. Esse papel concede aos principais as permissões necessárias para visualizar dados de trace.

Permissões e papéis predefinidos

Os papéis do IAM incluem permissões e podem ser atribuídos a usuários, grupos e contas de serviço.

Papéis do Cloud Trace

A tabela a seguir lista os papéis predefinidos do Cloud Trace e as permissões deles:

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

Papéis da API Telemetry

A tabela a seguir lista os papéis predefinidos da API Telemetry (OTLP), e as permissões deles:

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

Criar funções personalizadas

Para criar um papel personalizado que inclua permissões do Cloud Trace, faça o seguinte:

  • Para criar um papel que contenha apenas permissões para usar a API Cloud Trace, selecione as permissões específicas exigidas pelas chamadas de API.
  • Para criar um papel que contenha permissões para usar a API Cloud Trace e o Google Cloud console, escolha grupos de permissões de um dos papéis predefinidos do Cloud Trace.
  • Para conceder a capacidade de gravar dados de trace, copie as permissões do papel de agente do Cloud Trace (roles/cloudtrace.agent).

Para mais informações sobre papéis personalizados, consulte Criar e gerenciar papéis personalizados.

Permissões para métodos de API

Para informações sobre as permissões necessárias para executar uma chamada de API, consulte a documentação de referência da API Cloud Trace:

Papéis para rastreamento entre projetos

Seus aplicativos podem armazenar dados de trace em vários Google Cloud projetos. No entanto, é possível visualizar esses dados em um único projeto quando você faz o seguinte:

Para mais informações, consulte Visualizar traces em projetos.