IAM으로 액세스 제어

Identity and Access Management (IAM) 역할을 사용하여 Cloud Trace 리소스를 보거나, 쓰고, 관리하는 세분화된 권한을 부여하고 trace 데이터에 대한 무단 액세스를 방지할 수 있습니다.

권장사항

문제 해결을 용이하게 하려면 프로젝트에서 trace 데이터를 봐야 하는 모든 사용자, 그룹, 도메인에 Cloud Trace 사용자 역할 (roles/cloudtrace.user)을 부여하세요. 이 역할은 보안 주체에게 trace 데이터를 보는 데 필요한 권한을 부여합니다.

권한 및 사전 정의된 역할

IAM 역할은 권한을 포함하며 사용자, 그룹, 서비스 계정에 할당될 수 있습니다.

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 역할 중 하나에서 권한 그룹을 선택합니다.
  • trace 데이터 쓰기 권한을 부여하려면 Cloud Trace 에이전트 역할 (roles/cloudtrace.agent)에서 권한을 복사합니다.

커스텀 역할에 대한 자세한 내용은 커스텀 역할 만들기 및 관리를 참조하세요.

API 메서드에 대한 권한

API 호출을 실행하는 데 필요한 권한에 대한 자세한 내용은 Cloud Trace API 참고 문서를 참조하세요.

교차 프로젝트 trace 역할

애플리케이션은 여러 Google Cloud 프로젝트에 trace 데이터를 저장할 수 있습니다. 하지만 다음을 수행하면 단일 프로젝트에서 이 데이터를 볼 수 있습니다.

자세한 내용은 프로젝트 간 trace 보기를 참조하세요.