华为云用户手册

  • 混合云部署 场景描述 对于自建本地数据中心(IDC)的用户,由于利旧和平滑演进的原因,并非所有的业务都能放置在云上,这个时候就可以通过如下产品构建混合云,实现云上VPC与云下IDC之间的互连。 表3 连接IDC 云产品 应用场景 描述 相关操作 虚拟专用网络 VPN 使用公网低成本连接VPC与本地IDC 基于Internet使用加密隧道将VPC与本地数据中心连接起来。具备成本低、配置简单、即开即用等优点。但它的网络质量依赖Internet。 通过VPN连接VPC 通过企业交换机建立IDC和VPC之间的二层网络 云专线 铺设物理专线高质量连接VPC与本地IDC 使用物理专线将VPC与本地数据中心连接起来。具备低时延、高安全、专用等优点。适用对网络传输质量和安全等级要求较高的场景 。 通过用户专线访问多个VPC 通过企业交换机建立IDC和VPC之间的二层网络 云连接 跨区域的VPC、IDC互连 将要互通的本地IDC关联的云专线加载到已创建的云连接实例中,实现跨区域的VPC、IDC互连。 跨区域VPC互连 多数据中心与多区域VPC互通 搭配服务 弹性 云服务器ECS 、云专线DC、云连接CC、虚拟专用网络VPN 图5 混合云部署
  • 云上VPC连接 场景描述 对于相同或者不同区域下的VPC需要互通连接时,可通过如下云产品实现。 表2 连接VPC 云产品 应用场景 描述 相关操作 对等连接 同区域的VPC互连 对于同一区域的VPC,可以通过对等连接进行互连,同一账号与不同账号的连接方式略有差异。对等连接免费。 创建同一账户下的对等连接 创建不同账户下的对等连接 云连接 跨区域的VPC互连 对于不同区域的VPC,不区分是否同一账号,都可以互连,跨区域连接实现全球云上网络。 跨区域VPC互连 虚拟专用网络VPN 使用公网低成本连接跨区域VPC 基于Internet使用加密隧道将不同区域的VPC连接起来。具备成本低、配置简单、即开即用等优点。但它的网络质量依赖Internet。 通过VPN连接VPC 搭配服务 弹性云服务器E CS 、云连接CC、虚拟专用网络VPN 图4 云上VPC连接
  • 功能总览 表1列出了 虚拟私有云VPC 的常用功能。 在使用虚拟私有云VPC之前,建议您先通过基本概念介绍了解子网、路由表、安全组、弹性公网IP等基本概念,以便更好地理解虚拟私有云VPC提供的功能。 表1 虚拟私有云VPC常用功能 功能分类 功能名称 功能描述 虚拟私有云和子网 虚拟私有云 虚拟私有云可以为您的云资源构建隔离的、用户自主配置和管理的虚拟网络环境。 华为云提供了管理虚拟私有云的功能:创建虚拟私有云和默认子网、修改虚拟私有云基本信息、为虚拟私有云添加扩展网段、删除虚拟私有云扩展网段、删除虚拟私有云和导出虚拟私有云列表等。 详细内容,请参见创建虚拟私有云和子网。 子网 子网是虚拟私有云内的IP地址块。虚拟私有云中的所有云资源都必须部署在子网内。 华为云提供了管理子网的功能:为虚拟私有云创建新的子网、修改子网网络信息和删除子网等。 详细内容,请参见为虚拟私有云创建新的子网。 路由表 路由表中定义了路由规则,路由规则用于将目标网段的流量路由至指定的目的地。 当您创建虚拟私有云时,系统会自动为您创建一张默认路由表,其路由规则保证了虚拟私有云内的所有子网互通。您也可以添加自定义路由规则,将指定目标网段的流量路由至指定目的地。 华为云提供了管理路由表的功能:添加自定义路由、查询路由、修改路由和删除路由等。 详细内容,请参见路由表简介。 虚拟IP 虚拟IP是一个未分配给真实弹性云服务器网卡的IP地址。弹性云服务器除了拥有私有IP地址外,还可以拥有虚拟IP地址,用户可以通过其中任意一个IP(私有IP/虚拟IP)访问此弹性云服务器。同时,虚拟IP地址拥有私有IP地址同样的网络接入能力。虚拟IP主要用在弹性云服务器的主备切换,达到高可用性HA的目的。 华为云提供的虚拟IP相关功能包括:申请虚拟IP地址、删除虚拟IP地址、为虚拟IP地址绑定弹性公网IP或弹性云服务器、通过弹性公网IP访问虚拟IP、通过VPN访问虚拟IP、通过云专线访问虚拟IP和通过对等连接访问虚拟IP等。 详细内容,请参见虚拟IP简介。 IPv4/IPv6双栈网络 IPv4/IPv6双栈可为您的实例提供两个不同版本的IP地址:IPv4地址和IPv6地址,这两个IP地址都可以进行内网/公网访问。 华为云提供IPv4/IPv6双栈功能,支持新建IPv4/IPv6双栈网络,或在已有虚拟私有云下添加IPv6子网形成双栈网络。 详细内容,请参见IPv4/IPv6双栈网络。 VPC流日志 VPC流日志功能可以记录虚拟私有云中的流量信息,帮助您检查和优化安全组和网络ACL控制规则、监控网络流量、进行网络攻击分析等。 华为云提供的VPC流日志功能包括:创建VPC流日志、查看VPC流日志、开启/关闭VPC流日志、删除VPC流日志等。 详细内容请参见VPC流日志简介。 弹性网卡 弹性网卡即虚拟网卡,您可以通过创建并配置弹性网卡,并将其附加到您的ECS实例上,实现灵活、高可用的网络方案配置。 华为云提供的弹性网卡功能包括:创建弹性网卡、绑定弹性网卡到云服务器实例、绑定弹性网卡到弹性公网IP、绑定弹性网卡到虚拟IP、解绑定弹性云服务器或弹性公网IP、更改弹性网卡所属安全组、删除弹性网卡等。 详细内容请参见弹性网卡简介。 辅助弹性网卡 辅助弹性网卡是基于弹性网卡的衍生资源,通过VLAN接口挂载在弹性网卡上,您可以通过创建辅助弹性网卡,使单个云服务器实例挂载更多网卡,实现灵活、高可用的网络方案配置。 华为云提供的辅助弹性网卡功能包括:创建辅助弹性网卡、绑定辅助弹性网卡到弹性公网IP、更改辅助弹性网卡所属安全组、删除辅助弹性网卡等。 详细内容请参见辅助弹性网卡简介。 访问控制 安全组 安全组是一个逻辑上的分组,为同一个VPC内具有相同安全保护需求并相互信任的弹性云服务器提供访问策略。安全组创建后,用户可以在安全组中定义各种访问规则,当弹性云服务器加入该安全组后,即受到这些访问规则的保护。 华为云提供了管理安全组和安全组规则的功能:创建安全组、删除安全组、添加安全组规则、快速添加多条安全组规则、复制安全组规则、修改区安全组规则、删除安全组规则、导入/导出安全组规则、查看弹性云服务器的安全组、变更弹性云服务器的安全组、云资源加入/移出安全组等。 详细内容,请参见安全组简介。 网络ACL 网络ACL是一个子网级别的可选安全层,通过与子网关联的出方向/入方向规则控制出入子网的数据流。 华为云提供了管理网络ACL和网络ACL规则的功能:创建网络ACL、查看网络ACL、修改网络ACL、删除网络ACL、开启/关闭网络ACL、关联/解除子网和网络ACL、添加网络ACL规则、修改网络ACL规则、修改网络ACL规则生效顺序、开启/关闭网络ACL规则、删除网络ACL规则等。 详细内容,请参见网络ACL简介。 IP地址组 IP地址组是多个IP地址的集合,可被安全组规则引用,可统一管理具有相同安全要求或需要频繁修改的IP地址。通过使用IP地址组,可有效应对需要重复多次编辑安全组规则的场景,方便管理。 华为云提供了管理IP地址组的功能:创建IP地址组、关联IP地址组与安全组规则、修改、删除IP地址组等。 详细内容,请参见IP地址组简介。 弹性公网IP和带宽 弹性公网IP 弹性公网IP提供独立的公网IP资源,包括公网IP地址与公网出口带宽服务,可以与云资源灵活绑定及解绑。 华为云提供的弹性公网IP相关功能包括:为云资源申请和绑定弹性公网IP、解绑和释放云资源的弹性公网IP、修改弹性公网IP带宽、静态BGP转换为动态BGP等。 详细内容,请参见弹性公网IP简介。 共享带宽 共享带宽可以实现多个弹性公网IP共同使用一条带宽。提供区域级别的带宽共享及复用能力,同一区域下的所有已绑定弹性公网IP的弹性云服务器、裸金属服务器、弹性负载均衡等实例共用一条带宽资源。 华为云提供的共享带宽相关功能包括:申请共享带宽、修改共享带宽、删除共享带宽、添加弹性公网IP到共享带宽、从共享带宽中移出弹性公网IP等。 详细内容,请参见共享带宽简介。 共享流量包 共享流量包是一款带宽流量套餐产品,使用方便,价格实惠。购买共享流量包后立即生效,并自动抵扣按需计费(按流量计费)的EIP带宽产生的流量资费,直到流量包用完或到期。 详细内容,请参见共享流量包简介。 带宽加油包 带宽加油包用来临时调大带宽上限,适用于在有效期内的包年/包月独享带宽和共享带宽。 华为云提供的带宽加油包相关功能包括:购买带宽加油包、修改带宽加油包和退订带宽加油包等。 详细内容,请参见带宽加油包简介。 资源互通 VPC对等连接 对等连接是指两个VPC之间的网络连接。您可以使用私有IP地址在两个VPC之间进行通信,就像两个VPC在同一个网络中一样。同一区域内,您可以在自己的VPC之间创建对等连接,也可以在自己的VPC与其他账户的VPC之间创建对等连接。不同区域间的VPC之间不能创建对等连接。 华为云提供的VPC对等连接相关功能包括:创建同一账户下的对等连接、创建不同账户下的对等连接、查看对等连接、修改对等连接和删除对等连接等。 详细内容,请参见对等连接简介。 监控 查看监控指标 当用户开通了虚拟私有云服务后,无需额外安装其他插件,即可在 云监控 查看带宽、弹性公网IP的使用情况,也可以创建和设置告警规则,自定义监控目标与通知策略,及时了解虚拟私有云的状况,从而起到预警作用。 详细内容,请参见支持的监控指标。 审计 查看审计日志 华为 云审计 ,您可以记录与虚拟私有云相关的操作事件,便于日后的查询、审计和回溯。 华为云提供查看审计日志功能,支持在云审计服务管理控制台查看或导出最近7天的操作记录。 详细内容,请参见支持审计的关键操作。 标签 标签管理 标签功能方便您识别和管理云资源。华为云支持管理虚拟私有云标签、管理子网标签和管理弹性公网IP标签。 权限 权限管理 您可以使用 统一身份认证 服务 IAM 对您所拥有的虚拟私有云进行精细的权限管理,以满足企业基于组织划分、职能划分设置不同的访问权限。 华为云提供的虚拟私有云权限管理功能包括:创建用户并授权使用VPC、创建VPC自定义策略等。 详细内容,请参见权限管理。
  • 如何访问虚拟私有云 通过管理控制台、基于HTTPS请求的API(Application Programming Interface)两种方式访问虚拟私有云。 管理控制台方式 管理控制台是网页形式的,您可以使用直观的界面进行相应的操作。登录管理控制台,从主页选择“虚拟私有云”。 API方式 如果用户需要将云平台上的虚拟私有云集成到第三方系统,用于二次开发,请使用API方式访问虚拟私有云,具体操作请参见《虚拟私有云API参考》。
  • 虚拟私有云产品架构 接下来,本文档将从虚拟私有云VPC的基本元素、VPC的网络安全、VPC的网络连接以及VPC的网络运维方面进行介绍,带您详细了解VPC的产品架构。 图1 VPC产品架构 表1 VPC的产品架构介绍 项目分类 简要说明 详细说明 VPC的基本元素 VPC是您在云上的私有网络,您可以指定VPC的IP地址范围,然后通过在VPC内划分子网来进一步细化IP地址范围。同时,您可以配置VPC内的路由表来控制网络流量走向。 不同VPC之间的网络不通,同一个VPC内的多个子网之间网络默认互通。 IP地址范围:您在创建VPC时,需要指定VPC的IP网段,支持的网段为10.0.0.0/8~24、172.16.0.0/12~24和192.168.0.0/16~24。 子网:您可以根据业务需求在VPC内划分子网,VPC内至少需要包含一个子网。实例(云服务器、云容器、云数据库等)必须部署在子网内,实例的私有IP地址从子网网段中分配。 更多信息请参见子网。 路由表:在创建VPC时,系统会为您自动创建一个默认路由表,默认路由表确保同一个VPC内的子网网络互通。您可以在默认路由表中添加路由来管控网络,如果默认路由表无法满足需求时,您还可以创建自定义路由表。 更多信息请参见路由表和路由。 VPC的网络安全 安全组与网络ACL(Access Control List)用于保障VPC内部署实例的安全。 安全组:对实例进行防护,您可以在安全组中设置入方向和出方向规则,将实例加入安全组内后,该实例会受到安全组的保护。 更多信息请参见安全组和安全组规则。 网络ACL:对整个子网进行防护,您可以在网络ACL中设置入方向和出方向规则,将子网关联至网络ACL,则子网内的所有实例都会受到网络ACL保护。 更多信息请参见网络ACL简介。 相比安全组,网络ACL的防护范围更大。当安全组和网络ACL同时存在时,流量优先匹配网络ACL规则,然后匹配安全组规则。 更多信息请参见VPC访问控制简介。 VPC的网络连接 您可以使用VPC和云上的其他网络服务,基于您的业务诉求,构建不同功能的组网。 连通同区域VPC:通过VPC对等连接或者企业路由器ER,连通同区域的不同VPC。 连通跨区域VPC:通过云连接CC,连通不同区域的VPC。 连通VPC和公网:通过弹性公网IP (EIP)或者NAT网关,连通云内VPC和公网。 连通VPC和线下数据中心:通过云专线DC或者虚拟专用网络VPN,连通云内VPC和线下数据中心。 连通同区域VPC VPC对等连接:对等连接用于连通同一个区域内的VPC,您可以在相同账户下或者不同账户下的VPC之间创建对等连接。 更多信息请参见对等连接简介。 企业路由器ER:企业路由器作为一个云上高性能集中路由器,可以同时接入多个VPC,实现同区域VPC互通。 更多信息请参见什么是企业路由器。 对等连接免费,企业路由器收费,相比使用VPC对等连接,企业路由器连接VPC构成中心辐射性组网,网络结构更加简洁,方便扩容和运维。 连通跨区域VPC 云连接CC:云连接可以接入不同区域的VPC,快速实现跨区域网络构建。更多信息请参见什么是云连接。 连通VPC和公网 EIP:EIP是独立的公网IP地址,可以为实例绑定EIP,为实例提供访问公网的能力。 更多信息请参见什么是弹性公网IP。 NAT网关:公网NAT网关能够为VPC内的实例(ECS、BMS等),提供最高20Gbit/s能力的 网络地址转换 服务,实现多个实例使用一个EIP访问公网。 更多信息请参见什么是NAT网关。 连通VPC和线下数据中心 DC:DC用于搭建线下数据中心和云上VPC之间高速、低时延、稳定安全的专属连接通道,通过DC可以构建大规模混合云组网。 更多信息请参见什么是云专线。 VPN:VPN用于在线下数据中心和云上VPC之间建立一条安全加密的公网通信隧道。 更多信息请参见什么是虚拟专用网络。 相比通过DC构建混合云,使用VPN更加快速,成本更低。 VPC的网络运维 VPC流日志和流量镜像可以监控VPC内的流量,用于网络运维。 流日志:通过流日志功能可以实时记录VPC中的流量日志信息。通过这些日志信息,您可以优化安全组和网络ACL的控制规则,监控网络流量、进行网络攻击分析等。更多信息请参见VPC流日志简介。 流量镜像:通过流量镜像功能可以镜像弹性网卡符合筛选条件的报文到目的实例中,在目的实例中进行流量分析,不会影响运行业务的实例,适用于网络流量检查、审计分析以及问题定位等场景。更多信息请参见流量镜像简介。
  • 虚拟私有云简介 虚拟私有云(Virtual Private Cloud,VPC)是您在云上的私有网络,为云服务器、云容器、云数据库等云上资源构建隔离、私密的虚拟网络环境。VPC丰富的功能帮助您灵活管理云上网络,包括创建子网、设置安全组和网络ACL、管理路由表等。此外,您可以通过弹性公网IP连通云内VPC和公网网络,通过云专线、虚拟专用网络等连通云内VPC和线下数据中心,构建混合云网络,灵活整合资源。 VPC使用网络虚拟化技术,通过链路冗余,分布式网关集群,多AZ部署等多种技术,保障网络的安全、稳定、高可用。
  • 准备工作 华为账号准备 使用MgC之前,您需要拥有一个华为账号或一个可用于访问MgC的IAM用户,并获取账号/IAM用户的访问密钥(AK/SK)。获取方法请参考准备工作。 创建迁移项目 在MgC控制台为本次迁移创建独立的项目,方法请参考项目管理。 创建目的端OBS桶 在华为云创建一个用于接收源端数据的OBS桶,区域选择您希望迁移到的目的端区域。创建方法请参考创建桶。 权限配置 确保源端账号和目的端账号拥有迁移需要的权限,详细介绍请参见如何获取源端桶和目的端桶权限?。 创建集群 通过集群可以创建Master节点、迁移节点和列举节点,确保存储工作流的顺利运行。创建方法请参考创建集群。
  • 摊销成本 包年/包月资源按当天归属的企业项目进行分摊”功能(公测中) 开启“包年/包月资源按当天归属的企业项目进行分摊”功能(公测中)后, 按照资源归属的企业项目天数进行分摊。即每天分摊时,资源归属于当天生效的最后一个企业项目。 账单调账、退款时,分摊涉及到历史日期的金额,要按照历史日期中资源归属的企业项目进行分摊;当天及未来日期的金额按照资源当天归属的企业项目进行分摊。 详细信息请参见开通“包年/包月资源按当天归属的企业项目进行分摊”功能(公测中)。 该功能开启后不支持关闭。 开启该功能后从第二天开始生效,且历史数据不重新分摊。 共同成本分拆 您购买的共享资源可能由 多个域名 或IP共同使用,开启“共同成本分拆”功能后,可以将成本分摊到 域名 或IP,并支持按照域名或IP归属的标签、企业项目进行汇总分析。详细信息请参见开通共同成本分拆功能。 该功能开启后不支持关闭。 功能开通成功后,您可以在次月5号后进入“成本分析”页面,查看摊销成本的分拆结果。
  • 虚拟私有云产品架构 接下来,本文档将从虚拟私有云VPC的基本元素、VPC的网络安全、VPC的网络连接以及VPC的网络运维方面进行介绍,带您详细了解VPC的产品架构。 图1 VPC产品架构 表1 VPC的产品架构介绍 项目分类 简要说明 详细说明 VPC的基本元素 VPC是您在云上的私有网络,您可以指定VPC的IP地址范围,然后通过在VPC内划分子网来进一步细化IP地址范围。同时,您可以配置VPC内的路由表来控制网络流量走向。 不同VPC之间的网络不通,同一个VPC内的多个子网之间网络默认互通。 IP地址范围:您在创建VPC时,需要指定VPC的IP网段,支持的网段为10.0.0.0/8~24、172.16.0.0/12~24和192.168.0.0/16~24。 子网:您可以根据业务需求在VPC内划分子网,VPC内至少需要包含一个子网。实例(云服务器、云容器、云数据库等)必须部署在子网内,实例的私有IP地址从子网网段中分配。 更多信息请参见子网。 路由表:在创建VPC时,系统会为您自动创建一个默认路由表,默认路由表确保同一个VPC内的子网网络互通。您可以在默认路由表中添加路由来管控网络,如果默认路由表无法满足需求时,您还可以创建自定义路由表。 更多信息请参见路由表和路由。 VPC的网络安全 安全组与网络ACL(Access Control List)用于保障VPC内部署实例的安全。 安全组:对实例进行防护,您可以在安全组中设置入方向和出方向规则,将实例加入安全组内后,该实例会受到安全组的保护。 更多信息请参见安全组和安全组规则。 网络ACL:对整个子网进行防护,您可以在网络ACL中设置入方向和出方向规则,将子网关联至网络ACL,则子网内的所有实例都会受到网络ACL保护。 更多信息请参见网络ACL简介。 相比安全组,网络ACL的防护范围更大。当安全组和网络ACL同时存在时,流量优先匹配网络ACL规则,然后匹配安全组规则。 更多信息请参见VPC访问控制简介。 VPC的网络连接 您可以使用VPC和云上的其他网络服务,基于您的业务诉求,构建不同功能的组网。 连通同区域VPC:通过VPC对等连接或者企业路由器ER,连通同区域的不同VPC。 连通跨区域VPC:通过云连接CC,连通不同区域的VPC。 连通VPC和公网:通过弹性公网IP (EIP)或者NAT网关,连通云内VPC和公网。 连通VPC和线下数据中心:通过云专线DC或者虚拟专用网络VPN,连通云内VPC和线下数据中心。 连通同区域VPC VPC对等连接:对等连接用于连通同一个区域内的VPC,您可以在相同账户下或者不同账户下的VPC之间创建对等连接。 更多信息请参见对等连接简介。 企业路由器ER:企业路由器作为一个云上高性能集中路由器,可以同时接入多个VPC,实现同区域VPC互通。 更多信息请参见什么是企业路由器。 对等连接免费,企业路由器收费,相比使用VPC对等连接,企业路由器连接VPC构成中心辐射性组网,网络结构更加简洁,方便扩容和运维。 连通跨区域VPC 云连接CC:云连接可以接入不同区域的VPC,快速实现跨区域网络构建。更多信息请参见什么是云连接。 连通VPC和公网 EIP:EIP是独立的公网IP地址,可以为实例绑定EIP,为实例提供访问公网的能力。 更多信息请参见什么是弹性公网IP。 NAT网关:公网NAT网关能够为VPC内的实例(ECS、BMS等),提供最高20Gbit/s能力的网络地址转换服务,实现多个实例使用一个EIP访问公网。 更多信息请参见什么是NAT网关。 连通VPC和线下数据中心 DC:DC用于搭建线下数据中心和云上VPC之间高速、低时延、稳定安全的专属连接通道,通过DC可以构建大规模混合云组网。 更多信息请参见什么是云专线。 VPN:VPN用于在线下数据中心和云上VPC之间建立一条安全加密的公网通信隧道。 更多信息请参见什么是虚拟专用网络。 相比通过DC构建混合云,使用VPN更加快速,成本更低。 VPC的网络运维 VPC流日志和流量镜像可以监控VPC内的流量,用于网络运维。 流日志:通过流日志功能可以实时记录VPC中的流量日志信息。通过这些日志信息,您可以优化安全组和网络ACL的控制规则,监控网络流量、进行网络攻击分析等。更多信息请参见VPC流日志简介。 流量镜像:通过流量镜像功能可以镜像弹性网卡符合筛选条件的报文到目的实例中,在目的实例中进行流量分析,不会影响运行业务的实例,适用于网络流量检查、审计分析以及问题定位等场景。更多信息请参见流量镜像简介。
  • 修改事件源 登录事件网格控制台。 在左侧导航栏选择“事件订阅”,进入“事件订阅”页面。 单击待修改事件源参数的订阅名称,进入订阅详情页。 单击已有事件源模块,弹出“事件源”对话框。 修改事件源配置参数。 已创建的订阅,无法修改事件源提供方。 当提供方为“华为云”时,设置如表1所示参数。 表1 云服务事件源参数说明 参数名称 说明 事件源 选择云服务事件源。 事件类型(可选) 选择事件网格预定义的事件类型。 过滤规则 输入事件过滤规则。 事件源产生的事件与过滤规则进行匹配,匹配成功后事件才会被路由到与过滤规则关联的事件目标。如果需要了解更多过滤规则的信息,请参考过滤规则参数说明和过滤规则示例。 图1 云服务事件源配置参数 当提供方为“自定义”时,设置如表2所示参数。 已创建的订阅,无法修改已绑定的自定义事件通道。 表2 自定义事件源参数说明 参数名称 说明 事件源配置 配置类型 支持以下两种类型: 选择:选择一个已关联自定义事件通道的自定义事件源。 新建:创建一个新的自定义事件源。 事件源 “配置类型”为“选择”时,在下拉列表中选择一个已关联自定义事件通道的自定义事件源,此自定义事件通道为订阅绑定的自定义事件通道(即“通道配置”中“通道”的参数值)。 “配置类型”为“新建”时,输入自定义事件源名称。 描述 仅在“配置类型”为“新建”时,需要设置此参数。 输入自定义事件源的描述信息。 过滤规则 输入事件过滤规则。 事件源产生的事件与过滤规则进行匹配,匹配成功后事件才会被路由到与过滤规则关联的事件目标。如果需要了解更多过滤规则的信息,请参考过滤规则参数说明和过滤规则示例。 图2 自定义事件源参数配置 单击“确定”。 单击“保存”,完成事件源的修改。
  • 操作示例 HBase数据库包含一个主Master,一个备Master和2个RegionServer节点。 主Master节点IP为192.168.0.1,其服务端口为16000。 备Master节点IP为192.168.0.2,其服务端口为16000。 RegionServer1节点IP为192.168.0.3,其服务端口为16020。 RegionServer1节点IP为192.168.0.4,其服务端口为16020。 添加该HBase数据库进行审计时,需添加4个数据库,其IP和端口分别为: 192.168.0.1:16000(对应主Master节点)。 192.168.0.2:16000(对应备Master节点)。 192.168.0.3:16020(对应RegionServer1节点)。 192.168.0.4:16020(对应RegionServer2节点)。
  • 数据库安全审计可以应用于哪些场景? 数据库安全审计采用数据库旁路部署方式,在不影响用户业务的提前下,可以对华为云上的RDS、ECS/BMS自建的数据库进行灵活的审计。 基于数据库风险操作,监视数据库登录、操作类型(数据定义、数据操作和数据控制)和操作对象,有效对数据库进行审计。 从风险、会话、SQL注入等多个维度进行分析,帮助您及时了解数据库状况。 提供审计报表模板库,可以生成日报、周报或月报审计报表(可设置报表生成频率)。同时,支持发送报表生成的实时告警通知,帮助您及时获取审计报表。 父主题: 数据库安全审计功能类
  • 响应示例 状态码: 200 成功 { "rules" : [ { "id" : "xX4W2ngBo47GiyUSBeOy", "name" : "Database_drag_detection", "type" : "OPERATE", "feature" : "CLIENT[Any]OPERATE[[SELECT]OBJECT[Any]", "status" : "ON", "rank" : -1, "risk_level" : "HIGH" }, { "id" : "xn4W2ngBo47GiyUSBeP4", "name" : "Database_Slow_SQL_Detection", "type" : "OPERATE", "feature" : "CLIENT[Any]OPERATE[[SELECT]OBJECT[Any]", "status" : "ON", "rank" : -2, "risk_level" : "LOW" } ], "total" : 2 } 状态码: 400 请求参数错误 { "error" : { "error_code" : "DBSS.XXXX", "error_msg" : "XXX" } } 状态码: 500 服务器内部错误 { "error" : { "error_code" : "DBSS.XXXX", "error_msg" : "XXX" } }
  • URI GET /v1/{project_id}/{instance_id}/dbss/audit/rule/risk 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID instance_id 是 String 实例ID 表2 Query参数 参数 是否必选 参数类型 描述 name 否 String 风险名称 risk_levels 否 String 风险级别[LOW,MEDIUM,HIGH,NO_RISK]
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 rules Array of rules objects 风险规则列表 total Integer 总数 表5 rules 参数 参数类型 描述 id String 风险规则ID name String 风险规则名称 type String 风险类型 feature String 风险特征 status String 风险规则状态 rank Integer 风险规则优先级 risk_level String 风险级别 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表7 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码。 error_msg String 错误请求返回的错误信息。 状态码: 403 表8 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表9 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码。 error_msg String 错误请求返回的错误信息。 状态码: 500 表10 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表11 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码。 error_msg String 错误请求返回的错误信息。
  • 响应示例 状态码: 200 成功 { "agents" : [ { "agent_id" : "X1miCo8BDdIO3rwSbhug", "agent_type" : "DB", "agent_os" : "LINUX64_X86", "agent_ip" : "2407:c080:11f0:23b:59d5:7ddf:5650:447b", "agent_nic" : "", "cpu_threshold" : 80, "mem_threshold" : 80, "db_name" : "", "status" : 1, "datacap_status" : 1, "agent_url" : "/opt/dbss_audit/audit_server/agent/", "universal" : false, "sha256" : "2619a4fc8ff3b3dda48c4347630bc8d7ece2e1f046eab7ac044e7d0df49886e3" } ] } 状态码: 400 请求参数错误 { "error" : { "error_code" : "DBSS.XXXX", "error_msg" : "XXX" } } 状态码: 500 服务器内部错误 { "error" : { "error_code" : "DBSS.XXXX", "error_msg" : "XXX" } }
  • URI GET /v2/{project_id}/{instance_id}/audit/agents 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID instance_id 是 String 实例ID。可在查询实例列表接口的ID字段获取。 表2 Query参数 参数 是否必选 参数类型 描述 db_id 是 String 数据库ID,可在查询数据库列表接口ID字段获取。 offset 否 String 偏移量 limit 否 String 查询记录数
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 agents Array of agents objects agent列表 表5 agents 参数 参数类型 描述 agent_id String agent ID agent_type String agent 类型 agent_os String agent OS agent_ip String agent安装节点IP mem_threshold Integer 内存阈值 cpu_threshold Integer cpu阈值 status Integer agent状态 agent_nic String agent网卡 db_name String 数据库名称 datacap_status Integer 数据流量抓取状态 agent_url String agent安装地址 universal Boolean 是否CCE场景 sha256 String sha256值 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表7 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码。 error_msg String 错误请求返回的错误信息。 状态码: 403 表8 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表9 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码。 error_msg String 错误请求返回的错误信息。 状态码: 500 表10 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表11 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码。 error_msg String 错误请求返回的错误信息。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 result String 响应状态 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表6 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码。 error_msg String 错误请求返回的错误信息。 状态码: 403 表7 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表8 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码。 error_msg String 错误请求返回的错误信息。 状态码: 500 表9 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表10 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码。 error_msg String 错误请求返回的错误信息。
  • 响应示例 状态码: 200 成功 { "resources" : [ { "resource_detail" : null, "resource_id" : "cdfs_cefs_wesas_12_dsad", "resource_name" : "resouece1", "tags" : [ { "key" : "key1", "value" : "value1" }, { "key" : "key2", "value" : "value1" } ], "sys_tags" : [ { "key" : "_sys_enterprise_project_id", "value" : "5aa119a8-d25b-45a7-8d1b-88e127885635" } ] } ], "total_count" : 1000 } 状态码: 400 失败 { "error" : { "error_code" : "DBSS.XXXX", "error_msg" : "XXX" } }
  • 请求示例 /v1/{project_id}/{resource_type}/resource-instances/filter { "matches" : [ { "key" : "resource_name", "value" : "resource1" } ], "not_tags" : [ { "key" : "key1", "values" : [ "*value1", "value2" ] } ], "tags" : [ { "key" : "key1", "values" : [ "*value1", "value2" ] } ], "tags_any" : [ { "key" : "key1", "values" : [ "value1", "value2" ] } ], "not_tags_any" : [ { "key" : "key1", "values" : [ "value1", "value2" ] } ], "sys_tags" : [ { "key" : "_sys_enterprise_project_id", "values" : [ "5aa119a8-d25b-45a7-8d1b-88e127885635" ] } ] }
  • 响应参数 状态码: 200 表7 响应Body参数 参数 参数类型 描述 resources Array of resources objects 资源实例列表 total_count Integer 总记录数 表8 resources 参数 参数类型 描述 resource_detail Object 资源详情。 资源对象,用于扩展。默认为空 resource_id String 资源ID resource_name String 资源名称,资源没有名称时默认为空字符串,eip返回ip地址 tags Array of tags objects 标签列表,没有标签默认为空数组 sys_tags Array of sys_tags objects 仅op_service权限才可以可以获取此字段: 目前只包含一个resource_tag 结构体 key:_sys_enterprise_project_id value:企业项目id,0表示默认企业项目 非op_service场景不能返回此字段 表9 tags 参数 参数类型 描述 key String 键 value String 值 表10 sys_tags 参数 参数类型 描述 key String 键 value String 值 状态码: 400 表11 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表12 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码。 error_msg String 错误请求返回的错误信息。 状态码: 403 表13 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表14 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码。 error_msg String 错误请求返回的错误信息。 状态码: 500 表15 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表16 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码。 error_msg String 错误请求返回的错误信息。
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token 表4 请求Body参数 参数 是否必选 参数类型 描述 matches 否 Array of matches objects 搜索字段,key为要匹配的字段,如resource_name等。value为匹配的值。key为固定字典值,不能包含重复的key或不支持的key。 根据key的值确认是否需要模糊匹配,如resource_name默认为模糊搜索(不区分大小写),如果value为空字符串精确匹配(多数服务不存在资源名称为空的情况,因此此类情况返回空列表)。resource_id为精确匹配。第一期只做resource_name,后续再扩展。 not_tags 否 Array of TagKeyValuesBean objects 不包含标签,最多包含50个key,每个key下面的value最多10个, 每个key对应的value可以为空数组但结构体不能缺失。Key不能重复,同一个key中values不能重复。结果返回不包含标签的资源列表,key之间是与的关系,key-value结构中value是或的关系。无过滤条件时返回全量数据 tags 否 Array of TagKeyValuesBean objects 包含标签,最多包含50个key,每个key下面的value最多10个,每个key对应的value可以为空数组但结构体不能缺失。Key不能重复,同一个key中values不能重复。结果返回包含所有标签的资源列表,key之间是与的关系,key-value结构中value是或的关系。无tag过滤条件时返回全量数据 tags_any 否 Array of TagKeyValuesBean objects 包含任意标签,最多包含50个key,每个key下面的value最多10个, 每个key对应的value可以为空数组但结构体不能缺失。Key不能重复,同一个key中values不能重复。结果返回包含标签的资源列表,key之间是或的关系,key-value结构中value是或的关系。无过滤条件时返回全量数据 not_tags_any 否 Array of TagKeyValuesBean objects 不包含任意标签,最多包含50个key,每个key下面的value最多10个, 每个key对应的value可以为空数组但结构体不能缺失。Key不能重复,同一个key中values不能重复。结果返回不包含标签的资源列表,key之间是或的关系,key-value结构中value是或的关系。无过滤条件时返回全量数据 sys_tags 否 TagKeyValuesBean object 仅op_service权限可以使用此字段做资源实例过滤条件。目前TMS调用时只包含一个tag结构体。key:_sys_enterprise_project_idvalue:企业项目id列表目前TMS调用时,key下面只包含一个value。0表示默认企业项目sys_tags和租户标签过滤条件(without_any_tag 、tags、tags_any、not_tags、not_tags_any)不能同时使用无sys_tags时按照tag接口处理,无tag过滤条件时返回全量数据 without_any_tag 否 Boolean 不包含任意一个标签,该字段为true时查询所有不带标签的资源,此时忽略 “tags”、“tags_any”、“not_tags”、“not_tags_any”字段 表5 matches 参数 是否必选 参数类型 描述 key 否 String 键 value 否 String 值 表6 TagKeyValuesBean 参数 是否必选 参数类型 描述 key 是 String 键。最大长度128个unicode字符。 key不能为空。(搜索时不对此参数做字符集校验),key不能为空或者空字符串,不能为空格,校验和使用之前先trim 前后半角空格 values 是 Array of strings 值列表。每个值最大长度255个unicode字符,校验和使用之前先trim 前后半角空格。 value可为空数组但不可缺省。 如果values为空列表,则表示any_value(查询任意value)。value之间为或的关系
  • URI POST /v1/{project_id}/{resource_type}/resource-instances/filter 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID resource_type 是 String 资源类型。审计:auditInstance 表2 Query参数 参数 是否必选 参数类型 描述 limit 否 String 查询记录数(action为count时无此参数)如果action为filter默认为1000,limit最多为1000,不能为负数,最小值为1 offset 否 String 索引位置,偏移量(action为count时无此参数)从第一条数据偏移offset条数据后开始查询,如果action为filter默认为0(偏移0条数据,表示从第一条数据开始查询),必须为数字,不能为负数
  • Go 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 27 28 29 30 31 32 33 34 35 package main import ( "fmt" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" dbss "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dbss/v1" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dbss/v1/model" region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dbss/v1/region" ) func main() { // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak := os.Getenv("CLOUD_SDK_AK") sk := os.Getenv("CLOUD_SDK_SK") auth := basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). Build() client := dbss.NewDbssClient( dbss.DbssClientBuilder(). WithRegion(region.ValueOf("cn-north-4")). WithCredential(auth). Build()) request := &model.ListProjectResourceTagsRequest{} response, err := client.ListProjectResourceTags(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } }
  • Python 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 27 28 29 # coding: utf-8 from huaweicloudsdkcore.auth.credentials import BasicCredentials from huaweicloudsdkdbss.v1.region.dbss_region import DbssRegion from huaweicloudsdkcore.exceptions import exceptions from huaweicloudsdkdbss.v1 import * if __name__ == "__main__": # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak = os.getenv("CLOUD_SDK_AK") sk = os.getenv("CLOUD_SDK_SK") credentials = BasicCredentials(ak, sk) \ client = DbssClient.new_builder() \ .with_credentials(credentials) \ .with_region(DbssRegion.value_of("cn-north-4")) \ .build() try: request = ListProjectResourceTagsRequest() response = client.list_project_resource_tags(request) print(response) except exceptions.ClientRequestException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg)
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 tags Array of tags objects 标签列表 表4 tags 参数 参数类型 描述 key String 键。最大长度128个字符。 key满足3.1 KEY字符集规范。 values Array of strings 值列表。每个值最大长度255个字符。 value满足3.2 VALUE字符集规范。 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表6 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码。 error_msg String 错误请求返回的错误信息。 状态码: 403 表7 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表8 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码。 error_msg String 错误请求返回的错误信息。 状态码: 500 表9 响应Body参数 参数 参数类型 描述 error Object 错误信息返回体。 表10 ErrorDetail 参数 参数类型 描述 error_code String 错误请求返回的错误码。 error_msg String 错误请求返回的错误信息。
  • 响应示例 状态码: 200 成功 { "tags" : [ { "key" : "key1", "values" : [ "value1", "value2" ] }, { "key" : "key2", "values" : [ "value1", "value2" ] } ] } 状态码: 400 失败 { "error" : { "error_code" : "DBSS.XXXX", "error_msg" : "XXX" } }
  • Java 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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 package com.huaweicloud.sdk.test; import com.huaweicloud.sdk.core.auth.ICredential; import com.huaweicloud.sdk.core.auth.BasicCredentials; import com.huaweicloud.sdk.core.exception.ConnectionException; import com.huaweicloud.sdk.core.exception.RequestTimeoutException; import com.huaweicloud.sdk.core.exception.ServiceResponseException; import com.huaweicloud.sdk.dbss.v1.region.DbssRegion; import com.huaweicloud.sdk.dbss.v1.*; import com.huaweicloud.sdk.dbss.v1.model.*; public class ListProjectResourceTagsSolution { public static void main(String[] args) { // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment String ak = System.getenv("CLOUD_SDK_AK"); String sk = System.getenv("CLOUD_SDK_SK"); ICredential auth = new BasicCredentials() .withAk(ak) .withSk(sk); DbssClient client = DbssClient.newBuilder() .withCredential(auth) .withRegion(DbssRegion.valueOf("cn-north-4")) .build(); ListProjectResourceTagsRequest request = new ListProjectResourceTagsRequest(); try { ListProjectResourceTagsResponse response = client.listProjectResourceTags(request); System.out.println(response.toString()); } catch (ConnectionException e) { e.printStackTrace(); } catch (RequestTimeoutException e) { e.printStackTrace(); } catch (ServiceResponseException e) { e.printStackTrace(); System.out.println(e.getHttpStatusCode()); System.out.println(e.getRequestId()); System.out.println(e.getErrorCode()); System.out.println(e.getErrorMsg()); } } }
  • Go 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 27 28 29 30 31 32 33 34 35 36 37 38 39 package main import ( "fmt" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" dbss "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dbss/v1" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dbss/v1/model" region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dbss/v1/region" ) func main() { // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak := os.Getenv("CLOUD_SDK_AK") sk := os.Getenv("CLOUD_SDK_SK") auth := basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). Build() client := dbss.NewDbssClient( dbss.DbssClientBuilder(). WithRegion(region.ValueOf("cn-north-4")). WithCredential(auth). Build()) request := &model.SwitchAgentRequest{} request.Body = &model.AgentSwitchRequest{ Status: int32(1), AgentId: "ASWDSDSDSWEWDSDSD", } response, err := client.SwitchAgent(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } }
共100000条