You can use Identity and Access Management (IAM) roles to grant granular permissions for viewing, writing, or managing Cloud Trace resources and preventing unauthorized access to trace data.
- For information about granting IAM roles to a user or service account, see Manage access to projects, folders, and organizations.
- For information about predefined roles, see IAM: Roles and permissions.
- For help choosing the most appropriate predefined roles, see Choose predefined roles.
Best practice
To facilitate troubleshooting, grant the
Cloud Trace User role (roles/cloudtrace.user) to
all people, groups, and domains that need to view trace data in a project.
This role gives principals the permissions they need to view trace data.
Permissions and predefined roles
IAM roles include permissions and can be assigned to users, groups, and service accounts.
Cloud Trace roles
The following table lists the predefined roles for Cloud Trace, and it lists the permissions for those roles:
| Role | Permissions |
|---|---|
Cloud Trace Admin( Provides full access to the Trace console and read-write access to traces. Lowest-level resources where you can grant this role:
|
|
Cloud Trace User( Provides full access to the Trace console and read access to traces. Lowest-level resources where you can grant this role:
|
|
Cloud Trace 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:
|
|
Telemetry API roles
The following table lists the predefined roles for the Telemetry (OTLP) API, and it lists the permissions for those roles:
| Role | Permissions |
|---|---|
Telemetry Admin( Admin role for telemetry |
|
Telemetry Editor( Editor role for telemetry |
|
Consumer Admin Beta( Grants permission management access to consumer resources. |
|
Cloud Telemetry Logs Writer Beta( Access to write logs. |
|
Cloud Telemetry Metrics Writer( Access to write metrics. |
|
Integrated Service Telemetry Logs Writer Beta( Allows an onboarded service to write log data to a destination. |
|
Integrated Service Telemetry Metrics Writer Beta( Allows an onboarded service to write metrics data to a destination. |
|
Integrated Service Telemetry Writer Beta( Allows an onboarded service to write all telemetry data to a destination. |
|
Integrated Service Telemetry Traces Writer Beta( Allows an onboarded service to write trace data to a destination. |
|
Cloud Telemetry Traces Writer( Access to write trace spans. |
|
Cloud Telemetry Writer( Full access to write all telemetry data. |
|
Create custom roles
To create a custom role that includes Cloud Trace permissions, do the following:
- To create a role that contains only permissions to use the Cloud Trace API, select the specific permissions required by your API calls.
- To create a role that contains permissions to use the Cloud Trace API and the Google Cloud console, choose permission groups from one of the predefined Cloud Trace roles.
- To grant the ability to write trace data, copy the permissions from
the Cloud Trace Agent role (
roles/cloudtrace.agent).
For more information about custom roles, see Create and manage custom roles.
Permissions for API methods
For information about the permissions required to execute an API call, see the Cloud Trace API reference documentation:
Roles for cross-project tracing
Your applications might store trace data in multiple Google Cloud projects. However, you can view this data in a single project when you do the following:
In the project where you want to view trace data, you configure a trace scope. To configure this scope, you must have the Observability Scopes Editor role (
roles/observability.scopesEditor).In the project where you want to view trace data and in all projects that store trace data, you have the Cloud Trace User role (
roles/cloudtrace.user).
For more information, see View traces across projects.