更新时间:2023-12-13 GMT+08:00

WAF.service

模型说明

Web应用防火墙(WAF)对网站业务流量进行多维度检测和防护,结合深度机器学习智能识别恶意请求特征和防御未知威胁,阻挡诸如 SQL注入或跨站脚本等常见攻击,避免这些攻击影响Web应用程序的可用性、安全性或消耗过度的资源,降低数据被篡改、失窃的风险。

模型属性

表1 模型定义属性说明

属性

是否必选

描述

wafBandwidthPackage

WAF服务带宽扩展包

参数类型:WAF.Bandwidth

默认值:{u'resourceType': u'hws.resource.type.waf.bandwidth', u'resourceSize': 0}

versionType

用户购买WAF服务的产品规格

参数类型:string

取值说明:"devcloud"软开定制版,"basic"代表基础版,"professional"代表专业版,"enterprise"代表企业版,"ultimate"代表旗舰版。

默认值:professional

取值约束:仅支持取值为"devcloud", "basic", "professional", "enterprise", "ultimate"

wafServicePackage

WAF服务基础套餐包

参数类型:WAF.Service

默认值:{u'resourceType': u'hws.resource.type.waf'}

wafDomainPackage

WAF服务域名扩展包

参数类型:WAF.Domain

默认值:{u'resourceType': u'hws.resource.type.waf.domain', u'resourceSize': 0}

关联关系

输出

属性

参数类型

描述

refID

string

Web应用防火墙的ID

blueprint样例

# 应用模板的版本信息
tosca_definitions_version: huaweicloud_tosca_version_1_0
# 应用模板的描述信息
description: Web Application Firewall
# 输入参数定义
inputs:
  version:
    description: WAF版本
    constraints:
      valid_values: ["devcloud", "basic", "professional", "enterprise", "ultimate"]
  domain-pack-num:
    type: integer
    description: 域名扩展包数量
  bandwidth-pack-num:
    type: integer
    description: 带宽扩展包数量
# 应用拓扑定义
node_templates:
  waf-app:
    type: HuaweiCloud.WAF.service
    properties:
      wafServicePackage:
        cloudServiceType: hws.service.type.waf
        resourceType: hws.resource.type.waf
        resourceSpecCode: waf
        isMainResource: 1
      wafDomainPackage:
        cloudServiceType: hws.service.type.waf
        resourceType: hws.resource.type.waf.domain
        resourceSpecCode: waf.expack.domain
        resourceSize: 
          get_input: domain-pack-num
        isMainResource: 0
      wafBandwidthPackage:
        cloudServiceType: hws.service.type.waf
        resourceType: hws.resource.type.waf.bandwidth
        resourceSpecCode: waf.expack.bandwidth
        resourceSize: 
          get_input: bandwidth-pack-num
        isMainResource: 0
      versionType: 
        get_input: version
# 输出参数定义
outputs:  
  waf-deployment:
    description: The container app name in cce
    value: { get_attribute: [ waf-app, Deployment, name ] }