Updated on 2025-04-01 GMT+08:00

Application Performance Management (APM)

The Organizations service provides Service Control Policies (SCPs) to set access control policies.

SCPs do not actually grant any permissions to a principal. They only set the permissions boundary for the principal. When SCPs are attached to a member account or an organizational unit (OU), they do not directly grant permissions to that member account or OU. Instead, the SCPs just determine what permissions are available for that member account or the member accounts under that OU.

This section describes the elements used by Organizations SCPs. The elements include actions, resources, and conditions.

For details about how to use these elements to create a custom SCP, see Creating an SCP.

Actions

Actions are specific operations that are allowed or denied in an SCP.

  • The Access Level column describes how the action is classified (List, Read, or Write). This classification helps you understand the level of access that an action grants when you use it in an SCP.
  • The Resource Type column indicates whether the action supports resource-level permissions.
    • You can use a wildcard (*) to indicate all resource types. If this column is empty (-), the action does not support resource-level permissions, and you must specify all resources ("*") in your SCP statements.
    • If this column includes a resource type, you must specify the URN in the Resource element of your statements.
    • Required resources are marked with asterisks (*) in the table. If you specify a resource in a statement using this action, then it must be of this type.

    For details about the resource types defined by APM, see Resources.

  • The Condition Key column contains keys that you can specify in the Condition element of an SCP statement.
    • If the Resource Type column has values for an action, the condition key takes effect only for the listed resource types.
    • If the Resource Type column is empty (-) for an action, the condition key takes effect for all resources that action supports.
    • If the Condition Key column is empty (-) for an action, the action does not support any condition keys.

    For details about the condition keys defined by APM, see Conditions.

The following table lists the actions that you can define in SCP statements for APM.

Table 1 Supported actions

Action

Description

Access Level

Resource Type (*: required)

Condition Key

apm:application:list

Grants permission to obtain the information about the application list.

List

-

-

apm:application:getService

Grants permission to obtain service information.

Read

-

g:EnterpriseProjectId

apm::retrieveCredential

Grants permission to obtain an access credential.

Permission_management

-

-

apm::createCredential

Grants permission to create an access credential.

Permission_management

-

-

apm::deleteCredential

Grants permission to delete an access credential.

Permission_management

-

-

apm:application:get

Grants permission to obtain the information about an application.

Read

-

g:EnterpriseProjectId

apm:application:updateInstance

Grants permission to modify an instance.

Write

-

g:EnterpriseProjectId

apm:application:deleteInstance

Grants permission to delete an instance.

Write

-

g:EnterpriseProjectId

apm:application:getInstance

Grants permission to obtain instance data.

Read

-

g:EnterpriseProjectId

apm:application:getEnv

Grants permission to obtain environment information.

Read

-

g:EnterpriseProjectId

apm:application:getMonitorItemConf

Grants permission to obtain monitoring item configurations.

Read

-

g:EnterpriseProjectId

apm:application:updateMonitorItemConf

Grants permission to modify monitoring item configurations.

Write

-

g:EnterpriseProjectId

apm:application:delete

Grants permission to delete an application.

Write

-

g:EnterpriseProjectId

apm::getTopology

Grants permission to obtain topology data.

Read

-

-

apm::updateConf

Grants permission to modify configurations.

Write

-

-

apm:application:getTransaction

Grants permission to obtain transaction data.

Read

-

g:EnterpriseProjectId

apm::createAdminInfo

Grants permission to create system management information.

Write

-

g:EnterpriseProjectId

apm:application:update

Grants permission to modify an application.

Write

-

g:EnterpriseProjectId

apm::getConf

Grants permission to obtain configurations.

Read

-

-

apm:application:getTraceEvents

Grants permission to obtain the data of self-developed tracing.

Write

-

g:EnterpriseProjectId

apm:application:listTagsForResource

Grants permission to query the application tag list.

Read

application *

-

-

g:ResourceTag/<tag-key>

apm:application:tagResource

Grants permission to create application tags.

Tagging

application *

-

-

g:ResourceTag/<tag-key>

apm:application:unTagResource

Grants permission to delete application tags.

Tagging

application *

-

-

g:ResourceTag/<tag-key>

apm:application:create

Grants permission to create an application.

Write

-

g:EnterpriseProjectId

apm::deleteAdminInfo

Grants permission to delete system management information.

Write

-

-

apm::getAdminInfo

Grants permission to query system management information.

Read

-

-

apm::updateAdminInfo

Grants permission to update system management information.

Write

-

-

apm::getAlarmData

Grants permission to obtain alarm data.

Read

-

-

apm::createAlarmRule

Grants permission to create an alarm rule.

Write

-

-

apm::deleteAlarmRule

Grants permission to delete an alarm rule.

Write

-

-

apm::getAlarmRule

Grants permission to query an alarm rule.

Read

-

-

apm::listAlarmRule

Grants permission to query the alarm rule list.

List

-

-

apm::updateAlarmRule

Grants permission to modify an alarm rule.

Write

-

-

apm::updateCredential

Grants permission to modify an access credential.

Permission_management

-

-

Each API of APM usually supports one or more actions. Table 2 lists the supported actions and dependencies.

Table 2 Actions and dependencies supported by APM APIs

API

Action

Dependency

-

apm:application:list

-

GET /v1/apm2/access-keys

apm::retrieveCredential

-

POST /v1/apm2/access-keys

apm::createCredential

-

DELETE /v1/apm2/access-keys/{ak}

apm::deleteCredential

-

POST /v1/apm2/openapi/alarm/data/get-alarm-data-list

apm:application:get

-

POST /v1/apm2/openapi/alarm/data/get-alarm-notify-list

apm:application:get

-

POST /v1/apm2/openapi/apm-service/agent-mgr/change-status

apm:application:updateInstance

-

POST /v1/apm2/openapi/apm-service/agent-mgr/delete-agent

apm:application:deleteInstance

-

POST /v1/apm2/openapi/apm-service/agent-mgr/search

apm:application:getInstance

-

POST /v1/apm2/openapi/apm-service/app-mgr/search

apm:application:getEnv

-

POST /v1/apm2/openapi/apm-service/monitor-item-mgr/get-env-monitor-item-list

apm:application:getMonitorItemConf

-

GET /v1/apm2/openapi/apm-service/monitor-item-mgr/get-monitor-item-detail

apm:application:getMonitorItemConf

-

POST /v1/apm2/openapi/apm-service/monitor-item-mgr/save-monitor-item-config

apm:application:updateMonitorItemConf

-

DELETE /v1/apm2/openapi/cmdb/apps/delete-app/{application_id}

apm:application:delete

-

GET /v1/apm2/openapi/cmdb/apps/get-apps

apm:application:get

-

GET /v1/apm2/openapi/cmdb/business/get-business-detail/{business_id}

apm:application:get

-

GET /v1/apm2/openapi/cmdb/business/get-business-list

apm:application:list

-

GET /v1/apm2/openapi/cmdb/envs/get-app-envs

apm:application:getEnv

-

GET /v1/apm2/openapi/cmdb/sub-business/get-sub-business-detail/{sub_business_id}

apm:application:get

-

POST /v1/apm2/openapi/cmdb/tag/get-env-tag-list

apm:application:get

-

GET /v1/apm2/openapi/cmdb/topology-trees/get-topology-trees

apm::getTopology

-

GET /v1/apm2/openapi/region/get-all-supported-region

apm:application:getService

-

GET /v1/apm2/openapi/region/get-opened-region

apm:application:getService

-

-

apm::updateConf

-

GET /v1/apm2/openapi/systemmng/get-ak-sk-list

apm::retrieveCredential

-

GET /v1/apm2/openapi/systemmng/get-master-address

apm:application:getService

-

POST /v1/apm2/openapi/topology/business-search

apm:application:getTransaction

-

POST /v1/apm2/openapi/topology/env-search

apm:application:getTransaction

-

POST /v1/apm2/openapi/tracing/access/get-access-point/{business_id}

apm:application:get

-

POST /v1/apm2/openapi/tracing/business/create

apm::createAdminInfo

-

GET /v1/apm2/openapi/tracing/business/token/{business_id}

apm:application:update

-

POST /v1/apm2/openapi/transaction/business-env

apm:application:get

-

POST /v1/apm2/openapi/transaction/detail

apm:application:getTransaction

-

POST /v1/apm2/openapi/transaction/search

apm:application:getTransaction

-

POST /v1/apm2/openapi/transaction/transaction-config-search

apm:application:getTransaction

-

GET /v1/apm2/openapi/view/config/get-monitor-item-view-config

apm::getConf

-

POST /v1/apm2/openapi/view/mainview/get-env-instance-list

apm:application:getInstance

-

GET /v1/apm2/openapi/view/mainview/get-env-monitor-item-list

apm:application:getMonitorItemConf

-

POST /v1/apm2/openapi/view/metric/get-clob-detail

apm::getConf

-

POST /v1/apm2/openapi/view/metric/raw-table

apm::getConf

-

POST /v1/apm2/openapi/view/metric/sum-table

apm::getConf

-

POST /v1/apm2/openapi/view/metric/trend

apm::getConf

-

POST /v1/apm2/openapi/view/profiling/flame-line-tree

apm::getTopology

-

GET /v1/apm2/openapi/view/trace/get-event-detail

apm:application:getTraceEvents

-

GET /v1/apm2/openapi/view/trace/get-trace-events

apm:application:getTraceEvents

-

POST /v1/apm2/openapi/view/trace/span-search

apm:application:getTraceEvents

-

GET /v1/apm2/openapi/view/trace/topology

apm::getTopology

-

GET /v2/{resource_type}/{resource_id}/tags

apm:application:listTagsForResource

-

POST /v2/{resource_type}/{resource_id}/tags/create

apm:application:tagResource

-

DELETE /v2/{resource_type}/{resource_id}/tags/delete

apm:application:unTagResource

-

POST /v2/{resource_type}/resource-instances/count

apm:application:listTagsForResource

-

POST /v2/{resource_type}/resource-instances/filter

apm:application:listTagsForResource

-

GET /v2/{resource_type}/tags

apm:application:listTagsForResource

-

POST /v2/account-mgt/business/create-account

apm:application:create

-

DELETE /v2/account-mgt/business/delete/{id}

apm:application:delete

-

POST /v2/account-mgt/business/get-accounts

apm:application:get

-

PUT /v2/account-mgt/business/update-account

apm:application:update

-

POST /v2/account-mgt/domain/create-account

apm::createAdminInfo

-

DELETE /v2/account-mgt/domain/delete/{id}

apm::deleteAdminInfo

-

POST /v2/account-mgt/domain/get-accounts

apm::getAdminInfo

-

PUT /v2/account-mgt/domain/update-account

apm::updateAdminInfo

-

GET /v2/alarm/data/get-alarm-data-detail/{alarm_data_id}

apm::getAlarmData

-

POST /v2/alarm/data/get-alarm-data-list

apm:application:get

-

GET /v2/alarm/data/get-alarm-notify-detail/{alarm_data_notify_id}

apm::getAlarmData

-

POST /v2/alarm/data/get-alarm-notify-list

apm:application:get

-

POST /v2/alarm/rule/create-alarm-rule

apm::createAlarmRule

-

DELETE /v2/alarm/rule/delete-alarm-rule/{alarm_rule_id}

apm::deleteAlarmRule

-

GET /v2/alarm/rule/get-alarm-rule-detail

apm::getAlarmRule

-

GET /v2/alarm/rule/get-alarm-rule-list

apm::listAlarmRule

-

PUT /v2/alarm/rule/update-alarm-rule

apm::updateAlarmRule

-

PUT /v2/alarm/rule/update-alarm-rule-status

apm::updateAlarmRule

-

POST /v2/alarm/template/copy-template

apm::createAlarmRule

-

POST /v2/alarm/template/create-template-alarm-rule

apm::createAlarmRule

-

POST /v2/alarm/template/create-template-base

apm::createAlarmRule

-

POST /v2/alarm/template/create-template-recommend

apm::createAlarmRule

-

DELETE /v2/alarm/template/delete-template-alarm-rule/{alarm_rule_id}

apm::deleteAlarmRule

-

DELETE /v2/alarm/template/delete-template-relation

apm::deleteAlarmRule

-

DELETE /v2/alarm/template/delete-template/{template_id}

apm::deleteAlarmRule

-

GET /v2/alarm/template/get-template-alarm-rule-detail/{template_alarm_rule_id}

apm::getAlarmRule

-

GET /v2/alarm/template/get-template-alarm-rule-list

apm::listAlarmRule

-

GET /v2/alarm/template/get-template-base/{template_id}

apm::getAlarmRule

-

GET /v2/alarm/template/get-template-list

apm::listAlarmRule

-

GET /v2/alarm/template/get-template-relation-env-list

apm::listAlarmRule

-

GET /v2/alarm/template/get-template-relation-list

apm::listAlarmRule

-

PUT /v2/alarm/template/update-template-alarm-rule

apm::updateAlarmRule

-

PUT /v2/alarm/template/update-template-alarm-rule-env-status

apm::updateAlarmRule

-

PUT /v2/alarm/template/update-template-alarm-rule-status

apm::updateAlarmRule

-

GET /v2/cmdb/topology-trees/get-topology-trees

apm::getTopology

-

POST /v2/cmdb/tag/get-env-tag-list

apm:application:get

-

GET /v2/cmdb/apps/get-apps

apm:application:get

-

GET /v2/cmdb/envs/get-app-envs

apm:application:getEnv

-

GET /v2/cmdb/apps/{application_id}

apm:application:get

-

DELETE /v2/cmdb/apps/{application_id}

apm:application:delete

-

GET /v2/cmdb/business/get-business-detail/{business_id}

apm:application:get

-

GET /v2/cmdb/sub-business/get-sub-business-detail/{sub_business_id}

apm:application:get

-

GET /v2/view/config/get-monitor-item-view-config

apm::getConf

-

GET /v2/view/trace/topology

apm::getTopology

-

GET /v2/view/trace/get-event-detail

apm:application:getTraceEvents

-

POST /v2/view/trace/span-search

apm:application:getTraceEvents

-

GET /v2/view/trace/get-trace-events

apm:application:getTraceEvents

-

POST /v2/view/metric/trend

apm::getConf

-

POST /v2/view/metric/sum-table

apm::getConf

-

POST /v2/view/metric/raw-table

apm::getConf

-

POST /v2/view/metric/get-clob-detail

apm::getConf

-

POST /v2/view/mainview/get-env-instance-list

apm:application:getInstance

-

GET /v2/view/mainview/get-env-monitor-item-list

apm:application:getMonitorItemConf

-

POST /v2/systemmng/access-ak-sk/create-ak-sk

apm::createCredential

-

POST /v2/systemmng/access-ak-sk/delete-ak-sk

apm::deleteCredential

-

GET /v2/systemmng/access-ak-sk/get-ak-sk-list

apm::retrieveCredential

-

POST /v2/systemmng/access-ak-sk/update-ak-sk

apm::updateCredential

-

POST /v2/topology/business-search

apm:application:getTransaction

-

POST /v2/topology/env-search

apm:application:getTransaction

-

POST /v2/transaction/transaction-config-search

apm:application:getTransaction

-

POST /v2/transaction/business-env

apm:application:get

-

POST /v2/transaction/search

apm:application:getTransaction

-

POST /v2/transaction/detail

apm:application:get

-

Resources

A resource type indicates the resources that an SCP applies to. If you specify a resource type for any action in Table 3, the resource URN must be specified in the SCP statements using that action, and the SCP applies only to resources of this type. If no resource type is specified, the Resource element is marked with an asterisk (*) and the SCP applies to all resources. You can also set condition keys in an SCP to define resource types.

The following table lists the resource types that you can define in SCP statements for APM.

Table 3 Resource types supported by APM

Resource Type

URN

application

apm::<account-id>:application:<application-id>

Conditions

APM does not support service-specific condition keys in an SCP.

It can only use global condition keys applicable to all services. For details, see Global Condition Keys.