Updated on 2025-11-06 GMT+08:00

Cloud Native Anti-DDoS Advanced

IAM provides system-defined identity policies to define common actions supported by cloud services. You can also create custom identity policies using the actions supported by cloud services for more refined access control.

In addition to IAM, the Organizations service also provides Service Control Policies (SCPs) to set access control policies.

SCPs do not actually grant any permissions to an entity. They only set the permissions boundary for the entity. When SCPs are attached to an organizational unit (OU) or a member account, the SCPs do not directly grant permissions to that OU or member account. Instead, the SCPs only determine what permissions are available for that member account or those member accounts under that OU. The granted permissions can be applied only if they are allowed by the SCPs.

To learn more about how IAM is different from Organizations for access control, see How IAM Is Different from Organizations for Access Control?.

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

Actions

Actions are specific operations that are allowed or denied in an identity policy.

  • 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 identity policy.
  • 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 identity policy statements.
    • If this column includes a resource type, you must specify the URN in the Resource element of your identity policy 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 CNAD, see Resources.

  • The Condition Key column contains keys that you can specify in the Condition element of an identity policy 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 CNAD, see Conditions.

  • The Alias column lists the policy actions that are configured in identity policies. With these actions, you can use APIs for policy-based authorization. For details, see Policies and Identity Policies.

The following table lists the actions that you can define in identity policy statements for CNAD.

Table 1 Actions supported by CNAD

Action

Description

Access Level

Resource Type (*: required)

Condition Key

Alias

cnad:schedule:update

Grants permission to update scheduling specifications.

Write

schedule *

-

-

cnad:schedule:list

Grants permission to query the scheduling rule list.

List

schedule *

-

-

cnad:schedule:get

Grants permission to query scheduling rules.

Read

schedule *

-

-

cnad:schedule:delete

Grants permission to delete scheduling rules.

Write

schedule *

-

-

cnad:schedule:create

Grants permission to create scheduling rules.

Write

schedule *

-

-

cnad:quota:update

Grants permission to modify quotas.

Write

-

-

-

cnad:blockade:release

Grants permission to unblock IP addresses.

Write

-

-

-

cnad:blockade:list

Grants permission to query the blocking list.

List

-

-

-

cnad:blockade:get

Grants permission to query blocking records.

Read

-

-

-

cnad:alarmConfig:update

Grants permission to modify alarm notifications.

Write

-

-

-

cnad:alarmConfig:create

Grants permission to create alarm notifications.

Write

-

-

-

cnad:alarmConfig:delete

Grants permission to delete alarm notifications.

Write

-

-

-

cnad:alarmConfig:get

Grants permission to query alarm notifications.

Read

-

-

-

cnad:attackReport:list

Grants permission to query attack events.

List

-

-

-

cnad:attackReport:update

Grants permission to update attack event configurations.

Write

-

-

cnad:attackReport:list

cnad:attackTop:list

Grants permission to query top 10 attacked IP addresses.

List

-

-

-

cnad:attackTypeReport:list

Grants permission to query attack type distribution.

List

-

-

-

cnad:bindPolicy:create

Grants permission to bind protection policies to protected IP addresses.

Write

-

-

-

cnad:blackWhiteIpList:create

Grants permission to create an IP address blacklist or whitelist.

Write

-

-

-

cnad:blackWhiteIpList:delete

Grants permission to delete an IP address blacklist or whitelist.

Write

-

-

-

cnad:cleanCountReport:list

Grants permission to query the DDoS protection trend.

List

-

-

-

cnad:cleanKbpsReport:list

Grants permission to query statistics on peak scrubbing traffic.

List

-

-

-

cnad:cleanScaleDropList:list

Grants permission to query the scrubbing scope.

List

-

-

-

cnad:countReport:get

Grants permission to query statistics.

Read

-

-

-

cnad:ipTag:put

Grants permission to update the tags of protected IP addresses.

Write

-

-

-

cnad:package:create

Grants permission to create an instance.

Write

package *

-

cnad:package:get

Grants permission to query an instance.

Read

package *

-

cnad:package:list

Grants permission to query the instance list.

List

package *

-

-

cnad:package:put

Grants permission to update an instance.

Write

package *

-

cnad:packageDropList:list

Grants permission to query the instance summary list.

List

-

-

-

cnad:packetAttackReport:list

Grants permission to query attack data packets.

List

-

-

-

cnad:policy:create

Grants permission to create protection policies.

Write

policy *

g:EnterpriseProjectId

-

cnad:policy:delete

Grants permission to delete protection policies.

Write

policy *

g:EnterpriseProjectId

-

cnad:policy:get

Grants permission to query details about a protection policy.

Read

policy *

g:EnterpriseProjectId

-

cnad:policy:list

Grants permission to query protection policy details.

List

policy *

-

-

cnad:policy:put

Grants permission to update protection policies.

Write

policy *

g:EnterpriseProjectId

-

cnad:policyDropList:list

Grants permission to query the protected IP address list.

List

-

-

-

cnad:protectedIp:create

Grants permission to bind protected IP addresses to an instance.

Write

-

-

-

cnad:protectedIp:list

Grants permission to query the protected IP address list.

List

-

-

-

cnad:protectedIpDropList:list

Grants permission to query the protected IP address drop list.

List

-

-

-

cnad:quota:get

Grants permission to query quotas.

Read

-

-

-

cnad:securityStatusReport:get

Grants permission to query asset security status.

Read

-

-

-

cnad:trafficAttackReport:list

Grants permission to query attack traffic.

List

-

-

-

cnad:policy:unbind

Grants permission to remove a protection policy from a protected IP address.

Write

-

-

cnad:unbindPolicy:create

cnad:weekStatisticsReport:get

Grants permission to query weekly security statistics.

Read

-

-

-

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

Table 2 Actions and dependencies supported by CNAD APIs

API

Action

Dependencies

GET /v1/unblockservice/{domain_id}/unblock-quota-statistics

cnad:quota:get

-

POST /v1/unblockservice/{domain_id}/unblock

cnad:blockade:release

-

GET /v1/unblockservice/{domain_id}/unblock-record

cnad:blockade:list

-

GET /v1/unblockservice/{domain_id}/block-statistics

cnad:blockade:get

-

POST /v1/cnad/alarm-config

cnad:alarmConfig:update

-

DELETE /v1/cnad/alarm-config

cnad:alarmConfig:delete

-

GET /v1/cnad/alarm-config

cnad:alarmConfig:get

-

POST /v1/cnad/policies/{policy_id}/bind

cnad:bindPolicy:create

-

POST /v1/cnad/policies/{policy_id}/ip-list/add

cnad:blackWhiteIpList:create

-

POST /v1/cnad/policies/{policy_id}/ip-list/delete

cnad:blackWhiteIpList:delete

-

PUT /v1/cnad/protected-ips/tags

cnad:ipTag:put

-

GET /v1/cnad/packages

cnad:package:list

-

PUT /v1/cnad/packages/{package_id}/name

cnad:package:put

-

POST /v1/cnad/policies

cnad:policy:create

-

DELETE /v1/cnad/policies/{policy_id}

cnad:policy:delete

-

GET /v1/cnad/policies/{policy_id}

cnad:policy:get

-

GET /v1/cnad/policies

cnad:policy:list

-

PUT /v1/cnad/policies/{policy_id}

cnad:policy:put

-

POST /v1/cnad/packages/{package_id}/protected-ips

cnad:protectedIp:create

-

GET /v1/cnad/protected-ips

cnad:protectedIp:list

-

GET /v1/cnad/packages/{package_id}/unbound-protected-ips

cnad:protectedIpDropList:list

-

POST /v1/cnad/policies/{policy_id}/unbind

cnad:policy:unbind

-

Resources

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

The following table lists the resource types that you can define in identity policy statements for CNAD.

Table 3 Resource types supported by CNAD

Resource Type

URN

policy

cnad::<account-id>:policy:<policy-id>

schedule

cnad::<account-id>:schedule:<schedule-id>

package

cnad::<account-id>:package:<package-id>

Conditions

CNAD does not support service-specific condition keys in identity policies.It can only use global condition keys applicable to all services. For details, see Global Condition Keys.