华为云用户手册

  • 资源和成本规划 表1 资源和成本规划 云资源 规格 数量 每月费用(元) 云容器引擎 产品分类: CCE容器集群 | Standard/Turbo | 50节点 | 是 1 ¥1262.40 弹性负载均衡 实例类型: 共享型负载均衡(性能保障模式) IP费用: 1个 | 全动态BGP 带宽: 全动态BGP | 带宽 | 1Mbit/s 1 ¥173.00 Web应用防火墙 规格选择: 标准版 1 ¥3880.00 分布式缓存服务Redis 产品类型: 基础版 | 6.0 | 主备 | X86 | D RAM | 2 | 128 MB 1 ¥8.44 业务引擎 规格: X86计算 | 通用计算增强型 | c6.xlarge.2 | 4核 | 8GB 镜像: AlmaLinux | AlmaLinux 9.0 64bit 系统盘: 通用型SSD | 40GB 弹性公网IP: 全动态BGP | 独享 | 按带宽计费 | 5Mbit/s 1 ¥560.20 报表引擎 规格: X86计算 | 通用计算增强型 | c3.xlarge.2 | 4核 | 8GB 镜像: AlmaLinux | AlmaLinux 9.0 64bit 系统盘: 通用型SSD | 40GB 弹性公网IP: 全动态BGP | 独享 | 按带宽计费 | 5Mbit/s 1 ¥582.10 弹性公网IP 带宽费用: 独享 | 全动态BGP | 按带宽计费 | 1Mbit/s 弹性公网IP费用: 1个 1 ¥23.00 分布式消息服务 RabbitMQ版 规格: 单机 | 4u8g.single | 代理个数:1 单个代理存储空间: 超高IO | 100GB ( 总存储空间: 100GB ) 1 ¥1360.00 分布式消息服务 Kafka版 规格: kafka.4u8g.cluster | 代理个数:3 单个代理存储空间: 超高IO | 100GB ( 总存储空间: 300GB ) 1 ¥4080.00 云数据库 RDS(for PostgreSQL) 规格: 通用可用区 | MySQL | 8.0 | 主备 | 通用型 | 2核4GB 存储空间: SSD云盘 | 40GB 1 ¥470.00 MapReduce ClickHouse Master 节点: 系统盘:高IO | 480GB *2 Master 节点: 数据盘:高IO | 200GB *2 node_group_1: 系统盘:高IO | 480GB *3 node_group_1: 数据盘:高IO | 100GB | 1个 *3 1 ¥1085.00 对象存储服务 产品类型: 对象存储 | 标准存储单AZ存储包 | 40GB 1 ¥1.00 企业主机安全 规格: 企业版 1 ¥90.00 云备份 存储库类型: 云服务器备份存储库 | 1000GB 1 ¥200.00 云日志 服务 日志读写流量: 59.51 GB 日志索引流量: 299.51 GB 日志存储空间: 69.51 GB 1 ¥130.65 应用运维管理 自定义指标上报量: 100百万次/天 指标存储时长: 7天 数据转储: 1GB 1 ¥70.20 云堡垒机 实例类型: 单机 性能规格: 10资产标准版 1 ¥700.00 OCR 服务类型: 不动产权证识别 | 1千次 1 ¥83.00 FRS 计费方式: 按调用量计费 | 人脸比对V2 | 300万 1 ¥9300.00 云数据库 GaussDB (for MySQL) CPU架构: X86 | 独享型 | 4核16GB | 2个节点 存储空间: DL5 | 40GB 1 ¥2342.00 容器镜像服务 4核,8G 1 ¥500.00 Anti-DDoS流量清洗 4核,8G 1 ¥100.00 总计:¥27000.99
  • 与其他服务的关系 表1 异步复制与其他服务的关系 交互功能 相关服务 位置 使用弹性云服务器创建异步复制的保护实例。 弹性云服务器 创建保护实例 使用云硬盘创建异步复制的容灾盘。 云硬盘 创建保护实例 为异步复制创建云上的容灾网络。 虚拟私有云 创建站点复制对 作为生产端和容灾端的数据缓存。 对象存储服务 - 表2 同步复制与其他服务的关系 交互功能 相关服务 位置 使用弹性云服务器创建同步复制的保护实例。 弹性云服务器 创建保护实例 使用云硬盘创建同步复制的复制对。 云硬盘 创建复制对 使用专属分布式存储提供的独享物理存储资源创建的云硬盘来创建同步复制的复制对。 专属分布式存储 创建复制对 为同步复制的保护组选择一个所属的虚拟私有云。 虚拟私有云 创建保护组
  • 产品基本概念 表1 公共概念 概念 说明 生产站点 正常情况下承载业务的数据中心机房,可以独立运行,对业务的正常运作起到直接支持作用。对于异步复制,生产站点指的是用户的本地数据中心、租户的服务器云主机所在的位置。对于同步复制,生产站点在创建保护组时指定,即租户的服务器所在的位置。 容灾站点 正常情况下不直接承载业务的机房,主要用于数据实时备份,在生产站点发生故障(计划性和非计划性)时可以通过执行容灾切换来接管业务,地理上不一定与业务管理中心接近,可以在同一个城市,也可以在不同的城市。 保护组 用于管理一组需要复制的服务器。一个保护组可以管理一个虚拟私有云下的服务器,租户拥有多个虚拟私有云时则需要创建多个保护组。 保护实例 一对拥有复制关系的服务器。保护实例仅属于一个特定的保护组,因此这对服务器所在位置与保护组的生产站点或容灾站点相同。 VBD VBD(Virtual Block Device)是云硬盘磁盘模式的一种。云硬盘的磁盘模式默认为VBD类型。VBD类型的云硬盘只支持简单的S CS I读写命令。适用于企业的日常办公应用以及开发测试等场景。 SCSI SCSI(Small Computer System Interface)是云硬盘磁盘模式的一种。SCSI类型的云硬盘支持SCSI指令透传,允许服务器操作系统直接访问底层存储介质。除了简单的SCSI读写命令,SCSI类型的云硬盘还可以支持更高级的SCSI命令,例如持久锁预留,适用于通过锁机制保障数据安全的集群应用场景。 RPO 恢复点目标,一种业务切换策略,是数据丢失最少的容灾切换策略。以数据恢复点为目标,确保容灾切换所使用的数据为最新的备份数据。 RTO 恢复时间目标,为使中断对业务所带来的冲击最小化,关键业务从中断时间点恢复到预定可接受水平上的目标时间。具体体现为,从生产站点发起切换或故障切换操作起,至容灾站点的服务器开始运行为止的一段时间,不包括手动操作DNS配置,安全组配置或执行客户脚本等任何时间,RTO小于30分钟。 容灾演练 为了确保一旦发生故障切换后,容灾机能够正常接管业务而进行的操作。 通过容灾演练,模拟真实故障恢复场景,制定应急恢复预案,当真实故障发生时,通过预案快速恢复业务,提高业务连续性。 表2 异步复制 概念 说明 站点复制对 一对拥有复制关系的生产站点和容灾站点。 云容灾网关 云容灾网关将生产站点所有被容灾的服务器上的数据进行汇聚压缩,并同步到容灾站点。 代理客户端 代理客户端将所在服务器上的数据传输到云容灾网关。 开启保护 生产业务位于生产站点时,数据同步停止后可执行此操作,用来开始数据同步。 切换 将业务从用户的生产站点切换到容灾站点。切换后数据同步中断,保护实例的状态是切换完成。 切回 切换完成后,当前生产业务位于容灾站点,通过切回操作,可将生产业务从容灾站点切回到生产站点。切回完成后,数据不再进行同步。 反向重保护 切换完成后,数据不会自动反向同步(容灾站点到生产站点),保护实例处于停止保护状态,如需开始反向数据同步,需要进行反向重保护操作。 重保护 切回完成后,数据不会自动同步(生产站点到容灾站点),保护实例处于停止保护状态,如需开始数据同步,需要进行重保护操作。 停止保护 生产业务位于生产站点时,数据同步中或者同步完成后可执行此操作,用来停止数据同步。 表3 同步复制概念 概念 说明 复制对 一对拥有复制关系的云硬盘。复制对仅属于一个特定的保护组,且可以挂载给同一个保护组下的保护实例。 切换 临时关闭生产站点服务器进行计划性迁移,可将业务从生产站点可用区切换到容灾站点可用区。切换后容灾方向更改为从容灾站点到生产站点,容灾站点可用区内的服务器和云硬盘等资源可启动。 故障切换 系统将生产站点的业务强制置为不可启动,将容灾站点的业务设置为可启动。该动作影响保护组内的所有保护实例,故障切换后,租户需要启动容灾站点的服务器。故障切换后,保护组进入故障切换状态,并中断数据同步,需要通过重保护来恢复数据同步。 开启保护 在保护组创建后、数据同步停止后可执行此操作,用来开始数据复制,此时界面上有复制进度的提示,该动作影响保护组内的所有保护实例、复制对。 单击“开启保护”,保护组状态变为“同步中”,此时,保护组不允许停止保护。 重保护 在故障切换后可执行此操作,用来开始数据复制,此时界面上有复制进度的提示,该动作影响保护组内的所有保护实例、复制对。 故障切换操作后,单击“重保护”,保护组的状态变为“重新开启保护中”,此时,保护组不允许停止保护。 停止保护 在保护组的数据同步完成后可执行此操作,用来停止数据复制。停止完成后,保护状态变为可用。 挂载复制对 将一个复制对挂载给一个保护实例,等价于同时为保护实例中的两个服务器挂载复制对中的两个云硬盘。 卸载复制对 从一个保护实例中卸载一个复制对,等价于同时从保护实例中的两个服务器中卸载复制对中的两个云硬盘。 容灾方向 创建保护组时,选择的生产站点可用区到容灾站点可用区的数据复制方向。 切换操作会改变保护组的容灾方向,将生产站点可用区的业务切换到容灾站点可用区,容灾站点可用区的业务切换到生产站点可用区。 保护组状态 同步复制对某一个保护组进行创建、删除、开启保护、停止保护、切换、故障切换等操作之后的状态,表示该保护组资源的状态。 具体请参见《存储容灾服务接口参考》附录中的“保护组状态”。 同步状态 保护组的生产站点可用区与容灾站点可用区之间的数据复制状态。 所属VPC VPC即虚拟私有云,可以方便地管理、配置内部网络,进行安全、快捷的网络变更,不同虚拟私有云里面的服务器网络默认不通。所属VPC即保护组所在的虚拟私有云。 父主题: 基本概念
  • 产品优势 存储容灾服务具有以下优势: 便捷的业务恢复方案 存储容灾服务提供集中的控制台,您可以通过管理控制台配置和管理服务器复制,执行切换和容灾演练等操作。 服务器复制 您可以创建从生产站点至容灾站点的复制。 按需复制 您可以将服务器按需复制至另一个可用区,免除您维护另一个数据中心的成本和复杂度。 不感知应用 运行在服务器上的任何应用都支持被复制。 RPO目标 存储容灾服务为云服务器提供异步复制,恢复点目标(RPO)为秒级。 RTO目标 恢复时间目标(RTO)为从生产站点发起切换或故障切换操作起,至容灾站点的服务器开始运行为止的一段时间,不包括手动操作DNS配置、安全组配置或执行客户脚本等任何时间,正常情况下,SDRS的RTO小于30分钟。 保持崩溃一致性 保证基于主机的异步复制,您容灾站点的数据与生产站点的数据保持崩溃一致性(存储容灾服务可以保证崩溃一致性,不能保证应用一致性)。 在不中断业务的情况下进行容灾演练 支持在线一键式容灾演练,通过容灾演练,模拟真实故障恢复场景,制定应急恢复预案,当真实故障发生时,通过预案快速恢复业务,提高业务连续性。 灵活的故障切换 生产站点发生故障时,可一键式执行切换操作,在容灾站点自动创建、部署、拉起云服务器,并挂载包含最新数据的容灾盘,仅需用户少量配置即可恢复业务。 高性价比:业务正常情况下,容灾端不启动云服务器,用户只需要支付少量的OBS服务费用以及容灾站点云硬盘费用即可。 部署简单:Agent在线安装,生产业务不中断,部署简单快捷。
  • 什么是区域、可用区? 区域和可用区用来描述数据中心的位置,您可以在特定的区域、可用区创建资源。 区域(Region):从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属Region,通用Region指面向公共租户提供通用云服务的Region;专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region。 可用区(AZ,Availability Zone):一个AZ是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 图1阐明了区域和可用区之间的关系。 图1 区域和可用区 目前,华为云已在全球多个地域开放云服务,您可以根据需求选择适合自己的区域和可用区。更多信息请参见华为云全球站点。
  • SDRS权限 默认情况下,管理员创建的 IAM 用户没有任何权限,需要将其加入用户组,并给用户组授予策略或角色,才能使得用户组中的用户获得对应的权限,这一过程称为授权。授权后,用户就可以基于被授予的权限对云服务进行操作。 SDRS部署时通过物理区域划分,为项目级服务。授权时,“作用范围”需要选择“区域级项目”,然后在指定区域(如华北-北京四)对应的项目(cn-north-4)中设置相关权限,并且该权限仅对此项目生效;如果在“所有项目”中设置权限,则该权限在所有区域项目中都生效。访问SDRS时,需要先切换至授权区域。 如表1所示,包括了SDRS的所有系统角色。由于华为云各服务之间存在业务交互关系,存储容灾服务的角色依赖其他服务的角色实现功能。因此给用户授予存储容灾服务的角色时,需要同时授予依赖的角色,存储容灾服务的权限才能生效。 表1 SDRS系统角色 策略名称 描述 依赖关系 SDRS Administrator 存储容灾服务的管理员权限。 依赖Tenant Guest、Server Administrator和VPC Administrator策略。 Tenant Guest:全局级策略,在全局项目中勾选。 Server Administrator:项目级策略,在同项目中勾选。 VPC Administrator:项目级策略,在同项目中勾选。
  • 存储容灾 存储容灾服务(Storage Disaster Recovery Service)是一种为弹性云服务器(Elastic Cloud Server,ECS)和云硬盘(Elastic Volume Service,EVS)等服务提供容灾的服务。通过主机层复制、数据冗余和缓存加速等多项技术,提供给用户高级别的数据可靠性以及业务连续性,简称存储容灾。 存储容灾服务有助于保护业务应用,将弹性云服务器的数据、配置信息复制到容灾站点,并允许业务应用在生产站点云服务器服务器停机期间在容灾站点云服务器上启动并正常运行,从而提升业务连续性。
  • 基本概念 账号 用户注册时的账号,账号对其所拥有的资源及云服务具有完全的访问权限,可以重置用户密码、分配用户权限等。由于账号是付费主体,为了确保账号安全,建议您不要直接使用账号进行日常管理工作,而是创建用户并使用他们进行日常管理工作。 用户 由账号在IAM中创建的用户,是云服务的使用人员,具有身份凭证(密码和访问密钥)。 在我的凭证下,您可以查看账号ID和用户ID。通常在调用API的鉴权过程中,您需要用到账号、用户和密码等信息。 区域(Region) 从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属Region,通用Region指面向公共租户提供通用云服务的Region;专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region。 详情请参见区域和可用区。 可用区(AZ,Availability Zone) 一个AZ是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 项目 区域默认对应一个项目,这个项目由系统预置,用来隔离物理区域间的资源(计算资源、存储资源和网络资源),以默认项目为单位进行授权,用户可以访问您账号中该区域的所有资源。如果您希望进行更加精细的权限控制,可以在区域默认的项目中创建子项目,并在子项目中创建资源,然后以子项目为单位进行授权,使得仅能访问特定子项目中资源,使得资源的权限控制更加精确。 图1 项目隔离模型
  • 容灾与备份 容灾和备份具有以下区别: 容灾主要应对数据中心软硬件故障或重大自然灾害,生产站点和容灾站点之间通常会保持一定的安全距离,支持同城或异地;备份主要针对人为误操作、病毒感染、逻辑错误等因素,用于业务系统的数据恢复,数据备份一般在同一数据中心进行。 容灾系统不仅保护数据,更重要的目的在于保证业务的连续性;而数据备份系统只保护不同时间点版本数据的可恢复。一般首次备份为全量备份,所需的备份时间会比较长,而后续增量备份则在较短时间内就可完成。 容灾可实现低至秒级的RPO;备份可设置一天最多24个不同时间点的自动备份策略,后续可将数据恢复至不同的备份点。 故障情况下(例如地震、火灾、数据中心故障),容灾系统的切换时间一般为分钟级;而备份系统的恢复时间可能几小时到几十小时。
  • 状态码 正常 返回值 说明 200 请求成功。 异常 状态码 编码 说明 400 Bad Request 服务器不能或不会处理该请求。 401 Unauthorized 当前请求需要用户验证。 403 Forbidden 服务器拒绝执行该请求。 404 Not Found 服务器无法找到被请求的资源。 418 I'm a teapot 请求参数错误,服务器无法处理该请求。 500 Internal Server Error 请求失败,服务异常。 父主题: 附录
  • 调用API获取项目ID 项目ID可以通过调用查询指定条件下的项目信息API获取。 获取项目ID的接口为“GET https://{Endpoint}/v3/projects”,其中{Endpoint}为IAM的终端节点,可以从地区和终端节点获取。接口的认证鉴权请参见认证鉴权。 响应示例如下,其中projects下的“id”即为项目ID。 { "projects": [ { "domain_id": "65382450e8f64ac0870cd180d14e684b", "is_domain": false, "parent_id": "65382450e8f64ac0870cd180d14e684b", "name": "xxxxxxxx", "description": "", "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects/a4a5d4098fb4474fa22cd05f897d6b99" }, "id": "a4a5d4098fb4474fa22cd05f897d6b99", "enabled": true } ], "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects" }}
  • 请求URI 请求URI由如下部分组成。 {URI-scheme} :// {Endpoint} / {resource-path} ? {query-string} 尽管请求URI包含在请求消息头中,但大多数语言或框架都要求您从请求消息中单独传递它,所以在此单独强调。 URI-scheme: 表示用于传输请求的协议,当前所有API均采用HTTPS协议。 Endpoint: 指定承载REST服务端点的服务器 域名 或IP,不同服务不同区域的Endpoint不同,您可以从地区和终端节点获取。 例如IAM服务在“华北-北京一”区域的Endpoint为“iam.cn-north-1.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-1.myhuaweicloud.com),并在获取用户Token的URI部分找到resource-path(/v3/auth/tokens),拼接起来如下所示。 https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens 图1 URI示意图 为查看方便,在每个具体API的URI部分,只给出resource-path部分,并将请求方法写在一起。这是因为URI-scheme都是HTTPS,同一个服务的Endpoint在同一个区域也相同,所以简洁起见将这两部分省略。
  • 请求消息体 请求消息体通常以结构化格式发出,与请求消息头中Content-type对应,传递除请求消息头之外的内容。若请求消息体中参数支持中文,则中文字符必须为UTF-8编码。 每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根据具体接口而定。 对于获取用户Token接口,您可以从接口的请求部分看到所需的请求参数及参数说明。将消息体加入后的请求如下所示,加粗的斜体字段需要根据实际值填写,其中username为用户名,domainname为用户所属的账号名称,********为用户登录密码,xxxxxxxxxxxxxxxxxx为project的名称,如“cn-north-1”,您可以从地区和终端节点获取,对应地区和终端节点页面的“区域”字段的值。 scope参数定义了Token的作用域,下面示例中获取的Token仅能访问project下的资源。您还可以设置Token作用域为某个账号下所有资源或账号的某个project下的资源,详细定义请参见获取用户Token。 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokensContent-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。
  • 请求方法 HTTP请求方法(也称为操作或动词),它告诉服务你正在请求什么类型的操作。 GET:请求服务器返回指定资源。 PUT:请求服务器更新指定资源。 POST:请求服务器新增资源或执行特殊操作。 DELETE:请求服务器删除指定资源,如删除对象等。 HEAD:请求服务器资源头部。 PATCH:请求服务器更新资源的部分内容。当资源不存在的时候,PATCH可能会去创建一个新的资源。 在获取用户Token的URI部分,您可以看到其请求方法为“POST”,则其请求为: POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens
  • 请求消息头 附加请求头字段,如指定的URI和HTTP方法所要求的字段。例如定义消息体类型的请求头“Content-Type”,请求鉴权信息等。 如下公共消息头需要添加到请求中。 Content-Type:消息体的类型(格式),必选,默认取值为“application/json”,有其他取值时会在具体接口中专门说明。 X-Auth-Token:用户Token,可选,当使用Token方式认证时,必须填充该字段。用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。 API同时支持使用AK/SK认证,AK/SK认证是使用SDK对请求进行签名,签名过程会自动往请求中添加Authorization(签名认证信息)和X-Sdk-Date(请求发送的时间)请求头。 AK/SK认证的详细说明请参见AK/SK认证。 对于获取用户Token接口,由于不需要认证,所以只添加“Content-Type”即可,添加消息头后的请求如下所示。 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokensContent-Type: application/json
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 total Integer 端口总数 最小值:0 最大值:100000 data Array of PortItem objects 端口信息列表 数组长度:0 - 100000 表5 PortItem 参数 参数类型 描述 port Integer 端口号 最小值:0 最大值:65535 service String 服务 最小长度:0 最大长度:1000 protocol String 端口协议: TCP UDP 枚举值: TCP UDP status String 端口状态: filtered - 过滤的 open - 开放 枚举值: filtered open 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:0 最大长度:50 error_msg String 错误描述 最小长度:0 最大长度:256 状态码: 401 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:0 最大长度:50 error_msg String 错误描述 最小长度:0 最大长度:256 状态码: 418 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:0 最大长度:50 error_msg String 错误描述 最小长度:0 最大长度:256
  • URI GET /v3/{project_id}/webscan/results/ports 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 用户的project_id,获取方法请参见获取项目ID。 最小长度:32 最大长度:32 表2 Query参数 参数 是否必选 参数类型 描述 task_id 是 String 任务ID 最小长度:32 最大长度:50 offset 否 Integer 分页查询,偏移量,表示从此偏移量开始查询 最小值:0 最大值:10000 缺省值:0 limit 否 Integer 分页查询,每页显示的条目数量 最小值:1 最大值:10000 缺省值:5
  • 响应示例 状态码: 200 OK { "total" : 1, "data" : [ { "port" : 22, "service" : "Secure Shell (SSH), secure logins, file transfers (scp, sftp) and port forwarding", "protocol" : "TCP", "status" : "open" } ]}
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 task_id String 任务ID 最小长度:32 最大长度:50 report_status String PDF报告生成状态: ungenerated - 未生成 generating - 生成中 generated - 已生成 failed - 生成失败 枚举值: ungenerated generating generated failed 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:0 最大长度:50 error_msg String 错误描述 最小长度:0 最大长度:256 状态码: 401 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:0 最大长度:50 error_msg String 错误描述 最小长度:0 最大长度:256 状态码: 418 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:0 最大长度:50 error_msg String 错误描述 最小长度:0 最大长度:256
  • URI GET /v3/{project_id}/webscan/report/status 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 用户的project_id,获取方法请参见获取项目ID。 最小长度:32 最大长度:32 表2 Query参数 参数 是否必选 参数类型 描述 task_id 是 String 任务ID 最小长度:32 最大长度:50
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 info_code String 状态码: success - 成功 failure - 失败 枚举值: success failure info_description String 返回的提示信息 最小长度:0 最大长度:64 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:0 最大长度:50 error_msg String 错误描述 最小长度:0 最大长度:256 状态码: 401 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:0 最大长度:50 error_msg String 错误描述 最小长度:0 最大长度:256 状态码: 418 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:0 最大长度:50 error_msg String 错误描述 最小长度:0 最大长度:256
  • 响应示例 状态码: 200 OK { "total" : 1, "items" : [ { "type" : "protocolvuln", "port" : "general-tcp", "title" : "Apache Log4j2 Remote Code Execution Vulnerability", "sa_id" : "Apache Log4j2 Remote Code Execution Vulnerability", "vuln_id" : "1.3.6.1.4.1.25623.1.0.301012-general-tcp", "severity" : "high", "topic" : "Apache Log4j2 Remote Code Execution Vulnerability", "description" : "Apache Log4j2 2.0-beta9 through 2.15.0 (excluding security releases 2.12.2, 2.12.3) JNDI features used in configuration, log messages, and parameters do not protect against attacker controlled LDAP and other JNDI related endpoints. \\nAn attacker who can control log messages or log message parameters can execute arbitrary code loaded from LDAP servers when message lookup substitution is enabled.\\nhttps://www.huaweicloud.com/notice/2021/20211210001621800.html\\n", "fix_advisory" : "Update log4j to 2.12.2, 2.16.0 or later. Ask application vendor for a fix.\\nPlease refer to https://www.huaweicloud.com/notice/2021/20211210001621800.html", "cve_list" : [ { "id" : "CVE-2021-44228", "link" : "" } ], "ref_link_list" : [ "" ], "vul_detect_result" : "/var/lib/docker/overlay2/54e1e225d711d77afc0e8cf6fa3dda0274c56659b21d214715ee53f18565789f/diff/root/sdkrend/log4j-core-2.8.2.jar\\n", "cvss_score" : "9.3", "cvss_version" : "", "cvss_vector" : "AV:N/AC:M/Au:N/C:C/I:C/A:C", "is_ignore" : false } ]}
  • URI GET /v3/{project_id}/hostscan/hosts/{host_id}/sys-vulns 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 用户的project_id 最小长度:32 最大长度:32 host_id 是 String 主机ID 最小长度:1 最大长度:64 表2 Query参数 参数 是否必选 参数类型 描述 scan_id 是 String 扫描ID 最小长度:1 最大长度:64 offset 否 Integer 分页查询,偏移量,表示从此偏移量开始查询 最小值:0 最大值:10000 缺省值:0 limit 否 Integer 分页查询,每页显示的条目数量 最小值:1 最大值:100 缺省值:5
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 total Integer 主机漏洞总数 最小值:0 最大值:1000 items Array of HostVulnItem objects 主机漏洞信息列表 数组长度:0 - 1000 表5 HostVulnItem 参数 参数类型 描述 type String 漏洞类型 最小长度:0 最大长度:100 port String 扫描端口号 最小长度:0 最大长度:100 title String 漏洞标题 最小长度:0 最大长度:1000 sa_id String 漏洞公告ID 最小长度:0 最大长度:100 vuln_id String 漏洞ID 最小长度:1 最大长度:100 severity String 漏洞风险等级: high - 高风险 medium - 中风险 low - 低风险 hint - 提示 枚举值: high medium low hint topic String 漏洞摘要 最小长度:0 最大长度:1024 description String 漏洞描述 最小长度:0 最大长度:10240 solution String 漏洞提示建议 最小长度:0 最大长度:10240 fix_advisory String 漏洞修复建议 最小长度:0 最大长度:10240 fix_cmd String 漏洞修复指令 最小长度:0 最大长度:10240 cve_list Array of cve_list objects CVE漏洞列表 数组长度:0 - 100 ref_link_list Array of strings 参考信息链接列表 最小长度:0 最大长度:10000 数组长度:0 - 1000 component_list Array of component_list objects 内容列表 数组长度:0 - 1000 vul_detect_result String 检查结果 最小长度:0 最大长度:10240 cvss_score String CVSS分数信息 最小长度:0 最大长度:5 cvss_version String CVSS版本信息 最小长度:0 最大长度:5 cvss_vector String CVSS向量信息 最小长度:0 最大长度:100 is_ignore Boolean 是否误报 表6 cve_list 参数 参数类型 描述 id String CVE漏洞ID 最小长度:0 最大长度:100 link String CVE漏洞链接 最小长度:0 最大长度:100 表7 component_list 参数 参数类型 描述 componentName String 内容名称 最小长度:0 最大长度:1000 componentInstallVersion String 安装版本 最小长度:0 最大长度:1000 componentFixedVersion String 已经修复版本 最小长度:0 最大长度:1000 状态码: 400 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:0 最大长度:50 error_msg String 错误描述 最小长度:0 最大长度:256 状态码: 401 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:0 最大长度:50 error_msg String 错误描述 最小长度:0 最大长度:256 状态码: 418 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:0 最大长度:50 error_msg String 错误描述 最小长度:0 最大长度:256
  • 响应示例 状态码: 200 OK { "total" : 1, "top_level_domain_num" : 1, "domains" : [ { "domain_id" : "2ec0993b8572455aacf14b6f9288b167", "top_level_domain_id" : "e38db200a348414f9c8df6418dab0765", "domain_name" : "127.0.0.1:8080", "alias" : "网站资产1", "create_time" : "2021-09-18 16:26:24", "auth_status" : "auth", "protocol_type" : "https://", "high" : 0, "middle" : 1, "low" : 0, "hint" : 2 } ]}
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 total Integer 网站域名总数 最小值:0 最大值:1000 top_level_domain_num Integer 网站一级域名总数 最小值:0 最大值:1000 domains Array of DomainItem objects 网站域名列表 数组长度:0 - 1000 表5 DomainItem 参数 参数类型 描述 high Integer 高危漏洞数 最小值:0 最大值:1000 middle Integer 中危漏洞数 最小值:0 最大值:1000 low Integer 低危漏洞数 最小值:0 最大值:1000 hint Integer 提示危漏洞数 最小值:0 最大值:1000 domain_id String 网站域名ID 最小长度:32 最大长度:32 top_level_domain_id String 一级域名ID 最小长度:32 最大长度:32 domain_name String 网站域名 最小长度:1 最大长度:256 alias String 网站域名的别名 最小长度:1 最大长度:50 create_time String 创建网站域名资产的时间 最小长度:0 最大长度:19 auth_status String 网站域名的认证状态: unauth - 未认证 auth - 已认证 invalid - 认证文件无效 manual - 人工认证 skip - 免认证 枚举值: unauth auth invalid manual skip protocol_type String 协议类型: http:// - HTTP https:// - HTTPS 枚举值: http:// https:// 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:0 最大长度:50 error_msg String 错误描述 最小长度:0 最大长度:256 状态码: 401 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:0 最大长度:50 error_msg String 错误描述 最小长度:0 最大长度:256 状态码: 418 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:0 最大长度:50 error_msg String 错误描述 最小长度:0 最大长度:256
  • URI GET /v3/{project_id}/webscan/domains 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 用户的project_id,获取方法请参见获取项目ID。 最小长度:32 最大长度:32 表2 Query参数 参数 是否必选 参数类型 描述 domain_id 否 String 网站域名ID 最小长度:32 最大长度:32 auth_status 否 String 网站域名的认证状态: unauth - 未认证 auth - 已认证 invalid - 认证文件无效 manual - 人工认证 skip - 免认证 枚举值: unauth auth invalid manual skip offset 否 Integer 分页查询,偏移量,表示从此偏移量开始查询 最小值:0 最大值:10000 缺省值:0 limit 否 Integer 分页查询,每页显示的条目数量 最小值:1 最大值:10000 缺省值:5
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token,通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 最小长度:1 最大长度:102400 表3 请求Body参数 参数 是否必选 参数类型 描述 domain_name 是 String 网站域名 最小长度:1 最大长度:256 alias 是 String 网站域名的别名 最小长度:1 最大长度:50
  • Token认证 Token的有效期为24小时,需要使用一个Token鉴权时,可以先缓存起来,避免频繁调用。 Token在计算机系统中代表令牌(临时)的意思,拥有Token就代表拥有某种权限。Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限。 Token可通过调用获取用户Token接口获取,调用本服务API需要project级别的Token,即调用获取用户Token接口时,请求body中auth.scope的取值需要选择project,如下所示。 { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "name": "xxxxxxxx" } } }} 获取Token 后,再调用其他接口时,您需要在请求消息头中添加“X-Auth-Token”,其值即为Token。例如Token值为“ABCDEFJ....”,则调用接口时将“X-Auth-Token: ABCDEFJ....”加到请求消息头即可,如下所示。 Content-Type: application/jsonX-Auth-Token: ABCDEFJ....
  • 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不同,使用时请注意。
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全