华为云用户手册

  • 响应参数 状态码: 200 表2 响应Body参数 参数 参数类型 描述 id String 模板ID name String 模板名称 icon String 模板图标 manifest_version String 版本 language String 模板语言 description String 模板描述 is_system Boolean 是否系统模板 region String 所属局点 domain_id String 所属租户ID variables Array of CustomVariable objects 自定义参数 creator_id String 创建人ID updater_id String 编辑人ID create_time Integer 创建日期 update_time Integer 更新日期 is_collect String 是否收藏 is_show_source Boolean 是否显示流水线源 definition String 模板编排json,包含stages 表3 CustomVariable 参数 参数类型 描述 pipeline_id String 流水线ID name String 自定义参数名称 sequence Integer 自定义参数顺序 type String 自定义参数类型 value String 自定义参数默认值 is_secret Boolean 是否私密参数 description String 自定义参数描述 is_runtime Boolean 是否运行时设置 limits Array of objects 限制 is_reset Boolean 是否重置 latest_value String 最近一次参数值 runtime_value String 运行时传入值 状态码: 400 表4 响应Body参数 参数 参数类型 描述 error_msg String 错误信息 error_code String 错误码
  • DDoS高防+WAF如何配置? DDoS高防+WAF配置后,流量被DDoS高防转发到WAF,WAF再将流量转到源站,实现网站流量检测和攻击拦截。 云模式 先将 域名 解析到DDoS高防,再修改DDoS高防域名信息,将源站域名修改为WAF的“CNAME”。同时,为了防止其他用户提前将您的域名配置到WAF上,从而对您的域名防护造成干扰,建议您到DNS服务商处添加一条WAF的子域名和TXT记录。 独享模式 先将域名解析到DDoS高防,再修改DDoS高防域名信息,将源站IP修改为WAF独享引擎实例配置弹性负载均衡绑定的弹性公网IP。 ELB模式 先将域名解析到DDoS高防,再修改DDoS高防域名信息,将源站IP修改为添加到ELB模式中选择的ELB对应的弹性公网IP。 有关同时部署DDoS高防和WAF的详细介绍,请参见“DDoS高防+WAF”联动提升网站全面防护能力。 父主题: WAF与其他华为云服务同时部署
  • 收集范围 对于触发攻击告警的请求,WAF在事件日志中会记录相关请求记录,收集及产生的个人数据如表1所示。 表1 个人数据范围列表 类型 收集方式 是否可以修改 是否必须 请求源IP 攻击防护域名时,被WAF拦截或者记录的攻击者IP。 否 是 URL 攻击的防护域名的URL,被WAF拦截或者记录的防护域名的URL。 否 是 HTTP/HTTPS Header信息(包括Cookie) 用户在配置CC攻击、精准访问防护规则时,在配置界面输入的Cookie值和Header值。 否 否 如果配置的Cookie和Header信息不含有用户的个人信息,则WAF记录的相关请求中不会收集及产生用户的个人数据。 请求参数(Get、Post) 防护日志里,WAF记录的请求详情。 否 否 如果请求参数里不含有用户的个人信息,则WAF记录的相关请求中不会收集及产生用户的个人数据。
  • 内容安全检测 网站/新媒体内容安全检测 内容合法合规性检测 国家政策要求各地方机构要认真落实意识形态工作和网络内容安全工作责任制。为响应国家政策,华为云内容安全检测服务可对网站/新媒体内容进行合法合规检测,主要对文本、图片、视频、语音进行检测和识别是否包含色情、涉政、暴力、惊悚、不宜广告、垃圾信息、不良内容等,有效帮助您降低内容风险。 内容准确性检测 对网站/主流新媒体平台的内容进行准确性检测,主要对文本、图片、视频、语音进行表述规范审核,如对错别字、生僻字、词法表述、语法表述等内容进行检测审核。
  • WAF ReadOnlyAccess策略内容 { "Version": "1.1", "Statement": [ { "Action": [ "waf:*:get*", "waf:*:list*", "lts:groups:get", "lts:groups:list", "lts:topics:get", "lts:topics:list", "smn:*:list*", "vpc:*:get*", "vpc:*:list*", "ecs:*:get*", "ecs:*:list*", "elb:*:get*", "elb:*:list*" ], "Effect": "Allow" } ] }
  • WAF权限 默认情况下,创建的 IAM 用户没有任何权限,需要将其加入用户组,并给用户组授予策略或角色,才能使得用户组中的用户获得对应的权限,这一过程称为授权。授权后,用户就可以基于被授予的权限对云服务进行操作。 WAF部署时通过物理区域划分,为项目级服务。授权时,“作用范围”需要选择“区域级项目”,然后在指定区域对应的项目中设置相关权限,并且该权限仅对此项目生效;如果在“所有项目”中设置权限,则该权限在所有区域项目中都生效。访问WAF时,需要先切换至授权区域。 根据授权精细程度分为角色和策略。 角色:IAM最初提供的一种根据用户的工作职能定义权限的粗粒度授权机制。该机制以服务为粒度,提供有限的服务相关角色用于授权。由于华为云各服务之间存在业务依赖关系,因此给用户授予角色时,可能需要一并授予依赖的其他角色,才能正确完成业务。角色并不能满足用户对精细化授权的要求,无法完全达到企业对权限最小化的安全管控要求。 策略:IAM最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。基于策略的授权是一种更加灵活的授权方式,能够满足企业对权限最小化的安全管控要求。例如:针对WAF服务,管理员能够控制IAM用户仅能对某一类云服务器资源进行指定的管理操作。多数细粒度策略以API接口为粒度进行权限拆分,WAF支持的API授权项请参见WAF权限及授权项。 如表1所示,包括了WAF的所有系统角色。 表1 WAF系统角色 系统角色/策略名称 描述 类别 依赖关系 WAF Administrator Web应用防火墙 服务的管理员权限。 系统角色 依赖Tenant Guest和Server Administrator角色。 Tenant Guest:全局级角色,在全局项目中勾选。 Server Administrator:项目级角色,在同项目中勾选。 WAF FullAccess Web应用防火墙服务的所有权限。 系统策略 无。 WAF ReadOnlyAccess Web应用防火墙的只读访问权限。 系统策略
  • WAF FullAccess策略内容 { "Version": "1.1", "Statement": [ { "Action": [ "waf:*:*", "lts:groups:get", "lts:groups:list", "lts:topics:get", "lts:topics:list", "smn:*:list*", "vpc:*:get*", "vpc:*:list*", "ecs:*:get*", "ecs:*:list*", "elb:*:get*", "elb:*:list*" ], "Effect": "Allow" } ] }
  • 特性说明 表1 特性说明 特性 说明 检测位置 检测Web网站和新媒体平台发布的内容。 检测范围 内容的合法合规性、准确性。 检测技术 机器检测:基于丰富的违规样例库进行机器初审核。 人工审核: 内容审核 专家基于多年经验对机器检测结果进行再审核。 交付形式 Word形式的检测报告。 “检测类型”选择“内容安全单次检测(按需)”时,下单后的7个工作日内出报告。 “检测类型”选择“文本安全监测(按月/按年)”时,下单后的检测周期(1个月)后的7个工作日内出报告。 计费模式 包年/包月(预付费)和按需计费(后付费)两种计费方式。 文本安全监测(按年) 文本安全监测(按月) 内容安全单次检测(按需) 按“检测对象”的总个数进行收费。同一个对象再次进行扫描时,需要重新收费。例如:单次配置了10个检测对象(新媒体账号或网站网址),每个检测对象检测一次,则需要进行10次收费。
  • 应用场景 网站/新媒体内容安全检测 内容合法合规性检测 国家政策要求各地方机构要认真落实意识形态工作和网络内容安全工作责任制。为响应国家政策,华为云内容安全检测服务可对网站/新媒体内容进行合法合规检测,主要对文本、图片、视频、语音进行检测和识别是否包含色情、涉政、暴力、惊悚、不宜广告、垃圾信息、不良内容等,有效帮助您降低内容风险。 内容准确性检测 对网站/主流新媒体平台的内容进行准确性检测,主要对文本、图片、视频、语音进行表述规范审核,如对错别字、生僻字、词法表述、语法表述等内容进行检测审核。
  • 续费简介 包年/包月方式购买的云模式WAF到期后,如果没有按时续费,公有云平台会提供一定的保留期。 保留期的时长由客户等级来定,详细信息请参见“保留期”。 冻结期内,WAF只转发流量,但用户配置的各种防护策略将不再生效。 冻结期满,进入资源清理期,域名的所有配置将会被全部删除。清除资源的时候,默认会把域名指回源站,但由于用户配置的协议和端口可能存在不一致的情况,所以不能保证该域名的业务能正常运行。 为了防止造成不必要的损失,请您及时续费。如果未续费,您将不能使用WAF服务,不影响您的网站访问业务。 如需续费,请在管理控制台续费管理页面进行续费操作。详细操作请参考续费管理。
  • 续费相关功能 包年/包月WAF续费相关的功能如表1所示: 表1 续费相关的功能 功能 说明 手动续费 包年/包月WAF从购买到被自动删除之前,您可以随时在WAF控制台为WAF续费,以延长WAF的使用时间。 自动续费 开通自动续费后,WAF会在每次到期前自动续费,避免因忘记手动续费而导致资源被自动删除。 在包年/包月WAF生命周期的不同阶段,您可以根据需要选择一种方式进行续费,具体如图1所示。 图1 WAF生命周期 WAF从购买到到期前,处于正常运行阶段,“工作模式”为“开启防护”。 到期未续费时,WAF首先会进入宽限期。 超过宽限期仍未续费将进入保留期,如果保留期内仍未续费,资源将被自动删除。 华为云根据客户等级定义了不同客户的宽限期和保留期时长。 在WAF到期前均可开通自动续费,到期前7日凌晨3:00首次尝试自动续费,如果扣款失败,每天凌晨3:00尝试一次,直至WAF到期或者续费成功。到期前7日自动续费扣款是系统默认配置,您也可以根据需要修改此扣款日。
  • 包年/包月资源 对于包年/包月计费模式的资源,例如,包年/包月的WAF云模式版本,用户在购买时会一次性付费,服务将在到期后自动停止使用。 如果在计费周期内不再使用包年/包月资源,您可以执行退订操作,系统将根据资源是否属于五天无理由退订、是否使用代金券和折扣券等条件返还一定金额到您的账户。详细的退订规则请参见云服务退订规则概览。 如果您已开启自动续费功能,为避免继续产生费用,请在自动续费扣款日(默认为到期前7日)之前关闭自动续费。
  • 收集防护域名/IP的配置信息 在添加防护域名/IP前,请获取防护域名/IP如表1所示相关信息。 表1 准备防护域名/IP相关信息 获取信息 参数 说明 示例 配置参数 防护对象 域名:由一串用点分隔的英文字母组成(以字符串的形式来表示服务器IP),用户通过域名来访问网站。 IP:访问网站所使用的IP地址。 www.example.com 防护对象端口 需要防护的域名对应的业务端口。 标准端口 80:HTTP对外协议默认使用端口 443:HTTPS对外协议默认使用端口 非标准端口 80/443以外的端口 须知: 如果防护域名使用非标准端口,请查看WAF支持的端口范围,确保购买的WAF版本支持防护该非标准端口。 80 对外协议 客户端(例如浏览器)请求访问网站的协议类型。WAF支持“HTTP”、“HTTPS”两种协议类型。 HTTP 源站协议 WAF转发客户端(例如浏览器)请求的协议类型。包括“HTTP”、“HTTPS”两种协议类型。 HTTP VPC 选择购买的独享引擎实例所在的VPC。 vpc-default 源站地址 网站服务器的私网IP地址。 说明: 源站地址不能与防护对象一致。 192.168.1.1 (可选)证书 证书名称 对外协议选择“HTTPS”时,需要在WAF上配置证书,将证书绑定到防护域名。 须知: WAF当前仅支持PEM格式证书。如果证书为非PEM格式,请参考如何将非PEM格式的证书转换为PEM格式?转化证书格式。 目前华为云SCM证书只能推送到“default”企业项目下。如果您使用其他企业项目,则不能选择使用SCM推送的SSL证书。 -
  • 约束限制 WAF独享模式仅支持防护业务服务器部署在华为云的网站,支持通过域名或IP接入到WAF进行防护。有关WAF独享模式功能特性的详细介绍,请参见服务版本差异。 接入Web应用防火墙的网站已使用公网ELB(Elastic Load Balance)代理用作负载均衡,且仅支持与独享型ELB配套使用。有关ELB类型的详细介绍,请参见共享型弹性负载均衡与独享型负载均衡的功能区别。 2023年4月之前的独享引擎版本,不支持与独享ELB网络型配合使用。因此,如果您使用了独享ELB网络型(TCP/UDP)负载均衡,请确认独享WAF实例已升级到最新版本(2023年4月及之后的版本),独享引擎版本详情请参见独享引擎版本迭代。
  • 超过业务带宽限制和请求限制会有什么影响 如果您的正常业务流量超过您已购买的WAF版本的业务带宽和请求限制,您在WAF中配置的全部业务的流量转发将可能受到影响。 超出业务请求限制后,可能出现限流、随机丢包等现象,导致您的正常业务在一定时间内不可用、卡顿、延迟等。例如,页面提示“Website is under maintenance (Protected by WAF)”。 如果出现这种情况,您需要升级WAF版本或者扩展业务请求,避免正常业务流量超出业务请求限制所产生的影响。
  • 什么是业务带宽限制 WAF的业务带宽是指所有该WAF防护的域名、站点中正常业务流量的大小,单位为Mbit/s。一个QPS扩展包包含: 对于部署在华为云的Web应用 业务带宽:50Mbit/s 每秒钟的请求量:1000QPS(Query Per Second,例如一个HTTP GET请求就是一个Query) 对于未部署在华为云的Web应用 业务带宽:20Mbit/s 每秒钟的请求量:1000QPS(Query Per Second,例如一个HTTP GET请求就是一个Query) WAF中的实际业务带宽由WAF单独计算,与其他 华为云产品 (如CDN、ELB、E CS 等)的带宽或者流量限制没有任何关联。 通过包年/包月模式购买WAF时,标准版、专业版和铂金版都存在一定量的业务带宽限制,且在华为云内的源站服务器(如ECS、ELB实例等)可享有更高的业务带宽。例如,在WAF铂金版套餐中,对于华为云内的源站的业务带宽限制为300Mbit/s,而对于华为云外的服务器(如IDC机房等)的业务带宽限制则为100Mbit/s,如图1所示。 图1 业务带宽
  • 如何选择QPS扩展包 购买WAF时,您需要提前考虑准备通过WAF配置防护的所有站点的日常入方向和出方向总流量的峰值,确保您选购的WAF所对应的业务带宽限制大于入、出方向总流量峰值中较大的值。 一般情况下,出方向的流量会比较大。 您可以参考云服务器(ECS)管理控制台中的流量统计,或者通过您站点服务器上的其它监控工具来评估您的实际业务流量大小。 流量指的是业务去掉攻击流量后的正常流量。例如,您需要将所有站点对外访问的流量都接入WAF进行防护,在正常访问(未遭受攻击)时,WAF将这些正常访问流量回源到源站ECS实例;而当站点遭受攻击(CC攻击或DDoS攻击)时,WAF将异常流量拦截、过滤后,将正常流量回源到源站ECS实例。因此,您在云服务器(ECS)管理控制台中查看您源站ECS实例的入方向及出方向的流量就是正常的业务流量。如果存在多个源站ECS实例,则需要统计所有源站ECS实例流量的总和。例如:假设您需要通过WAF配置防护六个站点,每个站点的出方向的正常业务流量峰值都不超过2,000QPS,流量总和不超过12,000QPS。这种情况下,您只需选择购买Web应用防火墙铂金版套餐即可。
  • 云审计 服务支持的WAF操作列表 云审计服务(Cloud Trace Service, CTS )记录了Web应用防火墙相关的操作事件,方便用户日后的查询、审计和回溯,具体请参见云审计服务用户指南。 表1 云审计服务支持的WAF操作列表 操作名称 资源类型 事件名称 创建云模式域名 instance createInstance 删除云模式域名 instance deleteInstance 修改云模式域名的防护状态 instance modifyProtectStatus 修改云模式域名的接入状态 instance modifyAccessStatus 修改云模式域名 instance modifyInstance 修改DNS解析,快速接入WAF instance quickAccessInstance 服务器线路设置 instance modifyInstanceRoute 创建域名(独享/elb) host createHost 修改域名(独享/elb) host modifyHost 删除域名(独享/elb) host deleteHost 修改防护状态(独享/elb) host modifyProtectStatus 修改接入状态(独享/elb) host modifyAccessStatus 修改接入配置(独享/elb) host modifyAccessProgress 域名迁移 migrate-host migrateHosts 添加证书 certificate createCertificate 修改证书 certificate updateCertificate 删除证书 certificate deleteCertificate 应用证书(将证书添加到域名) certificate applyCertificate 共享证书 certificate-sharing createCertificateSharing 关闭证书共享 certificate-sharing deleteCertificateSharing 创建Web应用防火墙防护策略 policy createPolicy 应用Web应用防火墙防护策略 policy applyToHost 更新Web应用防火墙防护策略 policy modifyPolicy 删除Web应用防火墙防护策略 policy deletePolicy 创建CC规则 policy createCc 修改CC规则 policy modifyCc 删除CC规则 policy deleteCc 创建精准防护规则 policy createCustom 修改精准防护规则 policy modifyCustom 删除精准防护规则 policy deleteCustom 创建IP黑白名单规则 policy createWhiteblackip 修改IP黑白名单规则 policy modifyWhiteblackip 删除IP黑白名单规则 policy deleteWhiteblackip 创建/刷新网页防篡改规则 policy createAntitamper 开启/关闭网页防篡改规则 policy modifyAntitamper 删除网页防篡改规则 policy deleteAntitamper 创建全局白名单(原误报屏蔽)规则 policy createIgnore 修改全局白名单(原误报屏蔽)规则 policy modifyIgnore 删除全局白名单(原误报屏蔽)规则 policy deleteIgnore 创建隐私屏蔽规则 policy createPrivacy 修改隐私屏蔽规则 policy modifyPrivacy 删除隐私屏蔽规则 policy deletePrivacy 创建攻击惩罚规则 policy createPunishment 修改攻击惩罚规则 policy modifyPunishment 删除攻击惩罚规则 policy deletePunishment 创建地理位置访问控制规则 policy createGeoip 修改地理位置访问控制规则 policy modifyGeoip 删除地理位置访问控制规则 policy deleteGeoip 创建威胁情报访问控制规则 policy createIp-reputation 修改威胁情报访问控制规则 policy modifyIp-reputation 删除威胁情报访问控制规则 policy deleteIp-reputation 创建反爬虫规则 policy createAnticrawler 修改反爬虫规则 policy modifyAnticrawler 删除反爬虫规则 policy deleteAnticrawler 创建防敏感信息泄露规则 policy createAntileakage 修改防敏感信息泄露规则 policy modifyAntileakage 删除防敏感信息泄露规则 policy deleteAntileakage 批量创建CC规则 policy batchCreateCc 批量修改CC规则 policy batchUpdateCc 批量删除CC规则 policy batchDeleteCc 批量创建精准防护规则 policy batchCreateCustom 批量修改精准防护规则 policy batchUpdateCustom 批量删除精准防护规则 policy batchDeleteCustom 批量创建IP黑白名单规则 policy batchCreateWhiteblackip 批量修改IP黑白名单规则 policy batchUpdateWhiteblackip 批量删除IP黑白名单规则 policy batchDeleteWhiteblackip 批量创建地理位置访问控制规则 policy batchCreateGeoip 批量修改地理位置访问控制规则 policy batchUpdateGeoip 批量删除地理位置访问控制规则 policy batchDeleteGeoip 批量创建威胁情报访问控制规则 policy batchCreateIp-reputation 批量修改威胁情报访问控制规则 policy batchUpdateIp-reputation 批量删除威胁情报访问控制规则 policy batchDeleteIp-reputation 批量创建/刷新网页防篡改规则 policy batchCreateAntitamper 批量开启/关闭网页防篡改规则 policy batchUpdateAntitamper 批量删除网页防篡改规则 policy batchDeleteAntitamper 批量创建防敏感信息泄露规则 policy batchCreateAntileakage 批量修改防敏感信息泄露规则 policy batchUpdateAntileakage 批量删除防敏感信息泄露规则 policy batchDeleteAntileakage 批量创建全局白名单(原误报屏蔽)规则 policy batchCreateIgnore 批量修改全局白名单(原误报屏蔽) policy batchUpdateIgnore 批量删除全局白名单(原误报屏蔽) policy batchDeleteIgnore 批量创建隐私屏蔽规则 policy batchCreatePrivacy 批量修改隐私屏蔽规则 policy batchUpdatePrivacy 批量删除隐私屏蔽规则 policy batchDeletePrivacy 创建告警通知 alertNoticeConfig createAlertNoticeConfig 修改告警通知 alertNoticeConfig modifyAlertNoticeConfig 删除告警通知 alertNoticeConfig deleteAlertNoticeConfig 批量删除告警通知 alertNoticeConfig batchDeleteAlertNoticeConfig 删除独享实例 instance deleteInstance 创建独享实例 instance createInstance 更新独享实例 instance upgradeInstance 修改实例名 instance alterInstanceName 添加地址组 ip-group createIPGroup 修改地址组 ip-group modifyIPGroup 删除地址组 ip-group deleteIPGroup 创建引用表 valueList createValueList 修改引用表 valueList modifyValueList 删除引用表 valueList deleteValueList 创建安全报告模板 SecurityReport createSecurityReportSubscription 修改安全报告模板 SecurityReport updateSecurityReportSubscription 删除安全报告模板 SecurityReport deleteSecurityReportSubscription 购买内容安全检测 content_security openPostpaidContentSecurity 批量购买内容安全检测 content_security batchCreateContentSecurityTask 父主题: 审计
  • 请求消息体(可选) 该部分可选。请求消息体通常以结构化格式(如JSON或XML)发出,与请求消息头中Content-Type对应,传递除请求消息头之外的内容。若请求消息体中的参数支持中文,则中文字符必须为UTF-8编码。 每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根据具体接口而定。 对于获取用户Token接口,您可以从接口的请求部分看到所需的请求参数及参数说明。将消息体加入后的请求如下所示,加粗的斜体字段需要根据实际值填写,其中username为用户名,domainname为用户所属的账号名称,********为用户登录密码,xxxxxxxxxxxxxxxxxx为project的名称,如“cn-north-1”,您可以从地区和终端节点获取。 scope参数定义了Token的作用域,下面示例中获取的Token仅能访问project下的资源。您还可以设置Token的作用域为某个账号下所有资源或账号的某个project下的资源,详细定义请参见获取用户Token。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "name": "xxxxxxxxxxxxxxxxxx" } } } } 到这里为止这个请求需要的内容就具备齐全了,您可以使用curl、Postman或直接编写代码等方式发送请求调用API。对于获取用户Token接口,返回的响应消息头中的“x-subject-token”就是需要获取的用户Token。有了Token之后,您就可以使用Token认证调用其他API。
  • 请求URI 请求URI由如下部分组成: {URI-scheme}://{Endpoint}/{resource-path}?{query-string} 尽管请求URI包含在请求消息头中,但大多数语言或框架都要求您从请求消息中单独传递它,所以在此单独强调。 表1 URI中的参数说明 参数 描述 URI-scheme 表示用于传输请求的协议,当前所有API均采用HTTPS协议。 Endpoint 指定承载REST服务端点的服务器域名或IP,不同服务不同区域的Endpoint不同,您可以从地区和终端节点获取。 例如IAM服务在“华北-北京四”区域的Endpoint为“iam.cn-north-4.myhuaweicloud.com”。 resource-path 资源路径,即API访问路径。从具体API的URI模块获取,例如“获取用户Token”API的resource-path为“/v3/auth/tokens”。 query-string 查询参数,是可选部分,并不是每个API都有查询参数。查询参数前面需要带一个“?”,形式为“参数名=参数取值”,例如“?limit=10”,表示查询不超过10条数据。 例如您需要获取IAM在“华北-北京四”区域的Token,则需使用“华北-北京四”区域的Endpoint(iam.cn-north-4.myhuaweicloud.com),并在获取用户Token的URI部分找到resource-path(/v3/auth/tokens),拼接起来如下所示。 1 https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens 图1 URI示意图 为方便查看,在每个具体API的URI部分,只给出resource-path部分,并将请求方法写在一起。这是因为URI-scheme都是HTTPS,而Endpoint在同一个区域也相同,所以简洁起见将这两部分省略。
  • 请求消息头 附加请求头字段,如指定的URI和HTTP方法所要求的字段。例如定义消息体类型的请求头“Content-Type”,请求鉴权信息等。 详细的公共请求消息头字段请参见表3。 表3 公共请求消息头 名称 描述 是否必选 示例 Host 请求的服务器信息,从服务API的URL中获取。值为hostname[:port]。端口缺省时使用默认的端口,https的默认端口为443。 否 使用AK/SK认证时该字段必选。 code.test.com or code.test.com:443 Content-Type 消息体的类型(格式)。推荐用户使用默认值application/json,有其他取值时会在具体接口中专门说明。 是 application/json Content-Length 请求body长度,单位为Byte。 否 3495 X-Project-Id project id,项目编号。请参考获取项目ID章节获取项目编号。 否 如果是专属云场景采用AK/SK认证方式的接口请求,或者多project场景采用AK/SK认证的接口请求,则该字段必选。 e9993fc787d94b6c886cbaa340f9c0f4 X-Auth-Token 用户Token。 用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。 请求响应成功后在响应消息头(Headers)中包含的“X-Subject-Token”的值即为Token值。 否 使用Token认证时该字段必选。 注:以下仅为Token示例片段。 MIIPAgYJKoZIhvcNAQcCo...ggg1BBIINPXsidG9rZ API同时支持使用AK/SK认证,AK/SK认证使用SDK对请求进行签名,签名过程会自动往请求中添加Authorization(签名认证信息)和X-Sdk-Date(请求发送的时间)请求头。 AK/SK认证的详细说明请参见认证鉴权的“AK/SK认证”。 对于获取用户Token接口,由于不需要认证,所以只添加“Content-Type”即可,添加消息头后的请求如下所示。 1 2 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json
  • 请求方法 HTTP请求方法(也称为操作或动词),它告诉服务您正在请求什么类型的操作。 表2 HTTP方法 方法 说明 GET 请求服务器返回指定资源。 PUT 请求服务器更新指定资源。 POST 请求服务器新增资源或执行特殊操作。 DELETE 请求服务器删除指定资源,如删除对象等。 HEAD 请求服务器资源头部。 PATCH 请求服务器更新资源的部分内容。 当资源不存在的时候,PATCH可能会去创建一个新的资源。 在获取用户Token的URI部分,您可以看到其请求方法为“POST”,则其请求为: 1 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens
  • Token认证 Token的有效期为24小时,需要使用一个Token鉴权时,可以先缓存起来,避免频繁调用。 Token在计算机系统中代表令牌(临时)的意思,拥有Token就代表拥有某种权限。Token认证就是在调用API的时候将Token加到请求消息头中,从而通过身份认证,获得操作API的权限。Token可通过调用获取用户Token接口获取。 云服务存在两种部署方式:项目级服务和全局级服务。 项目级服务需要获取项目级别的Token,此时请求body中auth.scope的取值为project。 全局级服务需要获取全局级别的Token,此时请求body中auth.scope的取值为domain。 调用配置审计服务API需要全局级别的Token,即调用获取用户Token接口时,请求body中auth.scope的取值需要选择domain,如下所示。 { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", //IAM用户名 "password": "********", //IAM用户密码 "domain": { "name": "domainname" //IAM用户所属帐号名 } } } }, "scope": { "domain": { "name": "xxxxxxxx" //项目名称 } } } } 获取Token 后,再调用其他接口时,您需要在请求消息头中添加“X-Auth-Token”,其值即为Token。例如Token值为“ABCDEFJ....”,则调用接口时将“X-Auth-Token: ABCDEFJ....”加到请求消息头即可,如下所示。 1 2 3 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/projects Content-Type: application/json X-Auth-Token: ABCDEFJ.... 您还可以通过这个视频教程了解如何使用Token认证:https://bbs.huaweicloud.com/videos/101333。
  • AK/SK认证 AK/SK签名认证方式仅支持消息体大小在12MB以内,12MB以上的请求请使用Token认证。 AK/SK认证就是使用AK/SK对请求进行签名,在请求时将签名信息添加到消息头,从而通过身份认证。 AK(Access Key ID):访问密钥ID。与私有访问密钥关联的唯一标识符;访问密钥ID和私有访问密钥一起使用,对请求进行加密签名。 SK(Secret Access Key):私有访问密钥。与访问密钥ID结合使用,对请求进行加密签名,可标识发送方,并防止请求被修改。 使用AK/SK认证时,您可以基于签名算法使用AK/SK对请求进行签名,也可以使用专门的签名SDK对请求进行签名。详细的签名方法和SDK使用方法请参见API签名指南。 签名SDK只提供签名功能,与服务提供的SDK不同,使用时请注意。
  • 合规规则包 权限 对应API接口 授权项 依赖的授权项 IAM项目 企业项目 创建合规规则包 POST /v1/resource-manager/domains/{domain_id}/conformance-packs rms:conformancePacks:create rf:stack:createStack rf:stack:getStackMetadata rf:stack:listStackResources √ 不涉及 查看合规规则包 GET /v1/resource-manager/domains/{domain_id}/conformance-packs/{conformance_pack_id} rms:conformancePacks:get - √ 不涉及 列举合规规则包 GET /v1/resource-manager/domains/{domain_id}/conformance-packs rms:conformancePacks:list - √ 不涉及 删除合规规则包 DELETE /v1/resource-manager/domains/{domain_id}/conformance-packs/{conformance_pack_id} rms:conformancePacks:delete rf:stack:deleteStack rf:stack:getStackMetadata √ 不涉及 列举合规规则包的结果概览 GET /v1/resource-manager/domains/{domain_id}/conformance-packs/compliance/summary rms:conformancePacks:list - √ 不涉及 列举合规规则包的评估结果 GET /v1/resource-manager/domains/{domain_id}/conformance-packs/{conformance_pack_id}/compliance rms:conformancePacks:get - √ 不涉及 列举合规规则包的评估结果详情 GET /v1/resource-manager/domains/{domain_id}/conformance-packs/{conformance_pack_id}/compliance/details rms:conformancePacks:get - √ 不涉及 列举合规规则包分数 GET /v1/resource-manager/domains/{domain_id}/conformance-packs/scores rms:conformancePacks:list - √ 不涉及 创建组织合规规则包 POST /v1/resource-manager/organizations/{organization_id}/conformance-packs rms:organizationConformancePacks:create organizations:organizations:get organizations:accounts:list organizations:delegatedAdministrators:list organizations:trustedServices:enable organizations:trustedServices:list √ 不涉及 列举组织合规规则包 GET /v1/resource-manager/organizations/{organization_id}/conformance-packs rms:organizationConformancePacks:list organizations:organizations:get √ 不涉及 查看组织合规规则包 GET /v1/resource-manager/organizations/{organization_id}/conformance-packs/{conformance_pack_id} rms:organizationConformancePacks:get organizations:organizations:get √ 不涉及 删除组织合规规则包 DELETE /v1/resource-manager/organizations/{organization_id}/conformance-packs/{conformance_pack_id} rms:organizationConformancePacks:delete organizations:organizations:get √ 不涉及 查看组织合规规则包部署状态 GET /v1/resource-manager/organizations/{organization_id}/conformance-packs/statuses rms:organizationConformancePacks:list organizations:organizations:get √ 不涉及 查看组织合规规则包部署详细状态 GET /v1/resource-manager/organizations/{organization_id}/conformance-packs/detailed-statuses rms:organizationConformancePacks:list organizations:organizations:get √ 不涉及 父主题: 权限和授权项
  • 资源合规 权限 对应API接口 授权项 依赖的授权项 IAM项目 企业项目 列出内置策略 GET /v1/resource-manager/policyDefinitions rms:policyDefinitions:get - √ 不涉及 查询单个内置策略 GET /v1/resource-manager/policy-definitions/{policy_definition_id} rms:policyDefinitions:get - √ 不涉及 更新合规规则 PUT /v1/resource-manager/domains/{domain_id}/policy-assignments/{policy_assignment_id} rms:policyAssignments:update - √ 不涉及 启用合规规则 POST /v1/resource-manager/domains/{domain_id}/policy-assignments/{policy_assignment_id}/enable rms:policyAssignments:update - √ 不涉及 停用合规规则 POST /v1/resource-manager/domains/{domain_id}/policy-assignments/{policy_assignment_id}/disable rms:policyAssignments:update - √ 不涉及 创建合规规则 PUT /v1/resource-manager/domains/{domain_id}/policy-assignments rms:policyAssignments:create - √ 不涉及 列出合规规则 GET /v1/resource-manager/domains/{domain_id}/policy-assignments rms:policyAssignments:get - √ 不涉及 查看单个合规规则 GET /v1/resource-manager/domains/{domain_id}/policy-assignments/{policy_assignment_id} rms:policyAssignments:get - √ 不涉及 删除合规规则 DELETE /v1/resource-manager/domains/{domain_id}/policy-assignments/{policy_assignment_id} rms:policyAssignments:delete - √ 不涉及 获取规则的评估状态 GET /v1/resource-manager/domains/{domain_id}/policy-states/evaluation-state rms:policyStates:get - √ 不涉及 获取资源的合规结果 GET /v1/resource-manager/domains/{domain_id}/resources/{resource_id}/policy-states rms:policyStates:get - √ 不涉及 获取用户的合规结果 GET /v1/resource-manager/domains/{domain_id}/policy-states rms:policyStates:get - √ 不涉及 获取规则的合规结果 GET /v1/resource-manager/domains/{domain_id}/policy-assignments/{policy_assignment_id}/policy-states rms:policyStates:get - √ 不涉及 运行合规评估 POST /v1/resource-manager/domains/{domain_id}/policy-states/run-evaluation rms:policyStates:runEvaluation - √ 不涉及 更新合规评估结果 GET /v1/resource-manager/domains/{domain_id}/policy-states rms:policyStates:update - √ 不涉及 创建或更新组织合规规则 PUT /v1/resource-manager/organizations/{organization_id}/policy-assignments rms:organizationPolicyAssignments:put organizations:organizations:get organizations:accounts:list organizations:delegatedAdministrators:list organizations:trustedServices:enable organizations:trustedServices:list √ 不涉及 查询组织合规规则列表 GET /v1/resource-manager/organizations/{organization_id}/policy-assignments rms:organizationPolicyAssignments:list organizations:organizations:get √ 不涉及 查询指定组织合规规则 GET /v1/resource-manager/organizations/{organization_id}/policy-assignments/{organization_policy_assignment_id} rms:organizationPolicyAssignments:get organizations:organizations:get √ 不涉及 查询组织合规规则部署状态 GET /v1/resource-manager/organizations/{organization_id}/policy-assignment-statuses rms:organizationPolicyAssignments:list organizations:organizations:get √ 不涉及 查询组织内每个成员帐号合规规则部署的详细状态 GET /v1/resource-manager/organizations/{organization_id}/policy-assignment-detailed-status rms:organizationPolicyAssignments:list organizations:organizations:get √ 不涉及 删除组织合规规则 DELETE /v1/resource-manager/organizations/{organization_id}/policy-assignments/{organization_policy_assignment_id} rms:organizationPolicyAssignments:delete organizations:organizations:get √ 不涉及 父主题: 权限和授权项
  • URI GET /v1/resource-manager/conformance-packs/templates 表1 Query参数 参数 是否必选 参数类型 描述 limit 否 Integer 最大的返回数量。 最小值:1 最大值:200 缺省值:200 marker 否 String 分页参数,通过上一个请求中返回的marker信息作为输入,获取当前页。 最小长度:4 最大长度:400 template_key 否 String 预定义合规包模板名称。 最小长度:1 最大长度:128
  • 响应示例 状态码: 200 操作成功。 { "value" : [ { "id" : "k0123456789", "template_key" : "example-001.yaml", "description" : "预定义合规包模板示例。", "template_body" : "Omit it.", "parameters" : { "listOfAllowedFlavors" : { "description" : "The list of allowed flavor types.", "type" : "Array", "default_value" : "STAT", "allowed_values" : [ "STAT" ] } } } ], "page_info" : { "current_count" : 1, "next_marker" : null } }
  • 错误码 当您调用API时,如果遇到“APIGW”开头的错误码,请参见API网关错误码进行处理。 更多服务错误码请参见API错误中心。 状态码 错误码 错误信息 描述 处理措施 400 RMS .00010001 some region is restricted to access. 区域非法。 请检查请求参数。 400 RMS.00010002 resource type invalid. 资源类型非法。 请检查请求参数。 400 RMS.00010003 service invalid. 服务非法。 请检查请求参数。 400 RMS.00010004 invalid parameter. 不合法的参数。 请检查请求参数。 400 RMS.00010007 The max length of domainId must be less than or equal to 36. domainId的长度必须小于等于36。 请检查帐号ID是否正确。 400 RMS.00010008 domainId is illegal. domainId非法。 请检查帐号ID是否正确。 400 RMS.00010009 The max length of id must be less than or equal to 512. 资源ID的长度必须小于等于512。 请检查请求参数。 400 RMS.00010010 id is illegal. 资源ID非法。 请检查请求参数。 400 RMS.00010011 The max length of name must be less than or equal to 256. 资源名称的长度必须小于等于256。 请检查请求参数。 400 RMS.00010012 name is illegal. 资源名称非法。 请检查请求参数。 400 RMS.00010013 The size of resource type array must be between 1 and 100. 资源类型列表的长度必须介于1和100之间。 请检查请求参数。 400 RMS.00010014 The max length of resource type must be less than or equal to 40. 资源类型的长度必须小于等于40。 请检查请求参数。 400 RMS.00010015 resource type is illegal. 资源类型非法。 请检查请求参数。 400 RMS.00010016 The size of region id array must be between 1 and 10. 区域ID列表的长度必须介于1和10之间。 请检查请求参数。 400 RMS.00010017 The max length of region id must be less than or equal to 36. 区域ID的长度必须小于等于36。 请检查请求参数。 400 RMS.00010018 region id is illegal. 区域ID非法。 请检查请求参数。 400 RMS.00010019 The size of enterprise project array must be between 1 and 10. 企业项目列表的长度必须介于1和10之间。 请检查请求参数。 400 RMS.00010020 enterprise project is invalid. 无效的企业项目。 请检查请求参数。 400 RMS.00010021 The max length of project id array must be between 1 and 10. 项目ID列表的长度必须介于1和10之间。 请检查请求参数。 400 RMS.00010022 The max length of project id must be less than or equal to 36. 项目ID的长度必须小于等于36。 请检查请求参数。 400 RMS.00010023 project id is illegal. 项目ID非法。 请检查请求参数。 400 RMS.00010024 The minimum value of limit must be greater than or equal to 1. 分页限制值必须大于等于1。 请检查请求参数。 400 RMS.00010025 The maximum value of limit must be less than or equal to 200. 分页限制值必须小于等于200。 请检查请求参数。 400 RMS.00010026 The minimum value of offset must be greater than or equal to 1. 偏移值必须大于等于1。 请检查请求参数。 400 RMS.00010027 The maximum value of offset must be less than or equal to 1000. 偏移值必须小于等于1000。 请检查请求参数。 400 RMS.00010028 The number of tag keys must be between 1 and 5. 不同标签键的数量必须介于1和5之间。 请检查请求参数。 400 RMS.00010029 The length of a tag key must be less than or equal to 128. 标签的键名长度必须小于等于128。 请检查请求参数。 400 RMS.00010030 The number of values in a tag key must be less than or equal to 5. 同一标签键的键值数量必须小于等于5。 请检查请求参数。 400 RMS.00010031 The length of a tag value must be less than or equal to 255. 标签的键值长度必须小于等于255。 请检查请求参数。 400 RMS.00010032 Tag value is illegal. 标签键值非法。 请检查请求参数。 400 RMS.00010033 Tag key is illegal. 标签键名非法。 请检查请求参数。 400 RMS.00010034 marker is illegal. 标记非法。 请检查请求参数。 400 RMS.00010035 The length of marker must be between 4 and 400. 标记长度必须介于4和400之间。 请检查请求参数。 400 RMS.00010036 The minimum value of limit must be greater than or equal to 1. 分页限制值必须大于等于1。 请检查请求参数。 400 RMS.00010037 The maximum value of limit must be less than or equal to 200. 分页限制值必须小于等于200。 请检查请求参数。 400 RMS.00010038 The minimum value of offset must be greater than or equal to 1. 偏移值必须大于等于1。 请检查请求参数。 400 RMS.00010039 The maximum value of offset must be less than or equal to 1000. 偏移值必须小于等于1000。 请检查请求参数。 400 RMS.00010040 The max length of auth action must be less than or equal to 64. 操作的长度必须小于等于64。 请检查请求参数。 400 RMS.00010041 policy assignment id is illegal. policyAssignmentId非法。 请检查请求参数。 400 RMS.00010042 policy definition id is illegal. policyDefinitionId非法。 请检查请求参数。 400 RMS.00010043 The max length of policy assignment id must be less than or equal to 36. policyAssignmentId的长度必须小于等于36。 请检查请求参数。 400 RMS.00010044 The max length of policy definition id must be less than or equal to 36. policyDefinitionId的长度必须小于等于36。 请检查请求参数。 400 RMS.00010045 The max length of name must be less than or equal to 64. 名称的长度必须小于等于64。 请检查请求参数。 400 RMS.00010046 name is illegal. 名称非法。 请检查请求参数。 400 RMS.00010047 The max length of keyword must be less than or equal to 64. 关键字的长度必须小于等于64。 请检查请求参数。 400 RMS.00010048 keyword is illegal. 关键字非法。 请检查请求参数。 400 RMS.00010049 The max length of compliance state must be less than or equal to 16. 合规状态的长度必须小于等于16。 请检查请求参数。 400 RMS.00010050 compliance state is illegal. 合规状态非法。 请检查请求参数。 400 RMS.00010051 The max length of policy assignment state must be less than or equal to 16. 合规策略状态的长度必须小于等于16。 请检查请求参数。 400 RMS.00010052 policy assignment state is illegal. 合规策略状态非法。 请检查请求参数。 400 RMS.00010053 X-Language header is invalid. 非法的X-Language请求头。 请检查请求参数。 400 RMS.00010054 The max length of queryId must be less than or equal to 36. QueryId的长度必须小于等于36。 请检查请求参数。 400 RMS.00010055 QueryId is illegal. QueryId非法。 请检查请求参数。 400 RMS.00010056 The minimum value of limit must be greater than or equal to 1. 分页限制值必须大于等于1。 请检查请求参数。 400 RMS.00010057 The maximum value of limit must be less than or equal to 200. 分页限制值必须小于等于200。 请检查请求参数。 400 RMS.00010058 marker is illegal. marker标记非法。 请检查请求参数。 400 RMS.00010059 The length of marker must be between 4 and 400. marker标记长度必须介于4和400之间。 请检查请求参数。 400 RMS.00010060 Incorrect resource query language. 错误的高级查询语句。 检查高级查询语句是否正确。 400 RMS.00010061 Stored query name is illegal. 高级查询名称非法。 请检查请求参数。 400 RMS.00010062 The length of stored query name must be between 1 and 64. 高级查询名称长度必须介于1和64之间。 请检查请求参数。 400 RMS.00010064 Organization_id is illegal. organization_id非法。 请检查请求参数。 400 RMS.00010065 Organization_id length must be between 1 and 34. organization_id长度必须小于等于34。 请检查请求参数。 400 RMS.00010066 Organization_policy_assignment_id is illegal. organization_policy_assignment_id非法。 请检查请求参数。 400 RMS.00010067 Organization_policy_assignment_id length must be between 1 and 32. organization_policy_assignment_id长度必须小于等于32。 请检查请求参数。 400 RMS.00010068 Organization_policy_assignment_name is illegal. organization_policy_assignment_name非法。 请检查请求参数。 400 RMS.00010069 Organization_policy_assignment_name must be between 1 and 64. organization_policy_assignment_name长度必须小于等于64。 请检查请求参数。 400 RMS.00010070 The aggregator is not found. 聚合器不存在。 请检查请求参数。 400 RMS.00010071 Aggregator_id is illegal. aggregator_id非法。 请检查请求参数。 400 RMS.00010072 Aggregator_id length must be between 1 and 32. aggregator_id长度必须小于等于32。 请检查请求参数。 400 RMS.00010073 Authorized_account_id is illegal. authorized_account_id非法。 请检查请求参数。 400 RMS.00010074 Authorized_account_id length must be between 1 and 36. authorized_account_id长度必须小于等于36。 请检查请求参数。 400 RMS.00010075 Requester_account_id is illegal. requester_account_id非法。 请检查请求参数。 400 RMS.00010076 Requester_account_id length must be between 1 and 36. requester_account_id长度必须小于等于36。 请检查请求参数。 400 RMS.00010077 Aggregator_name is illegal. aggregator_name非法。 请检查请求参数。 400 RMS.00010078 Aggregator_name length must be between 1 and 64. aggregator_name长度必须小于等于64。 请检查请求参数。 400 RMS.00010080 Aggregator_update_status length must be between 1 and 16. aggregator_update_status长度必须小于16。 请检查请求参数。 400 RMS.00010081 The maximum value of limit is 2000. 分页限制值必须小于等于2000。 请检查请求参数。 400 RMS.00010082 The number of aggregators exceed quota. 聚合器数量超过配额,组织聚合器上限数量为1,帐号聚合器上限数量为30。 请检查资源聚合器剩余配额。 400 RMS.00010083 Conformance_pack_name is illegal. 合规规则包名称非法。 请检查请求参数。 400 RMS.00010084 Conformance_pack_name length must be between 1 and 64. 合规规则包名称长度必须小于等于64。 请检查请求参数。 400 RMS.00010085 Conformance_pack_id is illegal. 合规规则包ID非法。 请检查请求参数。 400 RMS.00010086 Conformance_pack_id length must be between 1 and 36. 合规规则包ID长度必须小于等于36。 请检查请求参数。 400 RMS.00010087 Template_key is illegal. 预定义合规规则包模板的名称非法。 请检查请求参数。 400 RMS.00010088 Template_key length must be between 1 and 128. 预定义合规规则包模板的名称长度必须小于等于128。 请检查请求参数。 400 RMS.00010089 Template_id is illegal. 预定义合规规则包模板的ID非法。 请检查请求参数。 400 RMS.00010090 Template_id length must be between 1 and 36. 预定义合规规则包模板的ID长度必须小于等于36。 请检查请求参数。 400 RMS.00010091 The tracker-config is not enabled. 资源记录器未开启。 请开启资源记录器。 400 RMS.00010092 The number of accounts operated by the aggregator exceeds the limit. 聚合器操作超过限制,帐号聚合器七天内增加或删除的最大账户数为1000 请检查七天内增加或删除的最大账户数是否超过1000 400 RMS.00010093 Exceeded limit on organization aggregator operations. 聚合器操作超过限制,组织聚合器一天内新增最大数为1 请检查一天内创建的组织聚合器个数 401 RMS.00010079 Incorrect IAM authentication information: Authorization header is missing. IAM认证错误:缺少Authorization header。 请添加认证header。 403 RMS.00010006 access denied. 访问拒绝。 请检查权限是否正确。 404 RMS.00010005 resource not found. 资源未找到。 请检查资源是否存在。 429 RMS.00010063 ResourceQL is busy. 高级查询繁忙中。 请稍后重试。 500 RMS.INTERNAL.ERROR Internal server error occurred. 服务内部错误。 请稍后再试或联系客服。 父主题: 附录
  • 响应示例 状态码: 200 操作成功。 { "id" : "k0123456789", "template_key" : "example-001.yaml", "description" : "预定义合规包模板示例。", "template_body" : "Omit it.", "parameters" : { "listOfAllowedFlavors" : { "description" : "The list of allowed flavor types.", "type" : "Array", "default_value" : "STAT", "allowed_values" : [ "STAT" ] } } }
共100000条