华为云用户手册

  • 电话核验问题 驳回原因一: 电话未接通。 拨打您订单中的手机尾号xxxx及应急号码尾号xxxx未接通,根据备案要求备案信息中的所有联系方式需保持畅通以便核实备案信息真实性,请您保持电话畅通。 修改措施: 因订单信息需要与您进行确认沟通,如未及时接起,可后续拨打950808转5进行咨询核验。 驳回原因二: 未通过电话核验。 拨打订单中的电话尾号XXXX未通过电话核验(xxxx),请确保备案负责人了解本次备案, 备案信息中的所有联系方式需保持畅通。 修改措施: 需要订单重新提交,对应负责人保持电话畅通或主动拨打950808转5,进行重新核验。 父主题: 备案审核驳回FAQ
  • 网站解析问题 驳回原因: 未备案 域名 未关闭解析 修改措施: 根据备案要求未备案成功的网站须关闭解析,请您关闭直至备案结束。 若您域名是在华为云配置的解析,关闭方法可参考:https://support.huaweicloud.com/usermanual-dns/dns_usermanual_06058.html 若您域名配置的非华为云解析,具体关闭方法请咨询对应接入商。 父主题: 备案审核驳回FAQ
  • 华为云视频核验 驳回原因: 根据《中华人民共和国网络安全法》网络实名制要求、《非经营性互联网信息服务备案管理办法》第十九条要求、《中华人民共和国反电信网络诈骗法》第二十一条要求,当前识别到您的订单需进行备案信息线上视频真实性核验,具体操作流程请参考:https://support.huaweicloud.com/icp_faq/zh-cn_topic_0000001960172580.html 修改措施: 需要ICP备案订单法人或互联网信息负责人根据核验要求,通过华为云公邮预约商务时间(9:30-11:30)进行核验,详情请参考视频核验流程。 父主题: 备案审核驳回FAQ
  • 成分分析的开源软件风险如何分析?(旧链接,即将下线) 成分分析基于静态风险检测,会对用户上传的软件包/固件进行解压并分析其中的文件,识别包中文件包含的开源软件清单,并分析是否存在已知漏洞、License合规等风险。用户扫描完成后,建议按照以下步骤进行分析排查: 开源软件分析,分析开源软件是否存在以及软件版本是否准确。 基于报告详情页面或导出的报告中开源软件所在文件全路径找到对应文件,然后分析该文件中开源软件是否存在或准确(可由相关文件的开发或提供人员协助分析),如果否,则无需后续分析。 已知漏洞分析,分析已知漏洞是否准确。 通过NVD、CVE、CNVD等社区搜索相关CVE已知漏洞编号,获取漏洞详情。 概要分析:查看影响的软件范围,如CVE-2021-3711在NVD社区中的Known Affected Software Configurations,如下图,确认漏洞是否影响当前使用的软件版本,如果当前使用的软件版本不在影响范围内,则初步说明漏洞可能不涉及/影响。 精细化分析:漏洞通常存在于某些函数中,可以通过社区中的漏洞修复补丁确认漏洞详情、涉及函数以及修复方式,如下图,用户可以结合自身软件对于相关开源软件功能的使用是否涉及相关漏洞 License合规分析。基于报告中开源软件及对应的License分析软件是否合规,满足公司或准入要求。 风险解决方式: 已知漏洞:如果当前使用的软件版本存在漏洞,可通过升级软件版本至社区推荐版本解决。紧急情况下也可以通过社区推荐的patch修复方式临时解决。 License合规:如果使用的软件存在合规风险,则需要寻找相似功能且合规的开源软件进行替代。 父主题: 二进制成分分析类
  • 成分分析的主要扫描规格有哪些?(旧链接,即将下线) 支持的编程语言类型:C/C++/Java/Go/JavaScript/Python/Rust/Swift/C#/PHP。 支持的文件:.7z、.arj、.cpio、.phar、.rar、.tar、.xar、.zip、.jar、.apk、.war等格式文件,及Android OTA Images、Android sparse、Intel HEX、RockChip、U-Boot等固件。 支持上传的文件大小:不超过5GB。 平均扫描时间预估:根据不同的压缩格式或者文件类型扫描时长会有一定的差异,平均100MB/6min。 服务采用基于软件版本的方式检测漏洞,不支持补丁修复漏洞场景的检测。 父主题: 二进制成分分析类
  • 组件版本为什么没有被识别出来或识别错误?(旧链接,即将下线) 成分分析扫描无法识别组件版本常见原因有: 成分分析特征库不支持该开源软件版本。 用户引用的开源软件修改过源码,或使用时部分引用该软件功能,导致实际编译/发布文件中相关软件特征未达到工具识别阈值,造成开源软件无法识别或版本识别异常。 用户使用的开源软件包含被动依赖软件,该依赖软件可能为部分引用,造成软件无法识别或版本识别异常。 父主题: 二进制成分分析类
  • 计费项 云容器引擎的计费项由集群费用和其他云服务资源费用组成。了解每种计费项的计费因子、计费公式等信息,请参考计费项。 集群:控制节点资源费用,按照每个集群的类型(虚拟机或裸金属、控制节点数)、集群规模(最大支持的节点数)的差异收取不同的费用。 控制节点资源的价格目录请参见:云容器引擎价格目录。 其他云服务资源:集群所使用的IaaS基础设施费用,包括集群创建使用过程中自动创建或手动加入的相关资源,如云服务器、云硬盘、弹性IP/带宽、负载均衡等,价格参照相应产品价格表。 更多价格目录请参见:产品价格详情。 如需了解实际场景下的计费样例以及各计费项在不同计费模式下的费用计算过程,请参见计费样例。
  • 计费模式 云容器引擎提供包年/包月、按需计费两种计费模式,以满足不同场景下的用户需求。关于计费模式的详细介绍请参见计费模式概述。 包年/包月是一种预付费模式,即先付费再使用,按照订单的购买周期进行结算,因此在购买之前,您必须确保账户余额充足。 按需计费是一种后付费模式,即先使用再付费,按照实际使用时长计费。 在购买集群或集群内资源后,如果发现当前计费模式无法满足业务需求,您还可以变更计费模式。详细介绍请参见变更计费模式概述。
  • 采用官方源码编译安装方法 官方源码编译安装方法的Cloud-Init工具Github开源地址:https://github.com/canonical/cloud-init/ 执行以下命令,下载Cloud-Init压缩包,并将其复制至新建的“/tmp/CLOUD-INIT”文件夹。 0.7.6版本安装包下载地址:https://github.com/canonical/cloud-init/archive/refs/tags/0.7.6.zip 0.7.9版本安装包下载地址:https://github.com/canonical/cloud-init/archive/refs/tags/0.7.9.zip Cloud-Init所有版本安装包下载地址:https://github.com/canonical/cloud-init/releases wget https://github.com/canonical/cloud-init/archive/refs/tags/0.7.6.zip mkdir /tmp/CLOUD-INIT cp cloud-init-0.7.6.zip /tmp/CLOUD-INIT cd /tmp/CLOUD-INIT 执行如下命令,解压Cloud-Init压缩包。 unzip cloud-init-0.7.6.zip 执行如下命令进入cloud-init-0.7.6文件夹。 cd cloud-init-0.7.6 若cloud-init为18.3~22.3版本,则需要进行如下适配。否则跳过本步骤,继续执行下一步。 sed -i '/VALID_DMI_ASSET_TAGS =/a\VALID_DMI_ASSET_TAGS += ["HUAWEICLOUD"]' cloudinit/sources/DataSourceOpenStack.py cat cloudinit/sources/DataSourceOpenStack.py | grep VALID_DMI_ASSET_TAGS 确认执行结果如下图,表示语句添加成功。 按照操作系统类型,执行相应的命令安装Cloud-Init安装包。 CentOS6.x/SUSE11.x: python setup.py build python setup.py install --init-system sysvinit CentOS7.x/SUSE12.x: python setup.py build python setup.py install --init-system systemd Cloud-Init安装时需要添加syslog用户到adm组。存在syslog用户时直接添加syslog用户到adm组。不存在syslog用户时(如CentOS和SUSE),执行下列命令创建syslog用户,添加到adm组: useradd syslog groupadd adm usermod -g adm syslog 设置Cloud-Init相关服务为开机自启动。 若操作系统是sysvinit自启动管理服务,则执行以下命令进行设置。 chkconfig --add cloud-init-local; chkconfig --add cloud-init; chkconfig --add cloud-config; chkconfig --add cloud-final chkconfig cloud-init-local on; chkconfig cloud-init on; chkconfig cloud-config on; chkconfig cloud-final on service cloud-init-local status; service cloud-init status; service cloud-config status; service cloud-final status 若操作系统是systemd自启动管理服务,则执行以下命令进行设置。 systemctl enable cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service systemctl status cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service 执行如下命令检查Cloud-Init是否安装成功。 cloud-init -v cloud-init init --local 回显如下类似信息所示表示安装Cloud-Init成功。 cloud-init 0.7.6
  • 检查是否已经安装Cloud-Init工具 请先执行如下步骤检查是否已安装Cloud-Init工具。在不同的操作系统下,查看是否已经安装Cloud-Init工具的方法不同。 若依赖python3 环境时,以Ubuntu22.0.4为例,执行以下命令查看是否安装Cloud-Init工具。 which cloud-init 回显类似如下,表示已经安装Cloud-Init工具,无需重复安装。 /usr/bin/cloud-init 回显类似如下,表示未安装Cloud-Init工具。 /usr/bin/which: no cloud-init in (/usr/local/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin) 若依赖python2 环境时,以CentOS 6系列为例,执行以下命令查看是否安装Cloud-Init工具。 which cloud-init 回显类似如下,表示已经安装Cloud-Init工具,无需重复安装。 cloud-init-0.7.5-10.el6.centos.2.x86_64 无回显信息表示未安装Cloud-Init工具。 由于Cloud-Init工具存在多种安装方法,如果无回显信息,请再次使用rpm -qa |grep cloud-init命令进行检查。which cloud-init和rpm -qa |grep cloud-init任何一个命令显示已安装,表示操作系统已安装Cloud-Init工具。 如果已安装Cloud-Init工具,还需要执行以下操作: 请确认当前云服务器操作系统中用于SSH登录的证书是否继续使用。如果不再使用该证书,请删除证书。 root用户对应目录下的文件(如“/$path/$to/$root/.ssh/authorized_keys”),执行以下命令: cd /root/.ssh rm authorized_keys 非root用户对应目录下的证书文件(如“/$path/$to/$none-root/.ssh/authorized_keys”),执行以下命令: cd /home/centos/.ssh rm authorized_keys 执行以下命令,清除Cloud-Init工具产生的缓存,确保使用该私有镜像创建的云服务器可以使用证书方式登录。 sudo rm -rf /var/lib/cloud/* 设置完成后请勿重启云服务器,否则,需重新设置。
  • 采用官方提供的包源安装Cloud-Init工具(优先推荐) 在不同操作系统的云服务器上安装Cloud-Init工具的方法不同,请在root用户下执行相关安装操作。 以下将介绍SUSE、CentOS、Fedora、Debian和Ubuntu操作系统安装Cloud-Init工具的具体方法。其他操作系统类型,请安装并配置对应类型的Cloud-Init工具,例如,使用CoreOS操作系统时需安装并配置coreos-cloudinit。 SUSE操作系统 SUSE操作系统的Cloud-Init网络安装地址: https://ftp5.gwdg.de/pub/opensuse/repositories/Cloud:/Tools/ http://download.opensuse.org/repositories/Cloud:/Tools/ 在上述提供的网络安装地址下选择相应操作系统版本的repo安装包进行安装。 以SUSE Enterprise Linux Server 12为例,Cloud-Init工具的安装步骤如下。 登录到创建Linux私有镜像所使用的云服务器。 执行以下命令,安装SUSE 12的网络安装源。 zypper ar https://ftp5.gwdg.de/pub/opensuse/repositories/Cloud:/Tools/SLE_12_SP3/Cloud:Tools.repo 执行以下命令,更新网络安装源。 zypper refresh 执行以下命令,安装Cloud-Init。 zypper install cloud-init 执行以下命令,设置Cloud-Init为开机自启动服务。 SUSE 11: chkconfig cloud-init-local on; chkconfig cloud-init on; chkconfig cloud-config on; chkconfig cloud-final on service cloud-init-local status; service cloud-init status; service cloud-config status; service cloud-final status SUSE 12以及openSUSE 12/13/42: systemctl enable cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service systemctl status cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service 对于SUSE和openSUSE操作系统,请执行以下步骤禁止动态修改云服务器名称。 执行以下命令,使用vi编辑器打开“dhcp”文件。 vi etc/sysconfig/network/dhcp 将“dhcp”文件中的“DHCLIENT_SET_HOSTNAME”的值修改为“no”。 CentOS操作系统 CentOS操作系统的Cloud-Init网络安装地址如表1所示。请在提供的网络安装地址下选择相应的epel-release安装包进行安装。 表1 Cloud-Init网络安装地址 操作系统类型 版本 网络安装地址 CentOS 6系列32位 https://archives.fedoraproject.org/pub/archive/epel/6/i386/ 6系列64位 https://archives.fedoraproject.org/pub/archive/epel/6/x86_64/ 7系列64位 https://archives.fedoraproject.org/pub/archive/epel/7/x86_64/Packages/e/ 执行以下命令安装Cloud-Init: yum install 网络安装地址/epel-release-x-y.noarch.rpm yum install cloud-init “网络安装地址”表示Cloud-Init对应的epel-release安装包的地址,“x-y”表示当前操作系统对应的Cloud-Init epel-release版本号,执行命令时需参考表1以及实际使用的安装包版本进行替换。 以CentOS 6系列64位为例,当前版本号为6.8,则命令修改为: yum install https://archives.fedoraproject.org/pub/archive/epel/6/x86_64/epel-release-6-8.noarch.rpm 以CentOS 7系列64位为例,当前版本号为7.14。则命令修改为: yum install https://archives.fedoraproject.org/pub/archive/epel/7/x86_64/Packages/e/epel-release-7-14.noarch.rpm 执行以下命令,设置Cloud-Init为开机自启动服务。 systemctl enable cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service systemctl status cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service Fedora操作系统 安装Cloud-Init前,请确认操作系统已经配置好对应的网络安装源地址,请查看“/etc/yum.repo.d/fedora.repo”文件中是否已配置相关软件包安装源地址,如果没有配置相关地址源,请参考相关Fedora官网信息配置软件包安装源。 执行以下命令,安装Cloud-Init。 yum install cloud-init 执行以下命令,设置Cloud-Init为开机自启动服务。 systemctl enable cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service systemctl status cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service Debian和Ubuntu操作系统 安装Cloud-Init前,请确认操作系统已经配置好对应的网络安装源地址,请查看“/etc/apt/sources.list”文件中是否已配置相关软件包安装源地址,如果没有配置相关地址源,请参考Debian或者Ubuntu官网信息配置软件包安装源。 执行以下命令,安装Cloud-Init。 apt-get update apt-get install cloud-init 执行以下命令,设置Cloud-Init为开机自启动服务。 systemctl enable cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service systemctl status cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service 以cloud-init-23.2.2版本为例,介绍Centos、Fedora、Ubuntu、Debian和SUSE操作系统安装Cloud-Init工具的具体方法,安装步骤如下。 cloud-init-23.2.2.tar.gz源码包下载地址:https://launchpad.net/cloud-init/trunk/23.2.2/+download/cloud-init-23.2.2.tar.gz Centos 7/Fedora (Fedora-Server-36)操作系统 依赖python3 环境,确认已经安装python3。 查询当前系统环境是否已安装cloud-init, 执行有结果表示已经安装。 cloud-init -v 删除cloud-init缓存目录。 rm -rf /var/lib/cloud/* 安装cloud-init依赖包 yum install python3-pip -y yum install python3-devel 执行如下命令,下载cloud-init压缩包。 wget https://launchpad.net/cloud-init/trunk/23.2.2/+download/cloud-init-23.2.2.tar.gz 执行如下命令,解压cloud-init压缩包。 tar -zxvf cloud-init-23.2.2.tar.gz 执行如下命令进入cloud-init-23.2.2目录文件夹,并安装所有依赖库。 cd cloud-init-23.2.2 pip3 install -r requirements.txt 执行如下命令安装cloud-init。 python3 setup.py build python3 setup.py install --init-system systemd 在配置文件/etc/cloud/cloud.cfg禁用cloud-init接管网络(可选)。 vi /etc/cloud/cloud.cfg 添加如下内容: network: config: disabled 重启cloud-init, 查看cloud-init 状态。 systemctl restart cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service systemctl status cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service 设置cloud-init相关服务为开机自启动。 systemctl enable cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service 执行如下命令检查cloud-init版本以及是否正常运行。 cloud-init -v cloud-init init --local Ubuntu22.0.4/debian11操作系统 依赖python3 环境,确认已经安装python3。 检查并清理系统自带的cloud-init可能存在冗余的配置文件。 rm -rf /var/lib/cloud/* rm -f /var/log/cloud-init* 删除/etc/cloud/cloud.cfg.d/目录下除了log相关的配置文件外的所有文件。 执行如下命令更新apt,检查是否有wget,没有则安装。 sudo apt update sudo apt install wget 执行如下命令,安装依赖包。 apt-get install cloud-guest-utils -y apt-get install python3-pip -y apt-get install python3-devel 执行以下命令,下载cloud-init压缩包。 wget https://launchpad.net/cloud-init/trunk/23.2.2/+download/cloud-init-23.2.2.tar.gz 执行如下命令,解压cloud-init压缩包。 tar -zxvf cloud-init-23.2.2.tar.gz 进入cloud-init目录。 cd cloud-init-23.2.2 执行如下命令安装所有依赖库。 pip3 install -r requirements.txt 执行如下命令安装cloud-init。 python3 setup.py install 在vi /etc/cloud/cloud.cfg配置禁止cloud-init接管网络(可选)。 1.当cloud-init版本等于高于0.7.9版本,且用户需要自定义网络时,在cloud-init安装完成后,请执行如下命令,在编辑器中打开/etc/cloud/cloud.cfg。 vi /etc/cloud/cloud.cfg 2.输入i, 在/etc/cloud/cloud.cfg中将network修改为disabled, 禁用Cloud-Init接管网络配置(若没有该配置项请增加): network: config: disabled 重启cloud-init, 查看cloud-init 状态 systemctl restart cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service systemctl status cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service 设置cloud-init相关服务为开机自启动。 systemctl enable cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service 执行如下命令检查cloud-init版本以及是否正常运行。 cloud-init -v cloud-init init --local SUSE Enterprise Linux Server 15操作系统 依赖python3 环境,确认已经安装python3。 执行如下命令查看历史已配置好的安装源。 zypper lr 执行如下命令删除历史配置的suse的cloud-init的源。 zypper rr 步骤1中执行结果显示的序号 执行如下命令配置suse源。 zypper ar https://ftp5.gwdg.de/pub/opensuse/repositories/Cloud:/Tools/SLE_15_SP4/Cloud:Tools.repo 执行如下命令刷新suse源。 zypper refresh 执行如下命令安装cloud-init。 zypper install cloud-init 安装cloud-init成功后,执行cloud-init -v,若出现类似下图报错提示,需执行如下命令安装依赖包。 pip install requests pyyaml oauthlib jsonschema jsonpatch jinja2 configobj 检查cloud-init是否安装成功,若出现下图报错提示,则需要在/etc/cloud/cloud.cfg配置datasource_list。 datasource_list: [ OpenStack ] datasource: OpenStack: metadata_urls: ['http://169.254.169.254'] max_wait: 120 timeout: 5 apply_network_config: false 修改配置文件后,重启cloud-init, 并查看cloud-init 的状态 systemctl restart cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service systemctl status cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service 设置cloud-init相关服务为开机自启动。 systemctl enable cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service 执行如下命令检查cloud-init版本以及是否正常运行。 cloud-init -v cloud-init init --local
  • 操作场景 为了保证使用私有镜像创建的新云服务器可以通过“用户数据注入”功能注入初始化自定义信息(例如为云服务器设置登录密码),请在创建私有镜像前安装Cloud-Init工具。 安装Cloud-Init工具时需要从官网下载并安装,因此,需要提前为云服务器绑定弹性公网IP。 不安装Cloud-Init工具,将无法对云服务器进行自定义配置,只能使用镜像原有密码登录云服务器。 使用公共镜像创建的云服务器,默认已经安装Cloud-Init,不需要执行安装及配置操作。 用户导入镜像创建的云服务器,请按照指导安装及配置Cloud-Init。配置Cloud-Init操作请参考配置Cloud-Init工具章节。
  • 更多操作 消息模板创建完成后,您还可以对消息模板列表执行表2中的相关操作。 表2 相关操作 操作 说明 编辑消息模板 单击“操作”列的“编辑”。 复制消息模板 单击“操作”列的“复制”。 删除消息模板 删除单条消息模板:单击对应规则“操作”列的“删除”,随后在提示页面单击“确定”即可删除。 删除单条或多条消息模板:勾选对应规则前的复选框,单击“批量删除”,随后在提示页面单击“确定”即可删除。 说明: 删除消息模板前需要先删除消息模板绑定的告警行动规则。 搜索消息模板 在右上角的搜索框中输入模板名称关键字,单击后显示匹配对象。
  • 更多统计规则操作 创建完统计规则后,您还可以执行更多统计规则操作中的操作。 表1 相关操作 操作 说明 查看统计规则 在“规则名称”列单击统计规则名称,查看统计规则的详细信息。 查看阈值规则 “阈值规则”列展示了该统计规则生成的指标关联的所有阈值规则,多个阈值规则间使用空格分割。 单击阈值规则名称,跳转到阈值规则界面,可查看该阈值规则的详细信息。 添加阈值规则 单击“操作”列的“添加阈值规则”,对统计规则生成的指标添加阈值规则,当满足阈值条件时产生阈值告警,以便能在第一时间发现异常并进行处理。 修改统计规则 单击“操作”列的“编辑”。 删除统计规则 删除一个统计规则:单击“操作”列的“删除”。 删除一个或多个统计规则:选中一个或多个统计规则前的复选框,单击页面上方的“删除”。 说明: 删除统计规则后,您的日志桶、日志文件均不会被删除。
  • 责任共担 华为云秉承“将公司对网络和业务安全性保障的责任置于公司的商业利益之上”。针对层出不穷的 云安全 挑战和无孔不入的云安全威胁与攻击,华为云在遵从法律法规业界标准的基础上,以安全生态圈为护城河,依托华为独有的软硬件优势,构建面向不同区域和行业的完善云服务安全保障体系。 安全性是华为云与您的共同责任,如图1所示。 华为云:负责云服务自身的安全,提供安全的云。华为云的安全责任在于保障其所提供的IaaS、PaaS和SaaS类云服务自身的安全,涵盖华为云数据中心的物理环境设施和运行其上的基础服务、平台服务、应用服务等。这不仅包括华为云基础设施和各项云服务技术的安全功能和性能本身,也包括运维运营安全,以及更广义的安全合规遵从。 租户:负责云服务内部的安全,安全地使用云。华为云租户的安全责任在于对使用的IaaS、PaaS和SaaS类云服务内部的安全以及对租户定制配置进行安全有效的管理,包括但不限于虚拟网络、 虚拟主机 和访客虚拟机的操作系统,虚拟防火墙、API网关和高级安全服务,各项云服务,租户数据,以及身份账号和密钥管理等方面的安全配置。 《华为云安全白皮书》详细介绍华为云安全性的构建思路与措施,包括云安全战略、责任共担模型、合规与隐私、安全组织与人员、基础设施安全、租户服务与租户安全、工程安全、运维运营安全、生态安全。 图1 华为云安全责任共担模型 父主题: 安全
  • 请求示例 审核上传的媒资 POST https://{endpoint}/v1.0/{project_id}/asset/review Content-Type: application/json { "asset_id": "3e1cd21131a94525be55acf65888bf46", "review": { "template_id": "c80e56dadb8542e8a1b7c2224dd6733a" } }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 用户Token,使用Token鉴权方式时必选。 通过调用 IAM 服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Authorization 否 String 使用AK/SK方式认证时必选,携带的鉴权信息。 X-Sdk-Date 否 String 使用AK/SK方式认证时必选,请求的发生时间。 表3 请求Body参数 参数 是否必选 参数类型 描述 asset_id 是 String VOD分配的媒资ID,仅支持查询,不支持修改。 review 是 Review object 媒资审核参数。 说明: 仅“华北-北京一”、“华北-北京四”点播服务支持此功能。 表4 Review 参数 是否必选 参数类型 描述 template_id 是 String 审核模板ID。您可以在 视频点播 控制台配置审核模板后获取,具体请参见《点播服务用户指南》中的“审核设置”。 说明: 仅“华北-北京一”、“华北-北京四”点播服务支持此功能。 interval 否 Integer 截图检测时间间隔,取值范围为[0,100],该参数在请求参数中忽略。 politics 否 Integer 鉴政内容检测置信度,取值范围为[0,100],该参数在请求参数中忽略。 置信度越高,说明审核结果越可信。未开启或设置为0时,表示未进行此项检测。 terrorism 否 Integer 鉴恐内容的检测置信度,取值范围为[0,100],该参数在请求参数中忽略。 置信度越高,说明审核结果越可信。未开启或设置为0时,表示未进行此项检测。 porn 否 Integer 鉴黄内容的检测置信度,取值范围为[0,100],该参数在请求参数中忽略。 置信度越高,说明审核结果越可信。未开启或设置为0时,表示未进行此项检测。
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 asset_id String VOD分配的媒资ID,仅支持查询,不支持修改。 review Review object 媒资审核参数。 说明: 仅“华北-北京一”、“华北-北京四”点播服务支持此功能。 表6 Review 参数 参数类型 描述 template_id String 审核模板ID。您可以在视频点播控制台配置审核模板后获取,具体请参见《点播服务用户指南》中的“审核设置”。 说明: 仅“华北-北京一”、“华北-北京四”点播服务支持此功能。 interval Integer 截图检测时间间隔,取值范围为[0,100],该参数在请求参数中忽略。 politics Integer 鉴政内容检测置信度,取值范围为[0,100],该参数在请求参数中忽略。 置信度越高,说明审核结果越可信。未开启或设置为0时,表示未进行此项检测。 terrorism Integer 鉴恐内容的检测置信度,取值范围为[0,100],该参数在请求参数中忽略。 置信度越高,说明审核结果越可信。未开启或设置为0时,表示未进行此项检测。 porn Integer 鉴黄内容的检测置信度,取值范围为[0,100],该参数在请求参数中忽略。 置信度越高,说明审核结果越可信。未开启或设置为0时,表示未进行此项检测。 状态码: 400 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误描述。
  • 响应示例 状态码: 200 处理成功返回。 { "asset_id" : "ede1391f8be15b4bcf99099c8d437c00", "review" : { "template_id" : "c80e56dadb8542e8a1b7c2224dd6733a", "interval" : 5, "politics" : 0, "terrorism" : 0, "porn" : 1 } } 状态码: 400 处理失败返回。 { "error_code" : "VOD.10062", "error_msg" : "Media asset or resource does not exist, please check." }
  • 审核流程 点播控制台提供的审核模式是“先发后审”,即音视频上传后可直接播放,您可以根据需求进行智能审核和人工审核,然后决定是否屏蔽该音视频文件。若您需要使用“先审后发”模式,请调用点播API进行处理。具体请参见如何实现对上传音视频进行先审后发? 图1 审核流程 智能审核:在音 视频审核 模块中,提供了基于文本、封面、截图的智能鉴黄、鉴恐、鉴政服务,默认为未开启状态。开启智能鉴黄、鉴恐、鉴政功能后,针对已上传的音视频,会自动识别其合法性,如果有违规涉黄、涉恐、涉政的文字描述或者画面,会在审核时标识,从而加快审核效率。 人工审核:在音视频审核详情中,针对发现疑似有问题的音视频进行再审查,确认存在问题后可以对音视频进行“屏蔽”或“通过”操作。 屏蔽:已屏蔽的媒资的状态会转为“未发布”,未发布状态的媒资只能通过控制台预览,无法通过域名下载和播放,已被外网引用的播放地址也将无法播放。
  • 数据库命名规范 所有的数据库对象名称(包括库名、表名、列名等)建议以小写字母命名,每个单词之间用下划线分割。 所有的数据库对象名称禁止使用RDS for MySQL保留关键字。 MySQL官方保留字与关键字(MySQL 8.0):https://dev.mysql.com/doc/refman/8.0/en/keywords.html MySQL官方保留字与关键字(MySQL 5.7):https://dev.mysql.com/doc/refman/5.7/en/keywords.html 数据库对象的命名要能做到见名知意,并且不超过32个字符。 数据库中用到的临时表以“tmp”为前缀并以日期为后缀。 数据库中用到的备份表以“bak”为前缀并以日期为后缀。 在不同的库或表中,要保证所有存储相同数据的列名和列类型必须一致。
  • 数据库索引设计规范 每个InnoDB表强烈建议有一个主键,且不使用更新频繁的列作为主键,不使用多列主键。不使用UUID、MD5、字符串列作为主键。最好选择值的顺序是连续增长的列作为主键,所以建议选择使用自增ID列作为主键。 限制每张表上的索引数量,建议单张表索引不超过5个。索引并不是越多越好,索引可以提高查询的效率,但会降低写数据的效率。有时不恰当的索引还会降低查询的效率。 禁止给表中的每一列都建立单独的索引。设计良好的联合索引比每一列上的单独索引效率要高出很多。 建议在下面的列上建立索引: 在SELECT,UPDATE,DELETE语句的WHERE从句上的列。 在ORDER BY,GROUP BY,DISTINCT上的列。 多表JOIN的关联列。 索引列顺序: 区分度最高的放在联合索引的最左侧。区分度=列中不同值的数量/列的总行数。 尽量把字段长度小的列放在联合索引的最左侧。因为字段长度越小,一页能存储的数据量越大,IO性能也就越好。 使用最频繁的列放到联合索引的左侧。这样可以比较少的建立一些索引。 避免冗余的索引,如:primary key(id),index(id),unique index(id) 避免重复的索引,如:index(a,b,c),index(a,b),index(a),重复的和冗余的索引会降低查询效率,因为RDS for MySQL查询优化器会不知道该使用哪个索引。 在VARCHAR字段上建立索引时,需指定索引长度,没必要对全字段建立索引,根据实际文本区分度决定索引长度即可。 一般对字符串类型数据,长度为20的索引,区分度会高达90%以上,可以使用 count(distinct left(列名, 索引长度))/count(*) 的区分度来确定。 对于频繁查询优先考虑使用覆盖索引。 覆盖索引指包含了所有查询字段的索引,不仅仅是WHERE从句GROUP BY从句中的列,也包含SELECT查询的列组合,避免InnoDB表进行索引的二次查询。 外键约束: 建立外键关系的对应列的字符集必须保持一致或者存在外键关系的子表父表的字符集保持一致。
  • 数据库字段设计规范 控制单表字段数量,字段上限50左右。 优先为表中的每一列选择符合存储需要的最小的数据类型。优先考虑数字类型,其次为日期或二进制类型,最后是字符类型。列的字段类型越大,建立索引占据的空间就越大,导致一个页中的索引越少,造成IO次数增加,从而影响性能。 整数型选择能符合需求的最短列类型,如果为非负数,声明需是无符号(UNSIGNED)类型。 每个字段尽可能具有NOT NULL属性,int等数字类型默认值推荐给0,varchar等字符类型默认值给空字符串。 避免使用ENUM类型,可以用TINYINT类型替换。 修改ENUM值需要使用ALTER语句,ENUM类型的ORDER BY操作效率低,需要额外操作。 如果定义了禁止ENUM的枚举值是数值,可使用其他数据类型(如char类型)。 实数类型使用DECIMAL,禁止使用FLOAT和DOUBLE类型。 FLOAT和DOUBLE在存储的时候,存在精度损失的问题,很可能在值的比较时,得到错误的结果。 使用datetime、timestamp类型来存储时间,禁止使用字符串替代。 使用数字类型INT UNSIGNED存储IP地址,用INET_ATON、INET_NTOA可以在IP地址和数字类型之间转换。 VARCHAR类型的长度应该尽可能短。VARCHAR类型虽然在硬盘上是动态长度的,但是在内存中占用的空间是固定的最大长度。 使用VARBINARY存储大小写敏感的变长字符串,VARBINARY默认区分⼤小写,没有字符集概念,速度快。
  • 数据库基本设计规范 所有表如果没有特殊需求,都要使用InnoDB存储引擎。InnoDB存储引擎支持事务、行级锁、具有更好的恢复性、高并发下性能更强。 数据库和表的字符集统一使用UTF8字符集,避免由于字符集的转换产生乱码。 所有的表和字段都需要添加注释。使用comment从句添加表和列的备注,从设计初期维护好数据字典。 表单行长度不得超过1024字节。 谨慎使用RDS for MySQL分区表,避免跨分区查询,否则查询效率会降低。分区表在逻辑上表现为一个表,但是在物理层面上将数据存储在多个文件。 表中的列不要太多,尽量做到冷热数据分离,减小表的宽度,以便在一页内存中容纳更多的行,进而减少磁盘IO,更有效的利用缓存。 经常一起使用的列尽量放到一个表中,避免过多的关联操作。 禁止在表中建立预留字段,否则修改列的类型会导致锁表,修改一个字段类型的成本要高于增加一个字段。 禁止在数据库中存储图片、文件等大的二进制数据。 不建议使用全文索引,社区MySQL全文索引局限性较多。 表数量不建议超过2万张。 客户端连接保持时长不建议超过8小时。 为避免高并发场景下数据库实例OOM,建议tmp_table_size、innodb_buffer_pool_size、max_connections、sort_buffer_size、read_buffer_size、read_rnd_buffer_size、join_buffer_size、thread_stack、binlog_cache_size等参数配置不要超过默认值。
  • 请求示例 查询应用项目级权限矩阵 https://{endpoint}/v3/applications/permissions?project_id=0a38ce9ba3c740c199a0f872b6163661 查询应用实例级权限矩阵 https://{endpoint}/v3/applications/permissions?app_id=0a38ce9ba3c740c199a0f872b6163661
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 result Array of ApplicationPermissionVO objects 角色应用权限 status String 请求成功失败状态 表4 ApplicationPermissionVO 参数 参数类型 描述 can_modify Boolean 是否有编辑权限 can_delete Boolean 是否有删除的权限 can_view Boolean 是否有查看权限 can_execute Boolean 是否有执行权限 can_copy Boolean 是否有复制权限 can_manage Boolean 是否有管理权限,包含增删改查执行以及权限修改 can_create_env Boolean 是否有新建环境权限 can_disable Boolean 是否有禁用权限 name String 角色名称 region String 局点信息 role_id String 角色id role_type String 角色类型, app-creator: 应用创建者; project: 项目管理员;template-customized-inst:系统角色; template-project-customized、project-customized:自定义角色
  • 响应示例 状态码: 200 OK 请求响应成功 { "result" : [ { "can_copy" : true, "can_create_env" : true, "can_delete" : true, "can_disable" : true, "can_execute" : true, "can_manage" : true, "can_modify" : true, "can_view" : true, "name" : "应用创建者", "region" : "cn-north-7", "role_id" : "0", "role_type" : "app-creator" }, { "can_copy" : true, "can_create_env" : true, "can_delete" : true, "can_disable" : true, "can_execute" : true, "can_manage" : true, "can_modify" : true, "can_view" : true, "name" : "项目管理员", "region" : "cn-north-7", "role_id" : "2e510051361942a8b7ecea00144172b3", "role_type" : "project" } ], "status" : "success" }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 [数组元素] Array of DevUcClusterPermission objects 主机集群权限矩阵 表4 DevUcClusterPermission 参数 参数类型 描述 region String 局点信息 role_id String 角色id devuc_role_id_list Array of strings 角色id列表 name String 角色名称 group_id String 主机集群id can_view Boolean 是否有查看权限 can_edit Boolean 是否有编辑权限 can_delete Boolean 是否有删除权限 can_add_host Boolean 是否有添加主机权限 can_manage Boolean 是否有权限管理权限 can_copy Boolean 是否有拷贝权限 create_time String 创建时间 update_time String 修改时间 role_type String 角色类型,project-customized:自定义角色;template-project-customized:系统自定义角色;template-customized-inst:系统角色;cluster-creator:集群创建者;project_admin 项目创建者
  • 响应示例 状态码: 200 OK 请求响应成功 [ { "region" : "region", "name" : "Host cluster creator", "role_id" : "0", "devuc_role_id_list" : null, "group_id" : "2a8c2da888c04a5eaff10d0787c90ea4", "can_view" : true, "can_edit" : true, "can_delete" : true, "can_add_host" : true, "can_manage" : true, "can_copy" : true, "create_time" : "2024-05-31 14:32:59.0", "update_time" : "2024-05-31 14:32:59.0", "role_type" : "cluster-creator" }, { "region" : "region", "name" : "Project admin", "role_id" : "a2e65d2647574f8491cac659a0249d24", "devuc_role_id_list" : null, "group_id" : "2a8c2da888c04a5eaff10d0787c90ea4", "can_view" : true, "can_edit" : true, "can_delete" : true, "can_add_host" : true, "can_manage" : true, "can_copy" : true, "create_time" : "2024-05-31 14:32:59.0", "update_time" : "2024-05-31 14:32:59.0", "role_type" : "project" } ]
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 total Integer 主机数量 status String 请求成功失败状态 result Array of HostInfo objects 主机信息列表 表5 HostInfo 参数 参数类型 描述 uuid String 主机id ip String 主机IP os String 主机操作系统 port Integer 端口 authorization HostAuthorizationBody object 登录主机鉴权,使用密码登录则填写密码即可,使用密钥则填写密钥,二选一即可。 permission PermissionHostDetailNew object 主机相关权限详情类 host_name String 主机名称 as_proxy Boolean 是否为代理机 group_id String 主机集群id proxy_host_id String 代理机id owner_id String 主机所属人id owner_name String 主机所属人名称 proxy_host HostInfo object 代理机信息详情 connection_status String 连通性状态 create_time String 创建时间 lastest_connection_time String 上次连通时间 connection_result String 连通性验证结果 nick_name String 主机所属人昵称 import_status String 导入状态 env_count Integer 关联环境数量 表6 HostAuthorizationBody 参数 参数类型 描述 username String 用户名,可输入中英文,数字和符号(-_.)。 password String 密码,认证类型为0时,密码必填。 private_key String 密钥,认证类型为1时,密钥必填 trusted_type Integer 认证类型,0表示使用密码认证,1表示使用密钥认证 表7 PermissionHostDetailNew 参数 参数类型 描述 can_view Boolean 是否有查看权限 can_edit Boolean 是否有编辑权限 can_delete Boolean 是否有删除权限 can_add_host Boolean 是否有添加主机权限 can_copy Boolean 是否有复制主机权限
共100000条