Help Center/ Web Application Firewall/ API Reference/ Permissions and Supported Actions/ Actions Supported by Policy-based Authorization
Updated on 2025-12-09 GMT+08:00

Actions Supported by Policy-based Authorization

This section describes the actions supported by Web Application Firewall (WAF) in policy/role-based authorization scenarios.

Supported Actions

WAF provides system-defined policies that can be directly used in IAM. You can also create custom policies and use them to supplement system-defined policies, implementing more refined access control. The following are related concepts:

  • Permission: A statement in a policy that allows or denies certain operations. APIs: REST APIs that can be called in a custom policy
  • Actions: Added to a custom policy to control permissions for specific operations.
  • Dependent 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 dependent actions.
  • IAM projects or enterprise projects: Scope of users a permission is granted to. Policies that contain actions for both IAM and enterprise projects can be used and take effect for both IAM and Enterprise Management. Policies that contain actions only for IAM projects can be used and applied to IAM only. Administrators can check whether an action supports IAM projects or enterprise projects in the action list. "√" indicates that the action supports the project and "×" indicates that the action does not support the project. For details about the differences between IAM and enterprise management, see Differences Between IAM and Enterprise Management.
Table 1 lists the actions that can be defined in custom policies supported by WAF.
Table 1 Supported actions

Permission

API

Action

IAM Project

Querying details about a dedicated WAF instance

GET /v1/{project_id}/premium-waf/instance/{instance_id}

waf:premiumInstance:get

√

Deleting a dedicated WAF instance

DELETE /v1/{project_id}/premium-waf/instance/{instance_id}

waf:premiumInstance:delete

√

Renaming a dedicated WAF instance

PUT /v1/{project_id}/premium-waf/instance/{instance_id}

waf:premiumInstance:put

√

Creating a dedicated WAF instance

POST /v1/{project_id}/premium-waf/instance

waf:premiumInstance:create

√

Querying dedicated WAF instances

GET /v1/{project_id}/premium-waf/instance

waf:premiumInstance:list

√

Adding a domain name to a dedicated WAF instance

POST /v1/{project_id}/premium-waf/host

waf:instance:create

√

Querying domain names protected by dedicated WAF engines

GET /v1/{project_id}/premium-waf/host

waf:instance:list

√

Modifying a domain name protected by a dedicated WAF instance

PUT /v1/{project_id}/premium-waf/host/{host_id}

waf:instance:put

√

Querying domain name settings in dedicated mode

GET /v1/{project_id}/premium-waf/host/{host_id}

waf:instance:get

√

Deleting a domain name from a dedicated WAF instance

DELETE /v1/{project_id}/premium-waf/host/{host_id}

waf:instance:delete

√

Modifying the protection status of a domain name in dedicated mode

PUT /v1/{project_id}/premium-waf/host/{host_id}/protect-status

waf:instance:put

√

Modifying the access status of a domain name in dedicated mode

PUT /v1/{project_id}/premium-waf/host/{host_id}/access_status

waf:instance:put

√

Querying the protection policy list

GET /v1/{project_id}/waf/policy

waf:policy:list

√

Creating a protection policy

POST /v1/{project_id}/waf/policy

waf:policy:create

√

Querying a protection policy by ID

GET /v1/{project_id}/waf/policy/{policy_id}

waf:policy:get

√

Updating a protection policy

PATCH /v1/{project_id}/waf/policy/{policy_id}

waf:policy:put

√

Deleting a protection policy

DELETE /v1/{project_id}/waf/policy/{policy_id}

waf:policy:delete

√

Querying the blacklist and whitelist rule list

GET /v1/{project_id}/waf/policy/{policy_id}/whiteblackip

waf:whiteBlackIpRule:list

√

Creating a blacklist or whitelist rule

POST /v1/{project_id}/waf/policy/{policy_id}/whiteblackip

waf:whiteBlackIpRule:create

√

Deleting a blacklist or whitelist rule

GET /v1/{project_id}/waf/policy/{policy_id}/whiteblackip/{rule_id}

waf:whiteBlackIpRule:get

√

Updating a blacklist or whitelist rule

PUT /v1/{project_id}/waf/policy/{policy_id}/whiteblackip/{rule_id}

waf:whiteBlackIpRule:put

√

Deleting a blacklist or whitelist rule

DELETE /v1/{project_id}/waf/policy/{policy_id}/whiteblackip/{rule_id}

waf:whiteBlackIpRule:delete

√

Querying the CC attack protection rule list

GET /v1/{project_id}/waf/policy/{policy_id}/cc

waf:ccRule:list

√

Creating a CC attack protection rule

POST /v1/{project_id}/waf/policy/{policy_id}/cc

waf:ccRule:create

√

Querying a CC attack protection rule by ID

GET /v1/{project_id}/waf/policy/{policy_id}/cc/{rule_id}

waf:ccRule:get

√

Updating a CC attack protection rule

PUT /v1/{project_id}/waf/policy/{policy_id}/cc/{rule_id}

waf:ccRule:put

√

Deleting a CC attack protection rule

DELETE /v1/{project_id}/waf/policy/{policy_id}/cc/{rule_id}

waf:ccRule:delete

√

Querying precise protection rules

GET /v1/{project_id}/waf/policy/{policy_id}/custom

waf:preciseProtectionRule:list

√

Creating a precise protection rule

POST /v1/{project_id}/waf/policy/{policy_id}/custom

waf:preciseProtectionRule:create

√

Querying a precise protection rule by ID

GET /v1/{project_id}/waf/policy/{policy_id}/custom/{rule_id}

waf:preciseProtectionRule:get

√

Updating a precise protection rule

PUT /v1/{project_id}/waf/policy/{policy_id}/custom/{rule_id}

waf:preciseProtectionRule:put

√

Deleting a precise protection rule

DELETE /v1/{project_id}/waf/policy/{policy_id}/custom/{rule_id}

waf:preciseProtectionRule:delete

√

Querying data masking rules

GET /v1/{project_id}/waf/policy/{policy_id}/privacy

waf:privacyRule:list

√

Creating a data masking rule

POST /v1/{project_id}/waf/policy/{policy_id}/privacy

waf:privacyRule:create

√

Querying a data masking rule by ID

GET /v1/{project_id}/waf/policy/{policy_id}/privacy/{rule_id}

waf:privacyRule:get

√

Updating a data masking rule

PUT /v1/{project_id}/waf/policy/{policy_id}/privacy/{rule_id}

waf:privacyRule:put

√

Deleting a data masking rule

DELETE /v1/{project_id}/waf/policy/{policy_id}/privacy/{rule_id}

waf:privacyRule:delete

√

Querying the list of web tamper protection rules

GET /v1/{project_id}/waf/policy/{policy_id}/antitamper

waf:antiTamperRule:list

√

Creating a web tamper protection rule

POST /v1/{project_id}/waf/policy/{policy_id}/antitamper

waf:antiTamperRule:create

√

Querying a web tamper protection rule by ID

GET /v1/{project_id}/waf/policy/{policy_id}/antitamper/{rule_id}

waf:antiTamperRule:get

√

Deleting a web tamper protection rule

DELETE /v1/{project_id}/waf/policy/{policy_id}/antitamper/{rule_id}

waf:antiTamperRule:delete

√

Updating the cache of a web tamper protection rule

POST /v1/{project_id}/waf/policy/{policy_id}/antitamper/{antitamperid}/refresh

waf:antiTamperRule:create

√

Querying false alarm masking rules

GET /v1/{project_id}/waf/policy/{policy_id}/ignore

waf:falseAlarmMaskRule:list

√

Creating a false alarm masking rule

POST /v1/{project_id}/waf/policy/{policy_id}/ignore

waf:falseAlarmMaskRule:create

√

Querying a false alarm masking rule

GET /v1/{project_id}/waf/policy/{policy_id}/ignore/{rule_id}

waf:falseAlarmMaskRule:get

√

Updating a false alarm masking rule

PUT /v1/{project_id}/waf/policy/{policy_id}/ignore/{rule_id}

waf:falseAlarmMaskRule:put

√

Deleting a false alarm masking rule

DELETE /v1/{project_id}/waf/policy/{policy_id}/ignore/{rule_id}

waf:falseAlarmMaskRule:delete

√

Querying the certificate list

GET /v1/{project_id}/waf/certificate

waf:certificate:get

√

Creating a certificate

POST /v1/{project_id}/waf/certificate

waf:certificate:create

√

Querying a certificate

GET /v1/{project_id}/waf/certificate/{certificate_id}

waf:certificate:list

√

Modifying a certificate

PUT /v1/{project_id}/waf/certificate/{certificate_id}

waf:certificate:put

√

Deleting a certificate

DELETE /v1/{project_id}/waf/certificate/{certificate_id}

waf:certificate:delete

√

Applying a certificate to a domain name

POST /v1/{project_id}/waf/certificate/{certificate_id}/apply-to-hosts

waf:certificate:apply

√

Querying the number of requests and attacks on dashboard

GET /v1/{project_id}/waf/overviews/statistics

waf:event:get

√

Querying top N statistics on dashboard

GET /v1/{project_id}/waf/overviews/classification

waf:event:get

√

Querying the list of attack events

GET /v1/{project_id}/waf/event

waf:event:get

√

Querying attack event details

GET /v1/{project_id}/waf/event/{eventid}

waf:event:get

√