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

Web Application Firewall (WAF)

IAM provides system-defined identity policies to define typical cloud service permissions. 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 waf, 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 waf, 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 waf.

Table 1 Actions supported by waf

Action

Description

Access Level

Resource Type (*: required)

Condition Key

Alias

waf:host:list

Grants permission to query all protected domain names.

List

host *

-

  • waf:instance:list

-

g:EnterpriseProjectId

waf:host:create

Grants permission to create a protection domain name.

Write

host *

-

  • waf:instance:create

policy

-

certificate

-

-

g:EnterpriseProjectId

waf:host:get

Grants permission to query the protected domain name.

Read

host *

g:EnterpriseProjectId

  • waf:instance:get

waf:host:put

Grants permission to update the protected domain name.

Write

host *

g:EnterpriseProjectId

  • waf:instance:put

certificate

-

waf:host:delete

Grants permission to delete the protection domain name.

Write

host *

g:EnterpriseProjectId

  • waf:instance:delete

waf:sourceIp:get

Grants permission to query WAF IP addresses.

Read

-

-

-

waf:policy:list

Grants permission to query all protected policies.

List

policy *

-

-

-

g:EnterpriseProjectId

waf:policy:create

Grants permission to create a protection policy.

Write

policy *

-

-

-

g:EnterpriseProjectId

waf:policy:get

Grants permission to query the protected policy.

Read

policy *

g:EnterpriseProjectId

-

waf:policy:put

Grants permission to update the protected policy.

Write

policy *

g:EnterpriseProjectId

-

host

-

waf:policy:delete

Grants permission to delete the protection policy.

Write

policy *

g:EnterpriseProjectId

-

waf:ccRule:list

Grants permission to query all CC attack protection rules.

List

policy *

-

  • waf:ccRuleRule:list

-

g:EnterpriseProjectId

waf:ccRule:create

Grants permission to create a CC attack protection rule.

Write

policy *

-

-

-

g:EnterpriseProjectId

waf:ccRule:get

Grants permission to query the CC attack protection rule.

Read

policy *

g:EnterpriseProjectId

-

waf:ccRule:put

Grants permission to update the CC attack rule.

Write

policy *

g:EnterpriseProjectId

  • waf:ccRuleRule:put

waf:ccRule:delete

Grants permission to delete the CC attack protection rule.

Write

policy *

g:EnterpriseProjectId

-

waf:preciseProtectionRule:list

Grants permission to query all precise protection rules.

List

policy *

-

-

-

g:EnterpriseProjectId

waf:preciseProtectionRule:create

Grants permission to create a precise protection rule.

Write

policy *

-

-

-

g:EnterpriseProjectId

waf:preciseProtectionRule:get

Grants permission to query the precise protection rule.

Read

policy *

g:EnterpriseProjectId

-

waf:preciseProtectionRule:put

Grants permission to update the precise protection rule.

Write

policy *

g:EnterpriseProjectId

-

waf:preciseProtectionRule:delete

Grants permission to delete the precise protection rule.

Write

policy *

g:EnterpriseProjectId

-

waf:whiteBlackIpRule:list

Grants permission to query all blacklist and whitelist rules.

List

policy *

-

-

-

g:EnterpriseProjectId

waf:whiteBlackIpRule:create

Grants permission to create a blacklist and whitelist rule.

Write

policy *

-

-

-

g:EnterpriseProjectId

waf:whiteBlackIpRule:get

Grants permission to query the blacklist and whitelist rule.

Read

policy *

g:EnterpriseProjectId

-

waf:whiteBlackIpRule:put

Grants permission to update the blacklist and whitelist rule.

Write

policy *

g:EnterpriseProjectId

-

waf:whiteBlackIpRule:delete

Grants permission to delete the blacklist and whitelist rule.

Write

policy *

g:EnterpriseProjectId

-

waf:privacyRule:list

Grants permission to query all data masking rules.

List

policy *

-

-

-

g:EnterpriseProjectId

waf:privacyRule:create

Grants permission to create a data masking rule.

Write

policy *

-

-

-

g:EnterpriseProjectId

waf:privacyRule:get

Grants permission to query the data masking rule.

Read

policy *

g:EnterpriseProjectId

-

waf:privacyRule:put

Grants permission to update the data masking rule.

Write

policy *

g:EnterpriseProjectId

-

waf:privacyRule:delete

Grants permission to delete the data masking rule.

Write

policy *

g:EnterpriseProjectId

-

waf:falseAlarmMaskRule:list

Grants permission to query all false alarm masking rules.

List

policy *

-

-

-

g:EnterpriseProjectId

waf:falseAlarmMaskRule:create

Grants permission to create a false alarm masking rule.

Write

policy *

-

-

-

g:EnterpriseProjectId

waf:falseAlarmMaskRule:get

Grants permission to query the false alarm masking rule.

Read

policy *

g:EnterpriseProjectId

-

waf:falseAlarmMaskRule:put

Grants permission to update the false alarm masking rule.

Write

policy *

g:EnterpriseProjectId

  • waf:falseAlarmMaskRule:recount

waf:falseAlarmMaskRule:delete

Grants permission to delete the false alarm masking rule.

Write

policy *

g:EnterpriseProjectId

-

waf:geoIpRule:list

Grants permission to query all geolocation access control rules.

List

policy *

-

-

-

g:EnterpriseProjectId

waf:geoIpRule:create

Grants permission to create a geolocation access control rule.

Write

policy *

-

-

-

g:EnterpriseProjectId

waf:geoIpRule:get

Grants permission to query the geolocation access control rule.

Read

policy *

g:EnterpriseProjectId

-

waf:geoIpRule:put

Grants permission to update the geolocation access control rule.

Write

policy *

g:EnterpriseProjectId

-

waf:geoIpRule:delete

Grants permission to delete the geolocation access control rule.

Write

policy *

g:EnterpriseProjectId

-

waf:antiTamperRule:list

Grants permission to query all web tamper protection rules.

List

policy *

-

-

-

g:EnterpriseProjectId

waf:antiTamperRule:create

Grants permission to create a web tamper protection rule.

Write

policy *

-

-

-

g:EnterpriseProjectId

waf:antiTamperRule:get

Grants permission to query the web tamper protection rule.

Read

policy *

g:EnterpriseProjectId

-

waf:antiTamperRule:put

Grants permission to update the web tamper protection rule.

Write

policy *

g:EnterpriseProjectId

-

waf:antiTamperRule:delete

Grants permission to delete the web tamper protection rule.

Write

policy *

g:EnterpriseProjectId

-

waf:antiLeakageRule:list

Grants permission to query all information leakage prevention rules.

List

policy *

-

-

-

g:EnterpriseProjectId

waf:antiLeakageRule:create

Grants permission to create the sensitive information leakage prevention rule.

Write

policy *

-

-

-

g:EnterpriseProjectId

waf:antiLeakageRule:get

Grants permission to query the information leakage prevention rule.

Read

policy *

g:EnterpriseProjectId

-

waf:antiLeakageRule:put

Grants permission to update the information leakage prevention rule.

Write

policy *

g:EnterpriseProjectId

-

waf:antiLeakageRule:delete

Grants permission to delete the sensitive information leakage prevention rule.

Write

policy *

g:EnterpriseProjectId

-

waf:anticrawlerRule:list

Grants permission to query all anti-crawler protection rules.

List

policy *

-

-

-

g:EnterpriseProjectId

waf:anticrawlerRule:create

Grants permission to create the anti-crawler protection rule.

Write

policy *

-

-

-

g:EnterpriseProjectId

waf:anticrawlerRule:get

Grants permission to query the anti-crawler protection rule.

Read

policy *

g:EnterpriseProjectId

-

waf:anticrawlerRule:put

Grants permission to update the anti-crawler protection rule.

Write

policy *

g:EnterpriseProjectId

-

waf:anticrawlerRule:delete

Grants permission to delete the anti-crawler protection rule.

Write

policy *

g:EnterpriseProjectId

-

waf:punishmentRule:list

Grants permission to query all known attack source rules.

List

policy *

-

-

-

g:EnterpriseProjectId

waf:punishmentRule:create

Grants permission to create the known attack source rule.

Write

policy *

-

-

-

g:EnterpriseProjectId

waf:punishmentRule:get

Grants permission to query the known attack source rule.

Read

policy *

g:EnterpriseProjectId

-

waf:punishmentRule:put

Grants permission to update the known attack source rule.

Write

policy *

g:EnterpriseProjectId

-

waf:punishmentRule:delete

Grants permission to delete the known attack source rule.

Write

policy *

g:EnterpriseProjectId

-

waf:valueList:list

Grants permission to query all valuelists.

List

-

g:EnterpriseProjectId

-

waf:valueList:create

Grants permission to create valuelist.

Write

-

g:EnterpriseProjectId

-

waf:valueList:get

Grants permission to query the valuelist.

Read

-

g:EnterpriseProjectId

-

waf:valueList:put

Grants permission to update the valuelist.

Write

-

g:EnterpriseProjectId

-

waf:valueList:delete

Grants permission to delete the valuelist.

Write

-

g:EnterpriseProjectId

-

waf:ipgroup:list

Grants permission to list of IP address groups.

List

-

g:EnterpriseProjectId

-

waf:ipgroup:create

Grants permission to create IP address group.

Write

-

g:EnterpriseProjectId

-

waf:ipgroup:get

Grants permission to get IP address group detail.

Read

-

g:EnterpriseProjectId

-

waf:ipgroup:put

Grants permission to modify IP address group.

Write

-

g:EnterpriseProjectId

-

waf:ipgroup:delete

Grants permission to delete IP address group.

Write

-

g:EnterpriseProjectId

-

waf:certificate:list

Grants permission to query all certificates.

List

certificate *

-

-

-

g:EnterpriseProjectId

waf:certificate:create

Grants permission to create a certificate.

Write

certificate *

-

-

-

g:EnterpriseProjectId

waf:certificate:get

Grants permission to query the certificate.

Read

certificate *

g:EnterpriseProjectId

-

waf:certificate:put

Grants permission to modify certificate.

Write

certificate *

g:EnterpriseProjectId

-

waf:certificate:delete

Grants permission to delete the certificate.

Write

certificate *

g:EnterpriseProjectId

-

waf:certificate:apply

Grants permission to apply certificate to hosts.

Write

certificate *

g:EnterpriseProjectId

-

host *

-

waf:premiumInstance:list

Grants permission to query all dedicated engine instances.

List

premiumInstance *

-

-

-

g:EnterpriseProjectId

waf:premiumInstance:create

Grants permission to create a dedicated engine instance.

Write

premiumInstance *

-

-

-

waf:premiumInstance:get

Grants permission to query the dedicated engine instance.

Read

premiumInstance *

-

waf:premiumInstance:put

Grants permission to update the dedicated engine instance.

Write

premiumInstance *

-

waf:premiumInstance:delete

Grants permission to delete the dedicated engine instance.

Write

premiumInstance *

-

waf:event:get

Grants permission to query the protection event.

Read

-

g:EnterpriseProjectId

-

waf:ltsConfig:get

Grants permission to query the ltsConfig.

List

-

g:EnterpriseProjectId

-

waf:ltsConfig:put

Grants permission to update the ltsConfig.

Write

-

g:EnterpriseProjectId

-

waf:postpaid:create

Grants permission to create the postpaid.

Write

-

g:EnterpriseProjectId

-

waf:postpaid:delete

Grants permission to delete the postpaid.

Write

-

g:EnterpriseProjectId

-

waf:prepaid:create

Grants permission to create a prepaid order.

Write

-

-

waf:subscription:get

Grants permission to query the cloud mode subscription.

Read

-

-

-

waf:alert:get

Grants permission to query the alertConfig.

List

-

-

-

waf:alert:put

Grants permission to update the alertConfig.

Write

-

-

-

waf:consoleConfig:get

Grants permission to query the console configurations.

Read

-

-

-

waf:bundle:get

Grants permission to query the user bundle.

Read

-

g:EnterpriseProjectId

-

waf:securityReportSubscription:list

Grants permission to query the security report subscription.

Read

-

g:EnterpriseProjectId

-

waf:tmsProjectTags:get

Grants permission to query the tms project tags.

Read

-

g:EnterpriseProjectId

-

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

Table 2 Actions and dependencies supported by waf APIs

API

Action

Dependencies

POST /v1/{project_id}/waf/instance

waf:host:create

-

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

waf:host:delete

-

GET /v1/{project_id}/waf/instance

waf:host:list

-

GET /v1/{project_id}/waf/instance/{instance_id}/route

waf:host:get

-

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

waf:host:get

-

PATCH /v1/{project_id}/waf/instance/{instance_id}

waf:host:put

-

PUT /v1/{project_id}/waf/instance/{instance_id}/protect-status

waf:host:put

-

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

waf:host:create

-

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

waf:host:delete

-

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

waf:host:list

-

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

waf:host:get

-

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

waf:host:put

-

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

waf:host:put

-

POST /v1/{project_id}/waf/policy

waf:policy:create

-

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

waf:policy:delete

-

GET /v1/{project_id}/waf/policy

waf:policy:list

-

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

waf:policy:get

-

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

waf:policy:put

-

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

waf:policy:put

-

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

waf:ccRule:create

-

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

waf:preciseProtectionRule:create

-

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

waf:antiTamperRule:create

-

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

waf:antiLeakageRule:create

-

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

waf:anticrawlerRule:create

-

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

waf:punishmentRule:create

-

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

waf:geoIpRule:create

-

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

waf:falseAlarmMaskRule:create

-

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

waf:privacyRule:create

-

POST /v1/{project_id}/waf/valuelist

waf:valueList:create

-

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

waf:whiteBlackIpRule:create

-

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

waf:ccRule:delete

-

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

waf:preciseProtectionRule:delete

-

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

waf:antiTamperRule:delete

-

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

waf:antiLeakageRule:delete

-

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

waf:anticrawlerRule:delete

-

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

waf:punishmentRule:delete

-

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

waf:geoIpRule:delete

-

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

waf:falseAlarmMaskRule:delete

-

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

waf:privacyRule:delete

-

DELETE /v1/{project_id}/waf/valuelist/{valuelistid}

waf:valueList:delete

-

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

waf:whiteBlackIpRule:delete

-

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

waf:preciseProtectionRule:list

-

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

waf:ccRule:list

-

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

waf:antiTamperRule:list

-

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

waf:antiLeakageRule:list

-

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

waf:anticrawlerRule:list

-

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

waf:punishmentRule:list

-

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

waf:geoIpRule:list

-

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

waf:falseAlarmMaskRule:list

-

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

waf:privacyRule:list

-

GET /v1/{project_id}/waf/valuelist

waf:valueList:list

-

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

waf:whiteBlackIpRule:list

-

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

waf:ccRule:put

-

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

waf:preciseProtectionRule:put

-

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

waf:geoIpRule:put

-

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

waf:antiTamperRule:put

-

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

waf:antiLeakageRule:put

-

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

waf:anticrawlerRule:put

-

PUT /v1/{project_id}/waf/policy/{policy_id}/anticrawler

waf:anticrawlerRule:put

-

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

waf:punishmentRule:put

-

PUT /v1/{project_id}/waf/policy/{policy_id}/{ruletype}/{rule_id}/status

waf:whiteBlackIpRule:put

-

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

waf:privacyRule:put

-

PUT /v1/{project_id}/waf/valuelist/{valuelistid}

waf:valueList:put

-

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

waf:whiteBlackIpRule:put

-

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

waf:falseAlarmMaskRule:put

-

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

waf:ccRule:get

-

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

waf:preciseProtectionRule:get

-

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

waf:whiteBlackIpRule:get

-

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

waf:privacyRule:get

-

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

waf:falseAlarmMaskRule:get

-

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

waf:geoIpRule:get

-

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

waf:antiTamperRule:get

-

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

waf:antiLeakageRule:get

-

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

waf:anticrawlerRule:get

-

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

waf:punishmentRule:get

-

GET /v1/{project_id}/waf/valuelist/{valuelistid}

waf:valueList:get

-

POST /v1/{project_id}/waf/ip-groups

waf:ipgroup:create

-

DELETE /v1/{project_id}/waf/ip-group/{id}

waf:ipgroup:delete

-

GET /v1/{project_id}/waf/ip-groups

waf:ipgroup:list

-

GET /v1/{project_id}/waf/ip-group/{id}

waf:ipgroup:get

-

PUT /v1/{project_id}/waf/ip-group/{id}

waf:ipgroup:put

-

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

waf:certificate:apply

-

POST /v1/{project_id}/waf/certificate

waf:certificate:create

-

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

waf:certificate:delete

-

GET /v1/{project_id}/waf/certificate

waf:certificate:list

-

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

waf:certificate:get

-

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

waf:certificate:put

-

GET /v1/{project_id}/waf/event

waf:event:get

-

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

waf:event:get

-

GET /v1/{project_id}/waf/overviews/bandwidth/timeline

waf:event:get

-

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

waf:event:get

-

GET /v1/{project_id}/waf/overviews/qps/timeline

waf:event:get

-

GET /v1/{project_id}/waf/overviews/request/timeline

waf:event:get

-

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

waf:event:get

-

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

waf:event:get

-

GET /v1/{project_id}/waf/config/console

waf:consoleConfig:get

-

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

waf:premiumInstance:create

-

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

waf:premiumInstance:delete

-

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

waf:premiumInstance:list

-

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

waf:premiumInstance:put

-

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

waf:premiumInstance:get

-

GET /v1/{project_id}/waf/config/lts

waf:ltsConfig:get

-

PUT /v1/{project_id}/waf/config/lts/{ltsconfig_id}

waf:ltsConfig:put

-

POST /v1/{project_id}/waf/subscription/batchalter/prepaid-cloud-waf

waf:prepaid:create

-

POST /v1/{project_id}/waf/subscription/purchase/prepaid-cloud-waf

waf:prepaid:create

-

GET /v1/{project_id}/waf/subscription

waf:subscription:get

-

POST /v1/{project_id}/waf/postpaid

waf:postpaid:create

-

DELETE /v1/{project_id}/waf/postpaid

waf:postpaid:delete

-

GET /v2/{project_id}/waf/alerts

waf:alert:get

-

PUT /v2/{project_id}/waf/alert/{alert_id}

waf:alert:put

-

GET /v1/{project_id}/waf/config/source-ip

waf:sourceIp:get

-

POST /v1/{project_id}/composite-waf/hosts/migration

waf:host:create

-

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

waf:host:list

-

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

waf:host:get

-

GET /v1/{project_id}/waf/bundle

waf:bundle:get

-

GET /v1/{project_id}/waf/security-report/subscriptions

waf:securityReportSubscription:list

-

GET /v1/{project_id}/waf/overviews/attack/action-types

waf:event:get

-

GET /v1/{project_id}/waf/overviews/attack/top-domains

waf:event:get

-

GET /v1/{project_id}/waf/policy/basic-protection/default-rules

waf:policy:get

-

GET /v1/{project_id}/waf/tag/geoip/map

waf:geoIpRule:get

-

-

waf:policy:get

-

-

waf:policy:get

-

-

waf:policy:get

-

-

waf:policy:get

-

-

waf:policy:get

-

-

waf:policy:get

-

-

waf:policy:get

-

GET /v1/{project_id}/waf/{resourceid}/tags

waf:tmsProjectTags:get

-

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 waf.

Table 3 Resource types supported by waf

Resource Type

URN

policy

waf:<region>:<account-id>:policy:<policy-id>

host

waf:<region>:<account-id>:host:<host-id>

premiumInstance

waf:<region>:<account-id>:premiumInstance:<instance-id>

certificate

waf:<region>:<account-id>:certificate:<certificate-id>

Conditions

waf 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.