Help Center/ Cloud Trace Service/ API Reference/ Permissions Policies and Supported Actions
Updated on 2024-12-03 GMT+08:00

Permissions Policies and Supported Actions

You can use Identity and Access Management (IAM) for fine-grained permissions management of your CTS resources. If your account does not need individual IAM users, you can skip this section.

By default, new IAM users do not have permissions assigned. You need to add a user to one or more groups, and attach permissions policies or roles to these groups. Users inherit permissions from the groups to which they are added and can perform specified operations on cloud services based on the permissions.

You can grant users permissions by using roles and policies. Roles are a type of coarse-grained authorization mechanism that defines permissions related to user responsibilities. Policies define API-based permissions for operations on specific resources under certain conditions, allowing for more fine-grained, secure access control of cloud resources.

Policy-based authorization is useful if you want to allow or deny the access to an API.

An account has all the permissions required to call all APIs, but IAM users must be assigned the required permissions. The permissions required for calling an API are determined by the actions supported by the API. Only users who have been granted permissions allowing the actions can call the API successfully. For example, if an IAM user wants to query traces using an API, the user must have been granted permissions that allow the cts:trace:list action.

Supported Actions

CTS provides system-defined policies that can be directly used in IAM. As the enterprise administrator, you can also create custom policies and use them to supplement system-defined policies, implementing more refined access control. Operations supported by policies are specific to APIs. The following are common concepts related to policies:

  • Permissions: Defined by actions in a custom policy.
  • APIs: REST APIs that can be called by a user who has been granted specific permissions.
  • Actions: Specific operations that are allowed or denied.
  • Related actions: Actions on which a specific action depends to take effect. When assigning permissions for the action to a user, you also need to assign permissions for the related actions.
  • IAM or enterprise projects: Type of projects for which an action will take effect. Policies that contain actions for both IAM and enterprise projects can be used and take effect for both IAM and Enterprise Management. Policies that only contain actions for IAM projects can be used and only take effect for IAM.

The check mark (√) and cross symbol (x) indicate that an action takes effect or does not take effect for the corresponding type of projects.

Permission

API

Action

Related Action

IAM Project

Enterprise Project

Querying a trace list

GET /v3/{project_id}/traces

cts:trace:list

-

x

Querying a trace list

GET /v2.0/{project_id}/{tracker_name}/trace

cts:trace:list

-

x

Querying a trace list

GET /v1.0/{project_id}/{tracker_name}/trace

cts:trace:list

-

x

Querying a tracker

GET /v3/{project_id}/trackers

cts:tracker:list

obs:bucket:GetBucketAcl

obs:bucket:ListAllMyBuckets

x

Querying a tracker

GET /v1.0/{project_id}/tracker

cts:tracker:list

obs:bucket:GetBucketAcl

obs:bucket:ListAllMyBuckets

x

Creating a tracker

POST /v3/{project_id}/tracker

cts:tracker:create

lts:topics:list

lts:topics:create

lts:groups:list

lts:groups:create

obs:bucket:CreateBucket

obs:bucket:HeadBucket

obs:bucket:GetLifecycleConfiguration

obs:bucket:PutLifecycleConfiguration

obs:bucket:GetBucketAcl

obs:bucket:PutBucketAclkms:cmk:list

x

Creating a tracker

POST /v1.0/{project_id}/tracker

cts:tracker:create

lts:topics:list

lts:topics:create

lts:groups:list

lts:groups:create

obs:bucket:CreateBucket

obs:bucket:HeadBucket

obs:bucket:GetLifecycleConfiguration

obs:bucket:PutLifecycleConfiguration

obs:bucket:GetBucketAcl

obs:bucket:PutBucketAclkms:cmk:list

x

Modifying a tracker

PUT /v3/{project_id}/tracker

cts:tracker:update

lts:topics:list

lts:topics:create

lts:groups:list

lts:groups:create

obs:bucket:CreateBucket

obs:bucket:HeadBucket

obs:bucket:GetLifecycleConfiguration

obs:bucket:PutLifecycleConfiguration

obs:bucket:GetBucketAcl

obs:bucket:PutBucketAcl

kms:cmk:list

x

Modifying a tracker

PUT /v1.0/{project_id}/tracker/{tracker_name}

cts:tracker:update

lts:topics:list

lts:topics:create

lts:groups:list

lts:groups:create

obs:bucket:CreateBucket

obs:bucket:HeadBucket

obs:bucket:GetLifecycleConfiguration

obs:bucket:PutLifecycleConfiguration

obs:bucket:GetBucketAcl

obs:bucket:PutBucketAcl

kms:cmk:list

x

Deleting a tracker

DELETE /v3/{project_id}/trackers

cts:tracker:delete

-

x

Deleting a tracker

DELETE /v1.0/{project_id}/tracker

cts:tracker:delete

-

x

Creating a key event notification

POST /v3/{project_id}/notifications

cts:notification:create

smn:topic:listTopic

iam:users:listUsers

iam:groups:listGroups

x

Modifying a key event notification

PUT /v3/{project_id}/notifications

cts:notification:update

smn:topic:listTopic

iam:users:listUsers

iam:groups:listGroups

x

Deleting a key event notification

DELETE /v3/{project_id}/notifications

cts:notification:delete

-

x

Querying a key event notification

GET /v3/{project_id}/notifications/{notification_type}

cts:notification:list

-

x

Querying the tracker quota

GET /v3/{project_id}/quotas

cts:quota:get

-

x

Querying all operations on a cloud service

GET /v3/{project_id}/operations

cts:notification:listOperation

-

x

Querying the audit log operator list

GET /v3/{project_id}/user-resources

cts:trace:listTraceUser

-

x

Checking whether data can be transferred to the configured OBS bucket

POST /v3/{domain_id}/checkbucket

cts:tracker:list

obs:bucket:ListAllMyBuckets

x

Querying the resources involved in the traces

GET /v3/{domain_id}/resources

cts:trace:listResource

-

x

Adding CTS resource tags in batches

POST /v3/{project_id}/{resource_type}/{resource_id}/tags/create

cts:tag:create

-

x

Deleting CTS resource tags in batches

DELETE /v3/{project_id}/{resource_type}/{resource_id}/tags/delete

cts:tag:delete

-

x