华为云用户手册

  • 支持的数据库类型 数据库安全审计支持数据库类型及版本如表1所示。 表1 数据库安全审计支持的数据库类型和版本 数据库类型 版本 MySQL 5.0、5.1、5.5、5.6、5.7 8.0(8.0.11及以前的子版本) 8.0.30 8.0.35 8.1.0 8.2.0 Oracle (因Oracle为闭源协议,适配版本复杂,如您需审计Oracle数据库,请先联系客服人员) 11g 11.1.0.6.0 、11.2.0.1.0 、11.2.0.2.0、11.2.0.3.0、11.2.0.4.0 12c 12.1.0.2.0 、12.2.0.1.0 19c PostgreSQL 7.4 8.0、8.1、8.2、8.3、8.4 9.0、9.1、9.2、9.3、9.4、9.5、9.6 10.0、10.1、10.2、10.3、10.4、10.5 11 12 13 14 SQL Server 2008 2012 2014 2016 2017 GaussDB (for MySQL) MySQL 8.0 DWS 1.5 8.1 DAMENG DM8 KINGBASE V8 SHENTONG V7.0 GBase 8a V8.5 GBase 8s V8.8 Gbase XDM Cluster V8.0 Greenplum V6.0 HighGo V6.0 GaussDB 1.3企业版 1.4企业版 2.8企业版 3.223企业版 MongoDB V5.0 DDS 4.0 Hbase (华为 云审计 实例:23.02.27.182148 及其之后的版本支持) 1.3.1 2.2.3 Hive (华为云审计实例:23.02.27.182148 及其之后的版本支持) 1.2.2 2.3.9 3.1.2 3.1.3 MariaDB 10.6 TDSQL 10.3.17.3.0 父主题: 数据库安全审计功能类
  • 安装Agent 在Windows主机安装“Npcap”软件。 如果该Windows主机已安装“Npcap”,请执行2。 如果该Windows主机未安装“Npcap”,请执行以下步骤: 请前往https://nmap.org/npcap/下载Npcap最新软件安装包。 图1 下载npcap 将下载好的npcap-xxxx.exe软件安装包上传至需要安装agent的虚拟机。 双击npcap软件安装包。 在弹出的对话框中,单击“I Agree”,如图2所示。 图2 同意安装“Npcap” 在弹出的对话框中,单击“Install”,不勾选安装选项,如图3所示。 图3 安装“Npcap” 在弹出的对话框中,单击“Next”。 单击“Finish”,完成安装。 以“Administrator”用户登录到Windows主机。 将下载的Agent安装包“xxx.zip”复制到该主机任意一个目录下。 进入Agent安装包所在目录,并解压缩安装包。 进入解压后的文件夹,双击“install.bat”执行文件。 安装成功,界面如图4所示,按任意键结束安装。 图4 Agent安装成功 安装完成后,在Windows任务管理器中查看“dbss_audit_agent”进程。 如果进程不存在,说明Agent安装失败,请尝试重新安装Agent。
  • 检查数据库的Agent程序运行状态 使用跨平台远程访问工具(例如PuTTY)以root用户通过SSH方式,登录Agent的安装节点。 执行以下命令,查看Agent程序的运行状态。 ps -ef|grep audit_agent 如果界面回显以下信息,说明Agent程序运行正常,请执行4。 1 /opt/dbss_audit_agent/bin/audit_agent 如果界面无回显信息,说明Agent程序运行异常,请执行3。 执行以下命令,重新启动Agent。 service audit_agent restart 如果问题已解决,结束操作。 如果问题仍存在,请执行4。 执行以下命令,检查Agent与数据库安全审计实例之间的通信状态。 tailf /opt/dbss_audit_agent/log/audit_agent.log 如果界面回显类似以下信息,说明Agent与数据库安全审计实例之间通信正常,请执行效果验证。 图1 通信正常 如果界面回显类似以下信息,说明Agent与数据库安全审计实例之间通信异常,请检查数据库安全审计实例安全组规则是否开放。 图2 通信异常
  • 数据库安全审计支持数据库部署在哪些操作系统上? 您需要在数据库端、应用端或代理端安装Agent,将添加的数据库连接到数据库安全审计实例。 数据库安全审计的Agent可运行在Linux64位和Windows64位操作系统上,安装节点的操作系统说明如下所示。 数据库安全审计的Agent支持的Linux系统版本如表1所示。 表1 Agent支持的Linux系统版本说明 系统名称 系统版本 CentOS CentOS 7.0 (64bit) CentOS 7.1 (64bit) CentOS 7.2 (64bit) CentOS 7.3 (64bit) CentOS 7.4 (64bit) CentOS 7.5 (64bit) CentOS 7.6 (64bit) CentOS 7.8 (64bit) CentOS 7.9 (64bit) CentOS 8.0 (64bit) CentOS 8.1 (64bit) CentOS 8.2 (64bit) Debian Debian 7.5.0 (64bit) Debian 8.2.0 (64bit) Debian 8.8.0 (64bit) Debian 9.0.0 (64bit) Debian 10.0.0 (64bit) Fedora Fedora 24 (64bit) Fedora 25 (64bit) Fedora 29 (64bit) Fedora 30 (64bit) OpenSUSE SUSE 13 (64bit) SUSE 15 (64bit) SUSE 42 (64bit) SUSE SUSE 11 SP4 (64bit) SUSE 12 SP1 (64bit) SUSE 12 SP2 (64bit) Ubuntu Ubuntu 14.04 (64bit) Ubuntu 16.04 (64bit) Ubuntu 18.04 (64bit) Ubuntu 20.04 (64bit)(华为云审计实例:23.02.27.182148 及其之后的版本支持) EulerOS Euler 2.2 (64bit) Euler 2.3 (64bit) Euler 2.5 (64bit) OpenEuler OpenEuler 20.03 (64bit) Oracle Linux Oracle Linux 6.9 (64bit) Oracle Linux 7.4 (64bit) Red Hat Red Hat Enterprise Linux 7.4 (64bit) Red Hat Enterprise Linux 7.6 (64bit) NeoKylin NeoKylin 7.0 (64bit) Kylin Kylin Linux Advanced Server release V10 (64bit) Uniontech OS Uniontech OS Server 20 Enterprise (64bit) Huawei Cloud Euler Huawei Cloud Euler 2.0 (64bit) KylinSec KylinSec 3.4(64bit) Anolis OS 7.9(64bit) 8.4(64bit) 8.6(64bit) 数据库安全审计的Agent支持的Windows系统版本如下所示: Windows Server 2008 R2(64bit) Windows Server 2012 R2(64bit) Windows Server 2016(64bit) Windows Server 2019(64bit) Windows 7(64bit) Windows 10(64bit) DBSS Agent的运行依赖Npcap,如果安装过程中提示"Npcap not found,please install Npcap first",请安装Npcap后,再安装DBSS Agent。 Npcap下载链接:https://npcap.com/#download 图1 Npcap not found 父主题: 数据库安全审计功能类
  • 如何修改Agent的CPU和内存的阈值? 数据库安全审计Agent的CPU阈值和内存阈值用户不能直接修改: Agent安装在数据库端的用户,若有需求,请您联系技术支持修改数据库安全审计Agent的阈值。 Agent安装在应用端的用户,您可以按照以下操作步骤在添加Agent时,配置CPU阈值和内存阈值。 登录安装Agent的节点,卸载Agent程序。 登录数据库安全服务控制台。 在左侧导航栏中,选择“数据库列表”,进入“数据库列表”界面。 在“选择实例”下拉框中,选择需要修改AgentCPU阈值和内存阈值的实例。 单击数据库左侧的展开Agent的详细信息,在Agent所在行的“操作”列,如图1所示,删除已添加的Agent。 图1 删除Agent 重新添加Agent。 请根据您的业务需求,设置CPU阈值和内存阈值。 CPU阈值和内存阈值系统默认为80%。当Agent程序检测到服务器上的内存或CPU超过设定的阈值时,Agent将立即停止运行。 下载Agent。 每个Agent都有唯一的AgentID,是Agent连接数据库安全审计实例的重要密钥。重新添加Agent后,必须重新下载和安装Agent。 安装Agent(Linux操作系统)或安装Agent(Windows操作系统)。 父主题: 数据库安全审计Agent相关
  • 操作步骤 表1 资源的不同添加方式 资源类型 添加方式 说明 主机资源 添加单个主机资源 逐一添加主机资源。 主机基本信息添加后,可选择添加主机资源账户。默认生成Empty资源账户。 Excel文件批量导入主机资源 按照Excel模板要求配置主机基本信息,可选择配置主机账户信息。 录入主机资源账户后,不再生成Empty资源账户。 从云平台批量导入 选择与CBH网络通畅的云平台,导入云平台主机信息和主机账户信息。 导入主机全部资源账户,且不再生成Empty资源账户。 自动发现 通过IP地址或地址段,自动发现与CBH网络通畅的主机。 自动发现主机只能添加主机信息,需另添加主机资源账户。 应用资源 添加单个应用资源 逐一添加应用资源。 应用基本信息添加后,可选择添加应用资源账户。默认生成Empty资源账户。 Excel文件批量导入应用资源 按照Excel模板要求配置应用基本信息,可选择配置应用账户信息。 录入应用资源账户后,不再生成Empty资源账户。
  • 配置说明 系统内协议类型@主机地址:端口需唯一,不能重复,即系统纳管的主机资源唯一。 表2 主机资源基本信息说明 参数 说明 主机名称 自定义的主机资源名称,系统内“主机名称”不能重复。 协议类型 选择主机的协议类型。 专业版支持协议类型有SSH、RDP、VNC、TELNET、FTP、SFTP、DB2、MySQL、SQL Server、Oracle、SCP、Rlogin。 标准版支持协议类型有SSH、RDP、VNC、TELNET、FTP、SFTP、SCP、Rlogin。 主机地址 输入主机与 堡垒机 网络通畅的IP地址 选择主机的EIP地址或私有IP地址,建议优先选择可用私有IP地址。 CBH系统默认要求网络接口为主机的IPv4地址。 主机开启IPv6地址,且在CBH系统网络配置开启了IPv6网络接口后,可配置为主机的IPv4或IPv6地址。 说明: 因CBH管理同一VPC网络下的主机资源, 私有IP根据网络稳定性与就近优势, 不受对外安全策略和访问控制策略的限制。建议“主机地址”优先考虑配置同VPC网络下私有IP地址。 主机的EIP为独立的公网IP,对外访问的端口受网络安全限制,可能导致从堡垒机无法跳转登录到主机。 端口 输入主机的端口号。 系统类型 (可选)选择主机的操作系统类型或者设备系统类型。 默认支持14种系统类型,包括Linux、Windows、Cisco、Huawei、H3C、DPtech、Ruijie、Sugon、Sugon、Digital China sm-s-g 10-600、Digital China sm-d-d 10-600、ZTE、ZTE5950-52tm、Surfilter、ChangAn。 同时支持系统管理员admin自定义系统类型。 详情请参见系统类型说明。 终端速度 Rlogin协议类型主机可选择不同终端速率。 编码 SSH、TELNET协议类型主机可选择运维界面中文编码。 可选择UTF-8、Big5、GB18030。 终端类型 SSH、TELNET协议类型主机可选择运维终端类型。 可选择Linux、Xterm。 更多选项 (可选)选择配置“文件管理”、“剪切板”、“X11转发”。 文件管理:仅SSH、RDP、VNC协议类型主机可配置。 剪切板:仅RDP协议类型主机可配置。 X11转发:仅SSH协议类型主机可配置。 部门 选择主机所属部门。 标签 (可选)自定义标签或选择已有标签。 主机描述 (可选)对主机的简要描述。 表3 应用资源基本信息说明 参数 说明 应用名称 自定义的应用发布名称,系统内“应用名称”不能重复。 应用服务器 选择已创建的应用发布服务器。 所属部门 选择应用所属部门。 应用地址 (可选)输入有效IP或 域名 。 应用发布为浏览器时,输入网页地址。若地址有对应的端口,则地址为URL:端口号。 应用发布为数据库或客户端时,输入数据库服务器的地址。 应用端口 (可选)输入应用访问端口。 应用发布为数据库时,输入对应数据库访问的端口。 应用发布为除数据库外其他应用时,无需填写。 应用参数 (可选)输入应用相关参数。 应用发布为数据库时,输入实例名。 应用发布为除数据库外其他应用时,无需填写。 更多选项 (可选)选择“文件管理”和“剪切板”。 标签 (可选)自定义标签或选择已有标签。 应用描述 (可选)对应用发布的简要描述。
  • 使用前必读 本文旨在帮助您了解 云堡垒机 (Cloud Bastion Host,CBH)入手使用的基本流程,帮助您更快上手操作。 通过Web浏览器、SSH客户端登录云堡垒机系统,依次创建用户、添加资源、配置权限策略,授予用户运维资源权限。 用户获取资源管理权限后,通过云堡垒机登录资源。 审计用户运维会话,以及审计用户登录系统和系统操作。 云堡垒机基础使用流程如图1所示。 图1 使用流程 表1 使用流程简介 操作步骤 说明 登录云堡垒机系统 成功购买CBH实例后,获取登录地址登录云堡垒机系统。 admin是系统第一个可登录用户,用户密码为自定义设置的密码。 创建用户 创建CBH系统用户,一个用户对应一个系统登录账号。 添加资源 添加资源信息,并纳管资源账户。 添加资源,可纳管资源包括Linux主机、Windows主机、数据库、应用系统等。 添加资源后,可纳管资源账户,实现自动登录资源进行运维管控。 配置运维权限 创建访问控制权限。 策略授权用户访问资源后,用户才有权限登录相应资源,才能对资源进行运维操作。 登录运维资源 授权用户通过CBH系统登录相应资源,不同资源类型可选择不同登录方式。 审计运维会话 在系统Web页面审计用户系统登录和操作,以及审计用户运维会话。
  • 通过MSTSC客户端登录堡垒机 用户获取资源运维权限后,可通过MSTSC客户端直接登录进行运维操作。 打开本地远程桌面连接(MSTSC)工具。 在弹出的对话框中,“计算机”列,输入“堡垒机IP:53389”。 图2 配置计算机 单击“连接”,在登录页面完成登录。 username:堡垒机用户登录名@Windows主机资源账户名@Windows主机资源IP:Windows远程端口(默认3389),例如admin@Administrator@192.168.1.1:3389。 “Windows主机资源账户名”必须是已添加到堡垒机中的资源账户,且登录方式是”自动登录“,否则无法识别Windows主机资源账户,且无法生成运维审计文件。不支持实时会话运维。如何添加主机资源账户,请参考添加资源账户章节。 password:输入当前堡垒机的用户密码。
  • 背景介绍 堡垒机支持Web浏览器、SSH客户端和MSTSC客户端三种登录方式。 Web浏览器登录:支持系统管理和资源运维功能。建议系统管理员admin或管理人员使用Web浏览器登录进行系统管理和授权审计。 SSH客户端登录:在不改变用户原来使用SSH客户端习惯的前提下,可对授权资源进行运维管理。运维人员可选择使用SSH客户端直接登录运维资源。 MSTSC客户端登录:在不改变用户原来使用MSTSC客户端习惯的前提下,可对授权资源进行运维管理。运维人员可选择使用MSTSC客户端直接登录运维资源。
  • 通过Web浏览器登录堡垒机 启动浏览器,在Web地址栏中输入CBH系统登录地址,进入系统登录页面。 登录地址:https://堡垒机实例EIP或私网IP。例如,https://10.10.10.10。 未绑定EIP时,可通过私网IP登录,需确保用户本地网络与云堡垒机私网网络通畅。 登录方式可选用 IAM 或本地登录,IAM登录堡垒机详情请参见:如何使用IAM登录云堡垒机。 受浏览器兼容性限制,当浏览器版本与云堡垒机系统不匹配时,可能导致登录时获取不到验证信息,或登录后页面显示异常,建议使用推荐的浏览器及版本。推荐浏览器,请参见使用限制。 选择登录认证方式。 图1 堡垒机系统登录界面 系统所有用户可选择配置“手机短信”、“手机令牌”、“USBKey”和“动态令牌”多因子认证,详情请参考配置多因子认证。 配置多因子认证后,“密码登录”方式认证失效。 表1 Web浏览器登录验证说明 登录方式 登录说明 登录方式配置说明 密码登录 输入堡垒机系统的用户登录名和密码。 默认登录方式。 “AD域认证”、“RADIUS认证”、“LDAP认证”或“Azure AD认证”用户登录密码为远程服务器用户密码,详情请参见远程认证配置。 手机短信 输入堡垒机系统的用户登录名和密码,单击“获取验证码”,并输入短信验证码。 需要已经为用户账号配置可用手机号码。 手机令牌 输入堡垒机系统的用户登录名和密码,并输入手机令牌的动态验证码(每隔一段时间就会变化)。 说明: 需确保用户登录系统时间与手机时间一致,精确到秒,否则会提示验证码错误。 需用户先绑定手机令牌,再由管理员配置多因子认证,否则用户无法登录系统,详情请参考绑定手机令牌。 USBKey 插入并选择已签发过的USBKey,并输入对应的PIN码。 需已为用户签发USBKey,详情请参考签发USBKey。 动态令牌 输入堡垒机系统的用户登录名和密码,并输入动态令牌的动态口令(每隔一段时间就会变化)。 需已为用户签发动态令牌,详情请参考签发动态令牌。 单击“登录”,成功登录堡垒机系统进行管理和运维操作。 系统管理员admin为CBH系统第一个可登录用户,拥有系统最高操作权限,且无法更改权限配置,请妥善保管账号信息。 在首次登录系统成功后,请所有用户按照系统提示修改密码和绑定手机号码,否则无法进入系统运行页面。登录系统后,可在个人中心修改用户基本信息。
  • 操作步骤 表1 不同登录方式说明 登录方式 适用资源 Web浏览器登录 SSH、RDP、VNC和TELNET协议类型主机资源。 全部应用资源。 SSH客户端登录 SSH、TELNET和Rlogin协议类型主机资源。 FTP/SFTP客户端登录 适用于全部传输协议类型主机资源。 FTP、SFTP协议类型主机资源。 SSO单点客户端登录 适用于全部数据库类型主机资源。 MySQL、SQL Server、Oracle和DB2协议类型主机资源。
  • 操作步骤 表1 系统和运维审计说明 审计类型 审计内容 实时会话 实时监控当前运维会话,查看运维用户和资源的会话详情,中断有高危风险的会话。 历史会话 运维会话视频:无需设置,全程录屏记录运维会话操作,可在线播放或下载操作视频。 运维会话详情:用户运维会话详情,可在线查看或导出Excel文件。详情内容包括资源会话信息、系统会话信息、运维记录、文件传输、协同会话的详细操作记录。 运维报表 以折线图的形式,从多方面呈现用户运维资源随时间变化的趋势,并可生成运维资源综合分析报告。 主要涵盖内容有“运维时间分布”、“资源访问次数”、“会话时长”、“来源IP访问数”、“会话协同”、“双人授权”、“命令拦截”、“字符命令数”和“传输文件数”。 系统日志 系统登录日志:用户登录系统的详细记录,可在线查看或导出Excel文件。 系统操作日志:用户系统操作的详细记录,可在线查看或导出Excel文件。 系统报表 以柱状图的形式,从多方面统计用户登录系统和系统操作次数,并可生成系统管理综合分析报告。 主要涵盖内容有“用户控制”、“用户与资源操作”、“用户源IP数”、“用户登录方式”、“异常登录”、“会话控制”和“用户状态”。
  • 配置说明 表2 用户信息说明 参数 说明 登录名 自定义登录系统的用户名。 创建后不可修改,且系统内“登录名”唯一不能重复。 认证类型 选择登录系统的认证方式。 本地:系统默认认证方式,即通过系统自身的账号管理系统进行身份认证。 AD域:通过Windows AD域服务器对用户进行身份认证。 LDAP:通过LDAP协议,由第三方认证服务器对用户进行身份认证。 RADIUS:通过RADIUS协议,由第三方认证服务器对用户进行身份认证。 Azure AD:基于SAML配置,由Azure平台对登录用户进行身份认证。 密码/确认密码 用户登录系统的密码。 姓名 自定义用户姓名,便于区分不同的用户。 手机 用户系统预留手机号码。可通过手机短信验证登录身份或找回密码。 邮箱 用户系统预留邮箱地址。可通过邮箱收取系统 消息通知 。 角色 选择用户的角色,一个用户仅能选择一个角色。 仅admin是可自定义角色或编辑默认角色的权限范围。 缺省情况下,系统角色包括部门管理员、策略管理员、审计管理员和运维员。 部门管理员:负责部门系统管理,除“用户管理”和“角色管理”模块之外,部门管理员拥有其他全部模块的配置权限。 策略管理员:负责策略权限的配置,拥有“用户组管理”、“资源组管理”和“访问策略管理”等模块的配置权限。 审计管理员:负责系统和运维数据的审计,拥有“实时会话”、“历史会话”和“系统日志”等模块的配置权限。 运维员:系统普通用户和资源操作人员,拥有“主机运维”、“应用运维”和“授权工单”模块的操作访问权限。 所属部门 选择用户所属部门组织。 用户描述 (可选)对用户情况的简要描述。
  • 配置说明 表2 访问控制策略基本信息说明 参数 说明 策略名称 自定义的访问控制策略名称,系统内“策略名称”不能重复。 有效期 (可选)选择策略生效时间和策略的失效时间。 文件传输 (可选)在运维过程中,对资源中文件上传和下载权限。 勾选,允许对资源中文件上传或下载; 不勾选,禁止对资源中文件上传或下载。 更多选项 (可选)选择在运维过程中主机资源的“文件管理”、“RDP剪切板”、“显示水印”权限。 说明: SSH和RDP协议对应的设备支持“文件管理”,VNC协议需通过应用发布才支持。Telnet协议对应的设备不支持“文件管理”。 登录时段限制 (可选)选择用户登录主机的时间段权限。 IP限制 (可选)输入限制/允许用户“来源IP”访问资源。 选择“黑名单”,配置相应IP或IP网段,即限制该IP或IP网段用户登录资源。 选择“白名单”,配置相应IP或IP网段,即仅允许该IP或IP网段用户登录资源。 IP地址缺省状态下,即不限制用户IP登录资源。
  • 操作步骤 表1 访问控制策略配置说明 步骤 说明 配置策略基本信息 可配置文件传输权限、用户登录IP限制、用户登录时段限制、策略有效期等信息。 关联用户或用户组 关联用户:赋权给单个系统用户,该用户角色需同时有“主机运维”和“应用运维”模块权限,才能正常获取运维资源权限。 关联用户组:批量赋权给整个用户组成员。赋权后,新加入组的用户即刻拥有该访问控制权限。 关联资源账户或账户组 关联资源账户:授权访问单个资源账户。 关联账户组:授权访问整个账户组。授权后,新加入组的资源账户可立即被赋权用户访问。
  • 操作流程 本文档介绍如何快速购买、配置云堡垒机。 图1 快速购买配置云堡垒机流程图 表1 购买配置云堡垒机流程说明 步骤 说明 准备工作 使用云服务前,您需要 注册华为账号 并开通华为云、完成实名认证、为账户充值。 步骤一:购买堡垒机 在云堡垒机控制台购买10资产量的标准版单机实例类型堡垒机。 步骤二:登录堡垒机 购买堡垒机后会使用默认的admin账号登录堡垒机。 步骤三:添加资源 使用admin在堡垒机添加需要纳管的Linux资源,实现通过堡垒机访问资源,同时也可使用admin账号创建不同角色的账号实现权限的细分管理。 步骤四:添加访问控制策略 使用admin为资源绑定管理角色,同时配置登录的时间段、操作权限、黑名单或白名单等信息,创建对资源的访问控制策略。
  • 产品优势 对比其他传统消息中间件组件,消息通知服务的核心优势如表1所示。 表1 产品优势 核心优势 消息通知服务 传统消息中间件 服务简便 直接使用消息通知服务,只需要使用三个简单的API (创建Topic、订阅Topic、发送消息),就能够快速高效的发送消息,使用门槛极低,快速融入业务使用。 自建消息通知服务成本高,接口使用复杂,学习曲线高,融于业务时间周期长。 稳定可靠 消息在多数据中心冗余,Topic支持透明迁移。消息推送失败,可以设置消息推送到 SMN 进行持久化。服务单节点故障,请求会自动迁移到可用节点。 关键业务使用对消息通知服务的稳定性和可靠性要求很高,需要解决消息不丢问题,并能提供多种措施保障业务的连续性。 多协议通知 使用消息通知服务,只需要通过一次发布请求,就能向各种协议的订阅者推送消息。 业务需要发送电子邮件、短信、FunctionGraph(函数)或者进行HTTP(S)推送,开发多种协议的消息收发系统,周期长。 安全 消息通知服务数据安全是基于Topic进行安全隔离,用户未经授权不能访问队列消息,有效保护用户业务安全。 业务数据访问需要有安全保护措施,没有认证授权的系统随意获取消息会导致严重的数据安全和隐私风险。
  • 应用场景 系统告警 系统告警是由预定义阈值触发的通知,通过邮件、短信、FunctionGraph(函数)、HTTP和HTTPS等多种通知方式发送给特定用户。举例来说,很多云服务都使用SMN,从而可使您在事件发生(如云审计服务检测到云服务资源发生关键操作)时能立即接收到通知。 与云服务的集成 将SMN作为消息连接不同的云服务,可降低系统复杂度,提升服务使用效率。例如将消息从云服务(如 CES )通知到其他服务(如OBS),实现服务解耦。即便一个服务出现故障,也不会影响到其他服务。 错峰流控 上下游系统处理能力有差异时,可以使用SMN转储系统间的通信数据,提供消息堆积缓冲能力,减少下游系统的压力,可减少系统崩溃等问题,提高系统可用性,降低系统实现的复杂性。
  • 责任共担 华为云秉承“将公司对网络和业务安全性保障的责任置于公司的商业利益之上”。针对层出不穷的 云安全 挑战和无孔不入的云安全威胁与攻击,华为云在遵从法律法规业界标准的基础上,以安全生态圈为护城河,依托华为独有的软硬件优势,构建面向不同区域和行业的完善云服务安全保障体系。 安全性是华为云与您的共同责任,如图1所示。 华为云:负责云服务自身的安全,提供安全的云。华为云的安全责任在于保障其所提供的IaaS、PaaS和SaaS类云服务自身的安全,涵盖华为云数据中心的物理环境设施和运行其上的基础服务、平台服务、应用服务等。这不仅包括华为云基础设施和各项云服务技术的安全功能和性能本身,也包括运维运营安全,以及更广义的安全合规遵从。 租户:负责云服务内部的安全,安全地使用云。华为云租户的安全责任在于对使用的IaaS、PaaS和SaaS类云服务内部的安全以及对租户定制配置进行安全有效的管理,包括但不限于虚拟网络、 虚拟主机 和访客虚拟机的操作系统,虚拟防火墙、API网关和高级安全服务,各项云服务,租户数据,以及身份账号和密钥管理等方面的安全配置。 《华为云安全白皮书》详细介绍华为云安全性的构建思路与措施,包括云安全战略、责任共担模型、合规与隐私、安全组织与人员、基础设施安全、租户服务与租户安全、工程安全、运维运营安全、生态安全。 图1 华为云安全责任共担模型 父主题: 安全
  • SMN权限 默认情况下,账号管理员创建的IAM用户没有任何权限,需要将其加入用户组,并给用户组授予策略或角色,才能使得用户组中的用户获得对应的权限,这一过程称为授权。授权后,用户就可以基于被授予的权限对云服务进行操作。 SMN部署时通过物理区域划分,为项目级服务。授权时,“作用范围”需要选择“区域级项目”,然后在指定区域(如华北-北京四)对应的项目(cn-north-4)中设置相关权限,并且该权限仅对此项目生效;如果在“所有项目”中设置权限,则该权限在所有区域项目中都生效。访问SMN时,需要先切换至授权区域。 权限根据授权精细程度分为角色和策略。 角色:IAM最初提供的一种根据用户的工作职能定义权限的粗粒度授权机制。该机制以服务为粒度,提供有限的服务相关角色用于授权。由于华为云各服务之间存在业务依赖关系,因此给用户授予角色时,可能需要一并授予依赖的其他角色,才能正确完成业务。角色并不能满足用户对精细化授权的要求,无法完全达到企业对权限最小化的安全管控要求。 策略:IAM最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。基于策略的授权是一种更加灵活的授权方式,能够满足企业对权限最小化的安全管控要求。例如:针对SMN服务,管理员能够控制IAM用户仅能对某一类资源进行指定的管理操作。多数细粒度策略以API接口为粒度进行权限拆分,权限的最小粒度为API授权项(action),SMN支持的API授权项请参见《消息通知服务接口参考》中“策略及授权项说明”章节。 如表1所示,包括了SMN的所有系统权限。 表1 SMN系统权限 系统角色/策略名称 描述 类别 依赖关系 SMN Administrator 消息通知服务的管理员权限,拥有该权限的用户拥有消息通知服务所有执行权限。 系统角色 依赖Tenant Guest角色,需要在同项目中勾选依赖的角色。 SMN FullAccess 消息通知服务管理员权限,拥有该权限的用户可以操作并使用所有消息通知服务资源。 系统策略 无 SMN ReadOnlyAccess 消息通知服务的只读权限。 拥有该权限的用户仅能查看消息通知服务数据。 系统策略 无 表2列出了SMN常用操作与系统权限的授权关系,您可以参照该表选择合适的系统权限。 表2 常用操作与系统权限的关系 操作 IAM细粒度项 SMN Administrator SMN FullAccess SMN ReadOnlyAccess 创建主题 smn:topic:create √ √ × 更新主题 smn:topic:update √ √ × 删除主题 smn:topic:delete √ √ × 查询主题列表 smn:topic:list √ √ √ 订阅主题 smn:topic:update √ √ × 设置主题策略 smn:topic:update √ √ × 发布主题消息 smn:topic:publish √ √ × 添加订阅 smn:topic:update √ √ × 请求订阅 smn:topic:update √ √ × 删除订阅 smn:topic:update √ √ × 查询订阅者列表 smn:topic:list √ √ √ 创建消息模板 smn:template:create √ √ × 更新消息模板 smn:template:update √ √ × 删除消息模板 smn:template:delete √ √ × 查询消息模板 smn:template:list √ √ √ 添加标签 smn:tag:create √ √ × 更新标签 smn:tag:update √ √ × 删除标签 smn:tag:delete √ √ × 查询标签 smn:tag:list √ √ √
  • 约束与限制 当您通过消息通知服务SMN发送邮件、短信等消息时,您需要确保传输的内容符合当地法律法规要求。 SMN使用异步方式推送消息,不保证消息送达的时效性。如果业务要求消息准实时送达,请慎重考虑是否使用SMN服务。 SMN服务发送消息的邮箱地址和发送短信/语音的号码地址不固定,有切换的可能。请勿将邮箱地址和发送短信/语音的号码地址作白名单限制,否则可能导致无法接收到SMN消息。 SMN对外发送消息的源IP地址不固定,且有随时更换的可能。请勿将消息源IP地址作白名单限制,否则可能导致无法接收到SMN消息。 基于网络安全考虑,SMN默认不支持使用华为云内网地址接收消息。 消息通知服务SMN对某些具体指标进行了约束和规范,您在使用时注意不要超过相应的限制值,以免程序出现异常。 针对主题的限制项和限制值请参见表1。 表1 主题限制项及限制值 限制项 限制值 说明 主题名称 1-255字符 超过该限制,主题无法创建。 显示名 192字节或64个中文字 超过该限制,主题无法创建。 创建标签数 20个 超过该限制,主题无法创建。 标签的键长度 128字符 超过该限制,标签无法创建。 标签的值长度 256字符 超过该限制,标签无法创建。 发布文本消息标题 512字节 无 发布文本消息内容 256KB 如果消息超过1000个字符,系统向短信订阅者发送消息时,因运营商限制可能会发送失败。 发布json消息内容 256KB 无 发布模板消息内容 256KB 无 针对订阅的限制项和限制值请参见表2。 表2 订阅的限制项及限制值 限制项 限制值 说明 订阅终端数 10000个 无 订阅确认链接失效时间 48小时 订阅确认的链接在48小时内有效,用户需要及时在手机端、邮箱或其他协议终端确认订阅。
  • 云手机使用自定义网络的安全组授权规则 使用自定义网络创建云手机服务器时,云手机服务将为您创建一个“cph_admin_trust”委托,该委托包含的权限为:“CPH AgencyDependencyAccess”。 云手机服务将使用该委托完成如下操作: 为云手机/云游戏实例创建弹性网卡,分配弹性公网IP、虚拟IP。 为云手机/云手游服务器创建默认名称为system-cph-sg的安全组,并设置安全组开放端口范围,具体默认规则参考图1、图2。 图1 入方向规则 22端口为公网通过SSH加密隧道ADB连接云手机依赖端口。 10000~19000端口范围将映射至每个云手机云游戏实例以支持实例开放的多个应用访问端口,每个云手机云游戏开放的应用端口可在云手机详情内查看。 “CPH deny rule for tenant vpc”规则用于限制同一VPC下的服务器之间的手机,使其不能通过1-9999的端口互访。 图2 出方向规则 同一VPC下的弹性云服务器默认无法通过1-9999端口访问云手机/云游戏实例,若想放开此限制,需要添加高优先级的安全组规则。例如某弹性云服务器IP地址为192.168.0.164,想要通过4555端口访问云手机,则需要添加以下入方向规则: 优先级:1 策略:允许 协议端口:4555 源地址:192.168.0.164 图3 添加高优先级安全组规则 父主题: 咨询类
  • 支持的事件监控 表1 CPH支持的事件监控 事件来源 事件名称 事件ID 事件级别 事件说明 处理建议 事件影响 CPH GPU故障 gpuAbnormal 致命 GPU发生故障 GPU故障,支持故障类型如下: "hard_hang" ----硬件故障,提交工单转运维处理 "over_temp" ----超温,提交工单转运维处理 "lost_card" ----显卡丢失,提交工单转运维处理 "light_reset_success" ----显卡轻量级reset成功,可能造成手机花屏,建议重启手机 "deep_reset_success" ----显卡重量级reset成功,可能造成该显卡下部分云手机花屏,建议重置显卡,或者提交工单转运维处理 "deep_reset_failed" ----显卡重量级reset失败,必须重启服务器才能恢复业务,或者提交工单转运维处理 "fan_damaged"----风扇损坏,必须重新更换显卡。提交工单转运维处理 业务中断 GPU恢复正常 gpuNormal 提示 GPU从故障中恢复正常 无需处理 无 内核崩溃 gpuNormal 致命 内核崩溃crash 提交工单转运维处理 crash期间业务中断 内核OOM kernelOom 重要 内核日志提示out of memory 提交工单转运维处理 业务中断 硬件故障 hardwareError 致命 内核日志报Hardware Error 提交工单转运维处理 业务中断 PCIe故障 pcieAer 致命 内核日志报PCIE Bus Error 提交工单转运维处理 业务中断 S CS I故障 scsiError 致命 内核日志报SCSI error 提交工单转运维处理 业务中断 镜像存储只读故障 partReadOnly 致命 镜像存储分区挂载属性变为readonly 提交工单转运维处理 业务中断 镜像存储超级块损坏故障 badSuperBlock 致命 镜像存储分区相关文件系统超级块损坏 提交工单转运维处理 业务中断 镜像存储sharedpath只读故障 isuladMasterReadOnly 致命 镜像存储的/.sharedpath/master挂载属性只读 提交工单转运维处理 业务中断 云手机数据盘只读故障 cphDiskReadOnly 致命 云手机数据盘挂载属性变为readonly 提交工单转运维处理 业务中断 云手机数据盘超级块损坏故障 cphDiskReadOnly 致命 云手机数据盘相关文件系统超级块损坏 提交工单转运维处理 业务中断 父主题: 使用CES监控CPH
  • 支持审计的关键操作列表 表1 云审计支持的云手机操作列表 操作名称 资源类型 事件名称 创建云手机 phone createCloudPhone 更新云手机名称 phone updatePhoneName 重置云手机 phone resetCloudPhone 重启云手机 phone restartCloudPhone 添加SD卡文件 phone addSdFiles 删除SD卡文件 phone deleteSdFiles 设置事件通知 phone setEventNotification
  • 后续操作 您可以在“服务器管理”页面查看服务器的状态、IP地址等信息,在“实例管理”页面查看云手机状态、名称等信息。云手机数量取决于购买服务器时所选择的云手机规格,假设规格中“手机开数”为60,则可创建的云手机数量为60台。 所有云手机共用一个服务器的公网IP,每台云手机都拥有独立的私有IP。 云手机购买成功后,您可能需要连接云手机,目前支持ADB连接方式。ADB方式是通用的连接方式,所有规格的云手机均支持。 连接云手机后,您可能希望完成一些高阶功能,请参考如下链接: 通过Airtest快速获取云手机画面 修改云手机的GPS定位信息 如果共享带宽大小不能满足当前的业务需求,您可以升级共享带宽(仅支持API方式)。
  • 调用API更换弹性公网IP 解绑弹性公网IP。 请在管理控制台或者调用查询云手机服务器详情接口,查询服务器的EIP的ip地址(例如 122.9.102.xxx)。 在弹性公网IP的管理控制台或者调用全量查询弹性公网IP列表接口,通过ip地址查询EIP的id。 调用解绑弹性公网IP的解绑弹性公网IP接口进行解绑。 调用示例如下: curl -i -k -X POST https://{Endpoint}/v3/{project_id}/eip/publicips/{eip_id}/disassociate-instance -H "Content-Type: application/json" -H "X-Auth-Token: ${token}" 绑定弹性公网IP。 严格来讲弹性公网IP实际是绑定到port的,存在空闲port的机器可以进行绑定操作。 根据第1步的指导查询到要绑定的弹性公网IP的id,这个弹性公网IP需要是未绑定状态。 根据CPH的server_id调用查询端口列表接口,查询出服务器的所有port。 调用示例如下: curl -i -k -X GET https://{Endpoint}/v1/{project_id}/ports?instance_id={cph_server_id} -H "Content-Type: application/json" -H "X-Auth-Token: ${token}" 根据port_id调用查询EIP列表接口查询弹性公网IP,可以一次传入一个或多个port_id进行查询,如果哪个port查不到弹性公网IP,则说明它可以绑定弹性公网IP。 调用示例如下: curl -i -k -X GET https://{Endpoint}/v1/{project_id}/publicips?port_id={port_id1}\&port_id={port_id2}\&port_id={port_id3} -H "Content-Type: application/json" -H "X-Auth-Token: ${token}" 对于没有绑定弹性公网IP的port,可以调用绑定弹性公网IP接口,绑定弹性公网IP。 调用示例如下: curl -i -k -X POST https://{Endpoint}/v3/{project_id}/eip/publicips/{eip_id}/associate-instance -H "Content-Type: application/json" -H "X-Auth-Token: ${token}" -d '{"publicip":{"associate_instance_id":"{port_id}","associate_instance_type":"PORT"}}'
  • 语言标签列表 表1 语言标签列表 语言标签 语言 (国家/地区) af-NA Afrikaans (Namibia) af-ZA Afrikaans (South Africa) agq-CM Aghem (Cameroon) ak-GH Akan (Ghana) am-ET Amharic (Ethiopia) ar-AE Arabic (United Arab Emirates) ar-AE-u-nu-latn Arabic (United Arab Emirates,Western Digits) ar-BH Arabic (Bahrain) ar-BH-u-nu-latn Arabic (Bahrain,Western Digits) ar-DJ Arabic (Djibouti) ar-DJ-u-nu-latn Arabic (Djibouti,Western Digits) ar-DZ Arabic (Algeria) ar-DZ-u-nu-arab Arabic (Algeria,Arabic-Indic Digits) ar-EG Arabic (Egypt) ar-EG-u-nu-latn Arabic (Egypt,Western Digits) ar-EH Arabic (Western Sahara) ar-EH-u-nu-arab Arabic (Western Sahara,Arabic-Indic Digits) ar-ER Arabic (Eritrea) ar-ER-u-nu-latn Arabic (Eritrea,Western Digits) ar-IL Arabic (Israel) ar-IL-u-nu-latn Arabic (Israel,Western Digits) ar-IQ Arabic (Iraq) ar-IQ-u-nu-latn Arabic (Iraq,Western Digits) ar-JO Arabic (Jordan) ar-JO-u-nu-latn Arabic (Jordan,Western Digits) ar-KM Arabic (Comoros) ar-KM-u-nu-latn Arabic (Comoros,Western Digits) ar-KW Arabic (Kuwait) ar-KW-u-nu-latn Arabic (Kuwait,Western Digits) ar-LB Arabic (Lebanon) ar-LB-u-nu-latn Arabic (Lebanon,Western Digits) ar-LY Arabic (Libya) ar-LY-u-nu-arab Arabic (Libya,Arabic-Indic Digits) ar-MA Arabic (Morocco) ar-MA-u-nu-arab Arabic (Morocco,Arabic-Indic Digits) ar-MR Arabic (Mauritania) ar-MR-u-nu-latn Arabic (Mauritania,Western Digits) ar-OM Arabic (Oman) ar-OM-u-nu-latn Arabic (Oman,Western Digits) ar-PS Arabic (Palestine) ar-PS-u-nu-latn Arabic (Palestine,Western Digits) ar-QA Arabic (Qatar) ar-QA-u-nu-latn Arabic (Qatar,Western Digits) ar-SA Arabic (Saudi Arabia) ar-SA-u-nu-latn Arabic (Saudi Arabia,Western Digits) ar-SD Arabic (Sudan) ar-SD-u-nu-latn Arabic (Sudan,Western Digits) ar-SO Arabic (Somalia) ar-SO-u-nu-latn Arabic (Somalia,Western Digits) ar-SS Arabic (South Sudan) ar-SS-u-nu-latn Arabic (South Sudan,Western Digits) ar-SY Arabic (Syria) ar-SY-u-nu-latn Arabic (Syria,Western Digits) ar-TD Arabic (Chad) ar-TD-u-nu-latn Arabic (Chad,Western Digits) ar-TN Arabic (Tunisia) ar-TN-u-nu-arab Arabic (Tunisia,Arabic-Indic Digits) ar-XB Right-to-left pseudolocale ar-YE Arabic (Yemen) ar-YE-u-nu-latn Arabic (Yemen,Western Digits) as-IN Assamese (India) asa-TZ Asu (Tanzania) az-Cyrl-AZ Azerbaijani (Cyrillic,Azerbaijan) az-Latn-AZ Azerbaijani (Latin,Azerbaijan) bas-CM Basaa (Cameroon) be-BY Belarusian (Belarus) bem-ZM Bemba (Zambia) bez-TZ Bena (Tanzania) bg-BG Bulgarian (Bulgaria) bm-ML Bambara (Mali) bn-BD Bengali (Bangladesh) bn-BD-u-nu-latn Bengali (Bangladesh,Western Digits) bn-IN Bengali (India) bn-IN-u-nu-latn Bengali (India,Western Digits) bo-CN Tibetan (China) bo-IN Tibetan (India) br-FR Breton (France) brx-IN Bodo (India) bs-Cyrl-BA Bosnian (Cyrillic,Bosnia & Herzegovina) bs-Latn-BA Bosnian (Latin,Bosnia & Herzegovina) ca-AD Catalan (Andorra) ca-ES Catalan (Spain) ca-FR Catalan (France) ca-IT Catalan (Italy) ce-RU Chechen (Russia) cgg-UG Chiga (Uganda) chr-US Cherokee (United States) cs-CZ Czech (Czechia) cy-GB Welsh (United Kingdom) da-DK Danish (Denmark) da-GL Danish (Greenland) dav-KE Taita (Kenya) de-AT German (Austria) de-BE German (Belgium) de-CH German (Switzerland) de-DE German (Germany) de-LI German (Liechtenstein) de-LU German (Luxembourg) dje-NE Zarma (Niger) dsb-DE Lower Sorbian (Germany) dua-CM Duala (Cameroon) dyo-SN Jola-Fonyi (Senegal) dz-BT Dzongkha (Bhutan) ebu-KE Embu (Kenya) ee-GH Ewe (Ghana) ee-TG Ewe (Togo) el-CY Greek (Cyprus) el-GR Greek (Greece) en-AG English (Antigua & Barbuda) en-AI English (Anguilla) en-AS English (American Samoa) en-AT English (Austria) en-AU English (Australia) en-BB English (Barbados) en-BE English (Belgium) en-BI English (Burundi) en-BM English (Bermuda) en-BS English (Bahamas) en-BW English (Botswana) en-BZ English (Belize) en-CA English (Canada) en-CC English (Cocos (Keeling) Islands) en-CH English (Switzerland) en-CK English (Cook Islands) en-CM English (Cameroon) en-CX English (Christmas Island) en-CY English (Cyprus) en-DE English (Germany) en-DG English (Diego Garcia) en-DK English (Denmark) en-DM English (Dominica) en-ER English (Eritrea) en-FI English (Finland) en-FJ English (Fiji) en-FK English (Falkland Islands (Islas Malvinas)) en-FM English (Micronesia) en-GB English (United Kingdom) en-GD English (Grenada) en-GG English (Guernsey) en-GH English (Ghana) en-GI English (Gibraltar) en-GM English (Gambia) en-GU English (Guam) en-GY English (Guyana) en-HK English (Hong Kong) en-IE English (Ireland) en-IL English (Israel) en-IM English (Isle of Man) en-IN English (India) en-IO English (British Indian Ocean Territory) en-JE English (Jersey) en-JM English (Jamaica) en-KE English (Kenya) en-KI English (Kiribati) en-KN English (St. Kitts & Nevis) en-KY English (Cayman Islands) en-LC English (St. Lucia) en-LR English (Liberia) en-LS English (Lesotho) en-MG English (Madagascar) en-MH English (Marshall Islands) en-MO English (Macao) en-MP English (Northern Mariana Islands) en-MS English (Montserrat) en-MT English (Malta) en-MU English (Mauritius) en-MW English (Malawi) en-MY English (Malaysia) en-NA English (Namibia) en-NF English (Norfolk Island) en-NG English (Nigeria) en-NL English (Netherlands) en-NR English (Nauru) en-NU English (Niue) en-NZ English (New Zealand) en-PG English (Papua New Guinea) en-PH English (Philippines) en-PK English (Pakistan) en-PN English (Pitcairn Islands) en-PR English (Puerto Rico) en-PW English (Palau) en-RW English (Rwanda) en-SB English (Solomon Islands) en-SC English (Seychelles) en-SD English (Sudan) en-SE English (Sweden) en-SG English (Singapore) en-SH English (St. Helena) en-SI English (Slovenia) en-SL English (Sierra Leone) en-SS English (South Sudan) en-SX English (Sint Maarten) en-SZ English (Eswatini) en-TC English (Turks & Caicos Islands) en-TK English (Tokelau) en-TO English (Tonga) en-TT English (Trinidad & Tobago) en-TV English (Tuvalu) en-TZ English (Tanzania) en-UG English (Uganda) en-UM English (U.S. Outlying Islands) en-US English (United States) en-VC English (St. Vincent & Grenadines) en-VG English (British Virgin Islands) en-VI English (U.S. Virgin Islands) en-VU English (Vanuatu) en-WS English (Samoa) en-XA Left-to-right pseudolocale en-ZA English (South Africa) en-ZM English (Zambia) en-ZW English (Zimbabwe) es-AR Spanish (Argentina) es-BO Spanish (Bolivia) es-CL Spanish (Chile) es-CO Spanish (Colombia) es-CR Spanish (Costa Rica) es-CU Spanish (Cuba) es-DO Spanish (Dominican Republic) es-EA Spanish (Ceuta & Melilla) es-EC Spanish (Ecuador) es-ES Spanish (Spain) es-GQ Spanish (Equatorial Guinea) es-GT Spanish (Guatemala) es-HN Spanish (Honduras) es-IC Spanish (Canary Islands) es-MX Spanish (Mexico) es-NI Spanish (Nicaragua) es-PA Spanish (Panama) es-PE Spanish (Peru) es-PH Spanish (Philippines) es-PR Spanish (Puerto Rico) es-PY Spanish (Paraguay) es-SV Spanish (El Salvador) es-US Spanish (United States) es-UY Spanish (Uruguay) es-VE Spanish (Venezuela) et-EE Estonian (Estonia) eu-ES Basque (Spain) ewo-CM Ewondo (Cameroon) fa-AF Persian (Afghanistan) fa-AF-u-nu-latn Persian (Afghanistan,Western Digits) fa-IR Persian (Iran) fa-IR-u-nu-latn Persian (Iran,Western Digits) ff-CM Fulah (Cameroon) ff-GN Fulah (Guinea) ff-MR Fulah (Mauritania) ff-SN Fulah (Senegal) fi-FI Finnish (Finland) fil-PH Filipino (Philippines) fo-DK Faroese (Denmark) fo-FO Faroese (Faroe Islands) fr-BE French (Belgium) fr-BF French (Burkina Faso) fr-BI French (Burundi) fr-BJ French (Benin) fr-BL French (St. Barthélemy) fr-CA French (Canada) fr-CD French (Congo (DRC)) fr-CF French (Central African Republic) fr-CG French (Congo (Republic)) fr-CH French (Switzerland) fr-CI French (Côte d’Ivoire) fr-CM French (Cameroon) fr-DJ French (Djibouti) fr-DZ French (Algeria) fr-FR French (France) fr-GA French (Gabon) fr-GF French (French Guiana) fr-GN French (Guinea) fr-GP French (Guadeloupe) fr-GQ French (Equatorial Guinea) fr-HT French (Haiti) fr-KM French (Comoros) fr-LU French (Luxembourg) fr-MA French (Morocco) fr-MC French (Monaco) fr-MF French (St. Martin) fr-MG French (Madagascar) fr-ML French (Mali) fr-MQ French (Martinique) fr-MR French (Mauritania) fr-MU French (Mauritius) fr-NC French (New Caledonia) fr-NE French (Niger) fr-PF French (French Polynesia) fr-PM French (St. Pierre & Miquelon) fr-RE French (Réunion) fr-RW French (Rwanda) fr-SC French (Seychelles) fr-SN French (Senegal) fr-SY French (Syria) fr-TD French (Chad) fr-TG French (Togo) fr-TN French (Tunisia) fr-VU French (Vanuatu) fr-WF French (Wallis & Futuna) fr-YT French (Mayotte) fur-IT Friulian (Italy) fy-NL Western Frisian (Netherlands) ga-IE Irish (Ireland) gd-GB Scottish Gaelic (United Kingdom) gl-ES Galician (Spain) gsw-CH Swiss German (Switzerland) gsw-FR Swiss German (France) gsw-LI Swiss German (Liechtenstein) gu-IN Gujarati (India) guz-KE Gusii (Kenya) gv-IM Manx (Isle of Man) ha-GH Hausa (Ghana) ha-NE Hausa (Niger) ha-NG Hausa (Nigeria) haw-US Hawaiian (United States) iw-IL Hebrew (Israel) hi-IN Hindi (India) hr-BA Croatian (Bosnia & Herzegovina) hr-HR Croatian (Croatia) hsb-DE Upper Sorbian (Germany) hu-HU Hungarian (Hungary) hy-AM Armenian (Armenia) in-ID Indonesian (Indonesia) ig-NG Igbo (Nigeria) ii-CN Sichuan Yi (China) is-IS Icelandic (Iceland) it-CH Italian (Switzerland) it-IT Italian (Italy) it-SM Italian (San Marino) ja-JP Japanese (Japan) jgo-CM Ngomba (Cameroon) jmc-TZ Machame (Tanzania) ka-GE Georgian (Georgia) kab-DZ Kabyle (Algeria) kam-KE Kamba (Kenya) kde-TZ Makonde (Tanzania) kea-CV Kabuverdianu (Cape Verde) khq-ML Koyra Chiini (Mali) ki-KE Kikuyu (Kenya) kk-KZ Kazakh (Kazakhstan) kkj-CM Kako (Cameroon) kl-GL Kalaallisut (Greenland) kln-KE Kalenjin (Kenya) km-KH Khmer (Cambodia) kn-IN Kannada (India) ko-KP Korean (North Korea) ko-KR Korean (South Korea) kok-IN Konkani (India) ksb-TZ Shambala (Tanzania) ksf-CM Bafia (Cameroon) ksh-DE Colognian (Germany) kw-GB Cornish (United Kingdom) ky-KG Kyrgyz (Kyrgyzstan) lag-TZ Langi (Tanzania) lb-LU Luxembourgish (Luxembourg) lg-UG Ganda (Uganda) lkt-US Lakota (United States) ln-AO Lingala (Angola) ln-CD Lingala (Congo (DRC)) ln-CF Lingala (Central African Republic) ln-CG Lingala (Congo (Republic)) lo-LA Lao (Laos) lt-LT Lithuanian (Lithuania) lu-CD Luba-Katanga (Congo (DRC)) luo-KE Luo (Kenya) luy-KE Luyia (Kenya) lv-LV Latvian (Latvia) mas-KE Masai (Kenya) mas-TZ Masai (Tanzania) mer-KE Meru (Kenya) mfe-MU Morisyen (Mauritius) mg-MG Malagasy (Madagascar) mgh-MZ Makhuwa-Meetto (Mozambique) mgo-CM Meta (Cameroon) mk-MK Macedonian (North Macedonia (FYROM)) ml-IN Malayalam (India) mn-MN Mongolian (Mongolia) mr-IN Marathi (India) ms-BN Malay (Brunei) ms-MY Malay (Malaysia) ms-SG Malay (Singapore) mt-MT Maltese (Malta) my-MM Burmese (Myanmar (Burma)) my-MM-u-nu-latn Burmese (Myanmar (Burma), Western Digits) mzn-IR Mazanderani (Iran) naq-NA Nama (Namibia) nb-NO Norwegian Bokmål (Norway) nb-SJ Norwegian Bokmål (Svalbard & Jan Mayen) nd-ZW North Ndebele (Zimbabwe) ne-IN Nepali (India) ne-NP Nepali (Nepal) nl-AW Dutch (Aruba) nl-BE Dutch (Belgium) nl-BQ Dutch (Caribbean Netherlands) nl-CW Dutch (Curaçao) nl-NL Dutch (Netherlands) nl-SR Dutch (Suriname) nl-SX Dutch (Sint Maarten) nn-NO Norwegian Nynorsk (Norway) nnh-CM Ngiemboon (Cameroon) nus-SS Nuer (South Sudan) nyn-UG Nyankole (Uganda) om-ET Oromo (Ethiopia) om-KE Oromo (Kenya) or-IN Oriya (India) os-GE Ossetic (Georgia) os-RU Ossetic (Russia) pa-Arab-PK Punjabi (Arabic,Pakistan) pa-Guru-IN Punjabi (Gurmukhi,India) pl-PL Polish (Poland) ps-AF Pashto (Afghanistan) pt-AO Portuguese (Angola) pt-BR Portuguese (Brazil) pt-CV Portuguese (Cape Verde) pt-GW Portuguese (Guinea-Bissau) pt-MO Portuguese (Macau) pt-MZ Portuguese (Mozambique) pt-PT Portuguese (Portugal) pt-ST Portuguese (São Tomé & Príncipe) pt-TL Portuguese (Timor-Leste) qu-BO Quechua (Bolivia) qu-EC Quechua (Ecuador) qu-PE Quechua (Peru) rm-CH Romansh (Switzerland) rn-BI Rundi (Burundi) ro-MD Romanian (Moldova) ro-RO Romanian (Romania) rof-TZ Rombo (Tanzania) ru-BY Russian (Belarus) ru-KG Russian (Kyrgyzstan) ru-KZ Russian (Kazakhstan) ru-MD Russian (Moldova) ru-RU Russian (Russia) ru-UA Russian (Ukraine) rw-RW Kinyarwanda (Rwanda) rwk-TZ Rwa (Tanzania) sah-RU Sakha (Russia) saq-KE Samburu (Kenya) sbp-TZ Sangu (Tanzania) se-FI Northern Sami (Finland) se-NO Northern Sami (Norway) se-SE Northern Sami (Sweden) seh-MZ Sena (Mozambique) ses-ML Koyraboro Senni (Mali) sg-CF Sango (Central African Republic) si-LK Sinhala (Sri Lanka) sk-SK Slovak (Slovakia) sl-SI Slovenian (Slovenia) smn-FI Inari Sami (Finland) sn-ZW Shona (Zimbabwe) so-DJ Somali (Djibouti) so-ET Somali (Ethiopia) so-KE Somali (Kenya) so-SO Somali (Somalia) sq-AL Albanian (Albania) sq-MK Albanian (North Macedonia (FYROM)) sq-XK Albanian (Kosovo) sr-Cyrl-BA Serbian (Cyrillic,Bosnia & Herzegovina) sr-Cyrl-ME Serbian (Cyrillic,Montenegro) sr-Cyrl-RS Serbian (Cyrillic,Serbia) sr-Cyrl-XK Serbian (Cyrillic,Kosovo) sr-Latn-BA Serbian (Latin,Bosnia & Herzegovina) sr-Latn-ME Serbian (Latin,Montenegro) sr-Latn-RS Serbian (Latin,Serbia) sr-Latn-XK Serbian (Latin,Kosovo) sv-AX Swedish (Åland Islands) sv-FI Swedish (Finland) sv-SE Swedish (Sweden) sw-CD Swahili (Congo (DRC)) sw-KE Swahili (Kenya) sw-TZ Swahili (Tanzania) sw-UG Swahili (Uganda) ta-IN Tamil (India) ta-LK Tamil (Sri Lanka) ta-MY Tamil (Malaysia) ta-SG Tamil (Singapore) te-IN Telugu (India) teo-KE Teso (Kenya) teo-UG Teso (Uganda) th-TH Thai (Thailand) to-TO Tongan (Tonga) tr-CY Turkish (Cyprus) tr-TR Turkish (Türkiye) twq-NE Tasawaq (Niger) tzm-MA Central Atlas Tamazight (Morocco) ug-CN Uyghur (China) uk-UA Ukrainian (Ukraine) ur-IN Urdu (India) ur-IN-u-nu-latn Urdu (India,Western Digits) ur-PK Urdu (Pakistan) ur-PK-u-nu-arabext Urdu (Pakistan,Extended Arabic-Indic Digits) uz-Arab-AF Uzbek (Arabic,Afghanistan) uz-Cyrl-UZ Uzbek (Cyrillic,Uzbekistan) uz-Latn-UZ Uzbek (Latin,Uzbekistan) vi-VN Vietnamese (Vietnam) vun-TZ Vunjo (Tanzania) wae-CH Walser (Switzerland) xog-UG Soga (Uganda) yav-CM Yangben (Cameroon) yo-BJ Yoruba (Benin) yo-NG Yoruba (Nigeria) yue-HK Cantonese (Hong Kong) zgh-MA Standard Moroccan Tamazight (Morocco) zh-Hans-CN Chinese (Simplified Han,China) zh-Hans-HK Chinese (Simplified Han,Hong Kong) zh-Hans-MO Chinese (Simplified Han,Macao) zh-Hans-SG Chinese (Simplified Han,Singapore) zh-Hant-HK Chinese (Traditional Han,Hong Kong) zh-Hant-MO Chinese (Traditional Han,Macao) zh-Hant-TW Chinese (Traditional Han,Taiwan) zu-ZA Zulu (South Africa) 父主题: 附录
  • WiFi信息模拟 WiFi信息获取 获取WiFi信息示例: WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE); WifiInfo wifiConnection = wifiManager.getConnectionInfo(); if (wifiConnection != null) { String bssid = wifiConnection.getBSSID(); } WiFi信息注入 针对当前连接WiFi BSSID,可以通过设置属性com.cph.wifi.bssid进行注入。 举例: setprop com.cph.wifi.bssid 02:00:00:00:00:00
  • 操作步骤 在弹性云服务器上部署STF依赖的相关组件,并借助ADB工具连接云手机,最后通过浏览器访问STF的地址,实现云手机的批量管理。 安装ADB,并验证安装结果。 sudo apt install android-tools-adb android-tools-fastboot adb --version 正确回显版本即安装成功。 图1 ADB安装成功 更新源,然后安装RethinkDB,用于STF数据存储。 source /etc/lsb-release && echo "deb https://download.rethinkdb.com/repository/ubuntu-$DISTRIB_CODENAME $DISTRIB_CODENAME main" | sudo tee /etc/apt/sources.list.d/rethinkdb.list wget -qO- https://download.rethinkdb.com/repository/raw/pubkey.gpg | sudo apt-key add - sudo apt-get update sudo apt-get install rethinkdb rethinkdb -v 正确回显版本即安装成功。 图2 RethinkDB安装成功 RethinkDB官网支持x86架构,对于arm架构仅为实验性支持。 安装ZeroMQ,用于消息传递。 sudo apt-get install libzmq3-dev 图3 ZeroMQ安装成功 安装Protocol Buffers,作为消息传递的数据格式。 sudo apt-get install libprotobuf-dev protobuf-compiler protoc --version 正确回显版本即安装成功。 图4 Protocol Buffers安装成功 安装GraphicsMagick,用于处理图像的读取、写入和操作。 sudo apt-get install graphicsmagick gm version 正确回显版本即安装成功。 图5 GraphicsMagick安装成功 安装pkg-config,用于编译Nodejs第三方库。 sudo apt-get install pkg-config pkg-config --version 正确回显版本即安装成功。 图6 pkg-config安装成功 安装yasm,用于编译STF的依赖库。 sudo apt-get install yasm yasm --version 正确回显版本即安装成功。 图7 yasm安装成功 安装Nodejs,用于部署STF运行环境。 ##STF运行只支持Node.js 8.x版本 curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - sudo apt-get install -y nodejs node -v npm -v 正确回显版本即安装成功。 图8 node和npm安装成功 安装STF。 sudo npm install -g cnpm --registry=https://registry.npm.taobao.org sudo cnpm install -g stf stf -V 正确回显版本即安装成功。 图9 STF安装成功 检查STF依赖环境是否满足。 stf doctor 正确回显各组件版本即满足。 图10 STF检测启动环境 基于ADB连接云手机实例,具体连接方式参考ADB连接。 启动RethinkDB。 rethinkdb 回显如图11即启动成功。 图11 启动RethinkDB 基于local模式启动STF,并基于浏览器访问。 ##下方请填写实际的弹性云服务器EIP地址 stf local --public-ip {EIP地址} --allow-remote ##访问方式 http://{EIP地址}:7100/ 默认账户和邮箱请参考STF官方文档:https://github.com/openstf/stf。 图12 输入STF默认账户和邮箱 图13 云手机实例 图14 云手机控制界面
共100000条