华为云用户手册

  • 如何预防 配置SSH登录白名单 SSH登录白名单功能是防护账户破解的一个重要方式,配置后,只允许白名单内的IP登录到服务器,拒绝白名单以外的IP。详细操作请参见配置SSH登录IP白名单。 开启双因子认证 双因子认证功能是一种双因素身份验证机制,结合短信/邮箱验证码,对云服务器登录行为进行二次身份认证。 在“双因子认证”页面,勾选需要开启双因子的主机,单击“开启双因子认证”,开启双因子认证。详细操作请参见双因子认证。 修改默认端口 将默认的远程管理端口“22”、“3389”修改为不易猜测的其他端口。 设置安全组规则,限制攻击源IP访问您的服务端口 建议设置对外开放的远程管理端口(如SSH、远程桌面登录),只允许固定的来源IP进行连接。 您可以通过配置安全组规则来限制攻击源IP访问您的服务端口。如果是远程登录端口,您可以只允许特定的IP地址远程登录到弹性云服务器。 例:仅允许特定IP地址(例如,192.168.20.2)通过SSH协议访问Linux操作系统的弹性云服务器的22端口,安全组规则如下所示: 表1 仅允许特定IP地址远程连接云服务器 方向 协议应用 端口 源地址 入方向 SSH(22) 22 例如:192.168.20.2/32 设置安全强度高的口令 口令复杂度策略检测和弱口令检测可检测出主机系统中使用弱口令的账户,您可以在控制台查看并处理主机中的口令风险。
  • 如何设置安全的口令? 请按如下建议设置口令: 使用复杂度高的密码。 建议密码复杂度至少满足如下要求: 密码长度至少8个字符。 包含如下至少三种组合: 大写字母(A~Z) 小写字母(a~z) 数字(0~9) 特殊字符 密码不为用户名或用户名的倒序。 不使用有一定特征和规律容易被破解的常用弱口令。 生日、姓名、身份证、手机号、邮箱名、用户ID、时间年份 数字或字母连排或混排,常用彩虹表中的密码、滚键盘密码。 短语密码 公司名称、admin、root等常用词汇 不使用空密码或系统的缺省密码。 不要重复使用最近5次(含5次)内已使用的密码。 不同网站/账号使用不同的密码。 根据不同应用设置不同的账号密码,不建议多个应用使用同一套账户/密码。 定期修改密码,建议至少每90天更改一次密码。 账号管理人员初次发放或者初始化密码给用户时,如果知道密码内容,建议强制用户首次使用修改密码,若不能强制用户修改密码,则为密码设置过期的期限(用户必须及时修改密码,否则密码应被强制失效)。 建议为所有账户配置设置连续认证失败次数超过5次(不含5次),锁定账号策略和30分钟自动解除锁定策略。 建议对所有账户设置不活动时间超过10分钟自动退出或锁定策略。 新建系统中的账号缺省密码在首次使用前,建议强制用户更改。 建议开启账户登录记录日志功能,登录日志最少保存180天,登录日志中不能保存用户的密码。 父主题: 弱口令和风险账号问题
  • 收到主机登录成功的告警,怎么处理? 若您在“实时告警通知”项目中勾选了“登录成功通知”选项,则任何账户登录成功的事件都会向您实时发送告警信息。 若您所有E CS 上的账户都由个别管理员负责管理,通过该功能可以对系统账户进行严格的监控。 若系统账户由多人管理,或者不同主机由不同管理员负责管理,那么运维人员可能会因为频繁收到不相关的告警而对运维工作造成困扰,此时建议您登录主机安全服务控制台关闭该告警项。 登录成功并不代表发生了攻击,需要您确认登录IP是否是已知的合法IP。 父主题: 异常登录问题
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限, 获取Token 接口响应消息头中X-Subject-Token的值即为Token。 最小长度:1 最大长度:32768 表3 请求Body参数 参数 是否必选 参数类型 描述 code 是 String 验证码 最小长度:6 最大长度:8 method 是 String 认证方式 最小长度:1 最大长度:128
  • 与其他云服务场景联动限制 场景 限制 详细链接 华为云“DDoS高防 + WAF”联动 DDoS高防和WAF联动的时候,存在以下限制: 在WAF控制台将域名工作模式切换为“Bypass”会导致DDoS高防所有绑定相同高防IP和端口的域名不可用。 所以您在WAF控制台将域名工作模式切换为“Bypass”前请确认DDoS高防是否有绑定相同IP和端口的域名,以免对您的业务造成不必要的影响。 华为云“DDoS高防 + WAF”联动 华为云"DDoS原生高级防护+独享WAF"联动 不支持与云WAF联动。 需要DDoS原生防护所在区域和独享WAF所在区域一致。 华为云“DDoS原生高级防护+独享WAF”联动防护
  • DDoS原生高级防护全力防-高级版防护限制 场景 限制 详细链接 防护对象 全力防高级版只能防护专属池EIP,使用全力防高级版需要将云上普通EIP更换专属池EIP。 专属池EIP需要加入到全力防高级版实例中才能生效。单独购买专属池EIP时,防护不生效且专属池EIP不可用。 当全力防高级版到期时,防护自动失效,专属池EIP也会失效,请及时续费或迁移业务。 什么是专属池EIP? 运营商 支持中国移动、中国电信、中国联通等主流运营商,不承诺支持小运营商。 -
  • DDoS高防域名接入限制 场景 限制 详细链接 填写防护域名 在中国大陆内接入的防护域名需要备案。 配置防护域名 什么是备案? 选择防护域名的端口 所需接入的协议端口需要在支持的协议端口的范围内。 支持的协议端口 填写防护域名的源站 源站可以填写源站IP或源站域名,分别有以下限制: 源站IP:上限20个。 源站域名:上限1个。 选择同高防IP端口的情况下,添加 多个域名 但只能选择同一种源站类型。 配置防护域名 绑定实例 防护IPv4源站需要绑定IPv4实例。 防护IPv6源站需要绑定IPv6实例。 支持双栈。 不支持NAT64。 域名类网站业务接入DDoS高防 什么是双栈和NAT64? 添加多个防护域名 同高防IP端口的情况下,添加多个域名不仅只能选择同一种源站类型,而且有如下限制: 如果源站类型是域名,请保证所有源站域名是同一个云WAF的CNAME。 如果源站类型是IP,请开启所有域名的WEB防护。 配置防护域名
  • 操作步骤 购买DDoS高防实例。 如果您的业务服务器部署在中国内地,请购买DDoS高防实例。 DDoS高防实例不支持接入未经ICP备案的域名。如果您需要使用DDoS高防防护网站业务,请确认网站域名已经完成ICP备案。 DDoS高防实例默认提供IPv4高防IP。如果您需要IPv6高防IP,请选择购买DDoS原生防护实例。 如果您的业务服务器部署在中国内地以外地域,且业务主要用户来自中国内地,由于单独使用DDoS高防(国际版)不能保障中国内地用户的访问质量(存在约300毫秒的平均访问延时),建议您考虑以下方案: 如果只需要保障中国内地电信、联通和非移动线路用户的业务访问速度和稳定性,您可以单独购买DDoS高防和优选线路(无防护)。 根据业务类型,将业务接入DDoS高防。 域名类业务接入操作,请参见域名类业务接入DDoS高防。 非域名类业务接入操作,请参见非域名类业务接入DDoS高防。 为避免恶意攻击者绕过DDoS高防直接攻击源站服务器,建议您设置源站保护。 有关源站保护的详细操作,请参见设置源站保护。 配置CC攻击防护策略。 业务正常时 网站业务接入DDoS高防后,建议您在业务运行一段时间后(两、三天左右),通过分析业务应用日志数据(包括URL、单一源IP平均访问QPS等),评估正常情况下单访问源IP的请求QPS情况并相应配置频率控制自定义规则限速策略,避免遭受攻击后的被动响应。 正在遭受CC攻击时 通过查看DDoS高防防护日志,获取域名请求TOP URL、IP地址、访问来源IP、User-Agent等参数信息,根据实际情况配置频率控制自定义规则,并观察防护效果。 有关配置频率自定义规则的详细操作,请参见自定义频率控制防护规则。 如果实际防护效果不佳,建议您购买MDR服务,协助您进一步分析日志并制定防护策略。 本地检查测试配置准确性。 配置完DDoS高防防护策略后,建议参照表2和表3检查测试DDoS高防配置是否正确。 有关本地验证的详细操作,请参见本地验证。 表2 业务检查项说明 业务类型 检查项说明 域名类业务 接入配置域名是否填写正确。 域名是否备案。 接入配置协议是否与实际协议一致。 接入配置端口是否与实际提供的服务端口一致。 源站填写的IP是否是真实服务器IP,而不是错误填写为其他IP。 证书信息是否正确上传。 证书是否合法(例如,加密算法不合规、错误上传其他域名的证书等)。 证书链是否完整。 是否已了解DDoS高防实例的弹性防护计费方式。 协议类型是否启用WebSocket、WebSockets协议。 非域名类业务 业务端口是否可以正常访问。 接入配置协议是否与实际协议一致,确认未错误地为TCP协议业务配置UDP协议规则等。 源站填写的IP是否是真实服务器IP,而不是错误填写为其他IP。 是否已了解DDoS高防实例的弹性防护计费方式。 表3 业务可用性验证项 验证说明 验证项 必检项 测试业务是否能够正常访问。 必检项 测试业务登录会话保持功能是否正常。 必检项 (域名类业务)观察业务返回4XX和5XX响应码的次数,确保回源IP未被拦截。 建议项 是否配置后端服务器获取真实访问源IP。 建议项 (域名类业务)是否配置源站保护,防止攻击者绕过DDoS高防直接攻击源站。 必检项 测试TCP业务的端口是否可以正常访问。 切换业务流量。 本地检查验证通过后,建议采用测试的方式逐个修改DNS解析记录,将网站业务流量切换至DDoS高防,避免批量操作导致业务异常。如果切换流量过程中出现异常,请快速恢复DNS解析记录。 修改DNS解析记录后,需要10分钟左右生效。 真实业务流量切换后,您需要再次根据上述业务可用性验证项进行测试,确保业务正常运行。 开启告警通知。 开启DDoS高防告警通知后,当出现以下情况时,您将接收到告警通知信息(接收消息方式由您设置),及时发现业务异常现象: IP遭受DDoS攻击时 DDoS攻击峰值超过保底防护带宽而产生弹性计费时 您将在次日上午收到告警通知信息。
  • 接入后日常维护事项说明 业务接入DDoS高防后,建议您参照表4例行维护业务。 表4 日常维护事项 维护事项 说明 弹性防护后付费 如果需要启用DDoS高防的弹性防护能力,请务必先查看DDoS高防的计费方式,避免实际产生的弹性防护费用超出预算。有关DDoS高防详细的服务资费和费率标准,请参见产品价格详情。 判断攻击类型 当DDoS高防同时遭受CC攻击和DDoS攻击时,您可以查看DDoS高防防护日志,根据攻击流量信息判断遭受的攻击类型。 DDoS攻击类型:在实例防护报表中有攻击流量的波动,且已触发流量清洗,但在域名防护报表中不存在相关联的波动。 CC攻击类型: 在实例防护报表中有攻击流量的波动,已触发流量清洗,且在域名防护报表中有相关联的波动。 业务访问延时或丢包 针对源站服务器在中国内地以外地域、主要访问用户来自中国内地地域的情况,如果用户访问网站时存在延时高、丢包等现象,主要访问用户来自非中国内地地域的情况,可能存在跨网络运营商导致的访问链路不稳定,建议您购买DDoS高防(国际版)实例并选择加速线路。 删除域名或端口转发配置 如果需要删除已防护的域名端口转发配置记录,请您确认业务是否已正式接入DDoS高防。 如果尚未正式切换业务流量,直接删除域名或端口转发配置记录。 如果已完成业务流量切换,删除域名或端口转发配置前务必前往域名DNS解析服务控制台,修改域名解析记录将业务流量切换回源站服务器。 说明: 删除转发配置前,请务必确认域名的DNS解析或业务访问已经切换至源站服务器。 删除域名配置后,DDoS高防将无法再为您的业务提供专业级安全防护。
  • 紧急接入场景说明 如果您的业务在接入DDoS高防前已经遭受攻击或源站IP已被黑洞,建议您在业务接入DDoS高防时参照表1进行处理。 如果在接入DDoS高防前业务已遭受攻击,建议您更换源站服务器IP。更换IP前,请务必确认是否在客户端或App端中通过代码直接指向源站IP,在这种情况下,请先更新客户端或App端代码后再更换源站IP,避免影响业务正常访问。具体操作请参见更换源站ECS公网IP。 表1 紧急接入场景说明 业务场景 使用说明 业务已经遭受DDoS攻击 一般情况下,业务接入DDoS高防后,采用默认防护配置。 源站IP已被黑洞 如果在接入DDoS高防前,业务源站服务器已被攻击且触发黑洞策略,请及时更换源站IP。 如果您的源站为华为云ELB实例,请更换ELB实例公网IP,详细操作请参见更换ECS IP。 须知: 更换源站IP后,请尽快将业务接入DDoS高防进行防护,避免源站IP暴露。 如果您的业务部署在华为云上,而您不希望更换源站IP,或者已经更换源站IP但仍存在IP暴露的情况,建议您在源站ECS服务器前部署弹性负载均衡(ELB)实例,并将ELB实例的公网IP作为源站IP接入DDoS高防。
  • 代码样例 public void testCreateTable() { LOG .info("Entering testCreateTable."); // Specify the table descriptor. HTableDescriptor htd = new HTableDescriptor(tableName); // (1) // Set the column family name to info. HColumnDescriptor hcd = new HColumnDescriptor("info"); // (2) // Set hot and cold data boundary hcd.setValue(HColumnDescriptor.COLD_BOUNDARY, "86400"); htd.addFamily(hcd); // (3) Admin admin = null; try { // Instantiate an Admin object. admin = conn.getAdmin(); // (4) if (!admin.tableExists(tableName)) { LOG.info("Creating table..."); admin.createTable(htd); // 注[1] (5) LOG.info(admin.getClusterStatus()); LOG.info(admin.listNamespaceDescriptors()); LOG.info("Table created successfully."); } else { LOG.warn("table already exists"); } } catch (IOException e) { LOG.error("Create table failed.", e); } finally { if (admin != null) { try { // Close the Admin object. admin.close(); } catch (IOException e) { LOG.error("Failed to close admin ", e); } } } LOG.info("Exiting testCreateTable."); } 代码编号解释 (1)创建表描述符。 (2)创建列族描述符。 (3)添加列族描述符到表描述符中。 (4)获取Admin对象,Admin提供了建表、创建列族、检查表是否存在、修改表结构和列族结构以及删除表等功能。 (5)调用Admin的建表方法。 注意事项 注[1] 表和列族其它属性设置可以参考开发HBase应用。 注[1] 指的是代码样例中的“admin.createTable(htd); // 注[1] (5)”。
  • 功能介绍 HBase通过org.apache.hadoop.hbase.client.Admin对象的createTable方法来创建表,并指定表名、列族名、冷热时间线。 创建表有两种方式(强烈建议采用预分Region建表方式): 快速建表,即创建表后整张表只有一个Region,随着数据量的增加会自动分裂成多个Region。 预分Region建表,即创建表时预先分配多个Region,此种方法建表可以提高写入大量数据初期的数据写入速度。 表名以及列族名不能包含特殊字符,可以由字母、数字以及下划线组成。
  • 代码样例 Properties clickHouseProperties = new Properties(); clickHouseProperties.setProperty(ClickHouseClientOption.CONNECTION_TIMEOUT.getKey(), Integer.toString(60000)); clickHouseProperties.setProperty(ClickHouseClientOption.SSL.getKey(), Boolean.toString(false)); clickHouseProperties.setProperty(ClickHouseClientOption.SSL_MODE.getKey(), "none");
  • 元数据缓存设置 创建Catalog时可以采用参数file.meta.cache.ttl-second来设置Hive分区文件缓存自动失效时间,也可以将该值设置为0来禁用分区文件缓存,时间单位为:秒。示例如下: CREATE CATALOG hive_catalog PROPERTIES ( 'type'='hms', 'hive.metastore.uris' = 'thrift://127.x.x.x:port', 'AWS_AC CES S_KEY' = 'ak', 'AWS_SECRET_KEY' = 'sk', 'AWS_ENDPOINT' = 'obs.cn-north-4.myhuaweicloud.com', 'AWS_REGION' = 'cn-north-4', 'file.meta.cache.ttl-second' = '60', 'yarn.resourcemanager.address' = '192.X.X.X:port', 'yarn.resourcemanager.principal' = 'mapred/hadoop.hadoop.com@HADOOP.COM' );
  • 创建hive catalog 通过连接Hive Metastore,或者兼容Hive Metastore的元数据服务,Doris可以自动获取Hive的库表信息,并进行数据查询。 除了Hive外,很多其他系统也会使用Hive Metastore存储元数据。所以通过Hive Catalog,我们不仅能访问Hive,也能访问使用Hive Metastore作为元数据存储的系统。 创建。 Hive On OBS CREATE CATALOG hive_catalog PROPERTIES ( 'type'='hms', 'hive.metastore.uris' = 'thrift://127.x.x.x:port', 'AWS_ACCESS_KEY' = 'ak', 'AWS_SECRET_KEY' = 'sk', 'AWS_ENDPOINT' = 'obs.cn-north-4.myhuaweicloud.com', 'AWS_REGION' = 'cn-north-4', 'yarn.resourcemanager.address' = '192.X.X.X:port', 'yarn.resourcemanager.principal' = 'mapred/hadoop.hadoop.com@HADOOP.COM' ); Hive On HDFS CREATE CATALOG hive_catalog PROPERTIES ( 'type'='hms', 'hive.metastore.uris' = 'thrift://127.x.x.x:port', 'dfs.nameservices'='hacluster', 'dfs.ha.namenodes.hacluster'='3,4', 'dfs.namenode.rpc-address.hacluster.3'='192.x.x.x:port', 'dfs.namenode.rpc-address.hacluster.4'='192.x.x.x:port', 'dfs.client.failover.proxy.provider.hacluster'='org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider', 'yarn.resourcemanager.address' = '192.X.X.X:port', 'yarn.resourcemanager.principal' = 'mapred/hadoop.hadoop.com@HADOOP.COM' ); 创建后查询: select * from hive_catalog.DB.test_table;
  • Hive版本 Doris可以正确访问不同Hive版本中的Hive Metastore。在默认情况下,Doris会以Hive2.3版本的兼容接口访问Hive Metastore。你也可以在创建Catalog时指定hive的版本。如访问Hive1.1.0版本: CREATE CATALOG hive_catalog PROPERTIES ( 'type'='hms', 'hive.metastore.uris' = 'thrift://127.x.x.x:port', 'AWS_ACCESS_KEY' = 'ak', 'AWS_SECRET_KEY' = 'sk', 'AWS_ENDPOINT' = 'obs.cn-north-4.myhuaweicloud.com', 'AWS_REGION' = 'cn-north-4', 'hive.version' = '1.1.0', 'yarn.resourcemanager.address' = '192.X.X.X:port', 'yarn.resourcemanager.principal' = 'mapred/hadoop.hadoop.com@HADOOP.COM' );
  • 责任共担 华为云秉承“将公司对网络和业务安全性保障的责任置于公司的商业利益之上”。针对层出不穷的 云安全 挑战和无孔不入的云安全威胁与攻击,华为云在遵从法律法规业界标准的基础上,以安全生态圈为护城河,依托华为独有的软硬件优势,构建面向不同区域和行业的完善云服务安全保障体系。 安全性是华为云与您的共同责任,如图1所示。 华为云:负责云服务自身的安全,提供安全的云。华为云的安全责任在于保障其所提供的 IaaS、PaaS 和 SaaS 类云服务自身的安全,涵盖华为云数据中心的物理环境设施和运行其上的基础服务、平台服务、应用服务等。这不仅包括华为云基础设施和各项云服务技术的安全功能和性能本身,也包括运维运营安全,以及更广义的安全合规遵从。 租户:负责云服务内部的安全,安全地使用云。 华为云租户的安全责任在于对使用的 IaaS、PaaS 和 SaaS 类云服务内部的安全以及对租户定制配置进行安全有效的管理,包括但不限于虚拟网络、 虚拟主机 和访客虚拟机的操作系统,虚拟防火墙、API 网关和高级安全服务,各项云服务,租户数据,以及身份账号和密钥管理等方面的安全配置。 《华为云安全白皮书》详细介绍华为云安全性的构建思路与措施,包括云安全战略、责任共担模型、合规与隐私、安全组织与人员、基础设施安全、租户服务与租户安全、工程安全、运维运营安全、生态安全。 图1 华为云安全责任共担模型 父主题: 安全
  • 配置方法 使用租户账号或其他有权限的账号登录CodeArts,单击右上角头像,选择“子账号管理”,进入 统一身份认证 服务控制台。 在左侧菜单栏单击“用户组”,进入用户组设置页面,新建一个用户组或选择已有用户组,单击“授权”,开始对用户组授权。 云服务选择“流水线服务”,即可查看“流水线服务”相关策略列表,包括以下几个: 策略名称 描述 CloudPipeline Tenant Rules FullAccess CodeArts租户规则设置全部权限,控制用户是否具有流水线服务租户级规则的全部权限。 CloudPipeline Tenant Rule Templates FullAccess CodeArts租户策略设置全部权限,控制用户是否具有流水线服务租户级策略的全部权限。 CloudPipeline Tenant Extensions FullAccess CodeArts租户扩展插件全部权限,控制用户是否具有流水线服务扩展插件的全部权限。 CloudPipeline Tenant Pipeline Templates FullAccess CodeArts租户流水线模板全部权限,控制用户是否具有流水线服务流水线模板的全部权限。 勾选所需策略,单击“下一步”,设置最小授权范围,完成对用户组的授权。 最后,通过用户授权或用户组管理的方式,将指定用户加入用户组,即可完成对用户的授权。 除了使用系统策略,租户还可以通过创建自定义策略的方式进行授权。
  • 概览 流水线权限从上到下可以分成三个层级,分别控制不同模块不同粒度的用户行为。 层级 模块 描述 租户级权限控制 扩展插件、策略(租户级)、租户级规则、流水线模板 控制租户账号下各模块资源,在统一身份认证服务中进行配置,生效范围为整个租户下的全部项目。 项目级权限控制 流水线、策略(项目级)、微服务、变更、微服务发布和开发者联调 控制某一具体项目下的模块资源,在项目设置中进行配置,生效范围为整个项目下的全部资源。 资源级权限控制 流水线 控制某一具体流水线的操作权限,在流水线编辑状态进行配置,支持按项目成员或项目角色粒度进行设置。 父主题: 权限管理
  • 后续操作 如果系统表结构发生了变化或者有表级别调整,则需要重新开启CDC配置,配置步骤如下: 先关闭CDC配置,请根据实际情况填写schema和name。 EXEC sys.sp_cdc_disable_table @source_schema = N'dbo', @source_name = 'baris', @capture_instance ='all' 重新开启CDC配置,请根据实际情况填写schema和name。 开启表级别配置。 IF EXISTS(SELECT 1 FROM sys.tables WHERE name='baris' AND is_tracked_by_cdc = 0) BEGIN EXEC sys.sp_cdc_enable_table @source_schema = 'dbo', -- source_schema @source_name = 'baris', -- table_name @capture_instance = NULL, -- capture_instance @supports_net_changes = 1, -- supports_net_changes @role_name = NULL -- role_name END
  • 脚本配置示例 { "response_headers": [ { "name": "header1", "value": "test", "action": "append" }, { "name": "header2", "value": "roma", "action": "override" } ] }
  • 前提条件 每个API都要归属到某个集成应用下,在创建API前您需要有可用的集成应用,否则请提前创建集成应用。 每个API都要归属到某个API分组下,在创建API前您需要有可用的API分组,否则请提前创建API分组。 如果需要使用负载通道访问后端服务所在的服务器,请提前创建负载通道。 如果需要使用自定义认证方式进行API的安全认证,请提前创建自定义认证。 在创建API前,请确保ROMA Connect实例与您的后端服务所在网络互通。 若ROMA Connect实例与后端服务在相同VPC内时,可直接访问后端服务。 若ROMA Connect实例与后端服务在同一区域的不同VPC内时,可通过创建VPC对等连接,将两个VPC的网络打通,实现同一区域跨VPC访问后端服务。具体步骤请参考VPC对等连接说明。 若ROMA Connect实例与后端服务在不同区域的不同VPC内时,可通过创建云连接实例并加载需要互通的VPC,将两个VPC的网络打通,实现跨区域跨VPC访问后端服务。具体步骤请参考跨区域VPC互通。 若ROMA Connect实例与后端服务通过公网互通,请确保ROMA Connect实例已绑定弹性IP。 若ROMA Connect实例跨VPC内网访问后端服务时,需要完成实例到后端服务所在子网的路由配置。 使用FunctionGraph作为API的后端服务时,用户需要具备FunctionGraph Administrator角色权限。
  • 定义API请求 定义API的请求信息。 表2 API请求配置 参数 配置说明 请求协议 选择API使用的请求协议,可选择“HTTP”、“HTTPS”和“HTTP&HTTPS”,传输重要或敏感数据时推荐使用HTTPS。 请求Path 填写API的请求路径,格式如:/getUserInfo/{userId}。请求路径中可包含Path参数,以{参数名}形式表示。 Path参数应匹配“/”之间的一整段,不支持匹配“/”之间的一部分,例如不支持/abc{userId}。若匹配模式为绝对匹配,则尾部的Path参数可以添加+号,例如/users/{p+},其中变量p匹配一或多段“/”之间的部分。 请求路径中包含Path参数时,必须配置对应的入参定义。 请求路径中的内容区分大小写。 匹配模式 选择API请求路径的匹配模式。 绝对匹配:API请求中的请求路径要与“请求Path”的配置一致。 前缀匹配:API请求中的请求路径要以“请求Path”的配置为前缀。例如,“请求Path”为“/test/AA”,使用前缀匹配时,通过/test/AA/BB和/test/AA/CC都可以访问API,但是通过/test/AACC无法访问。 说明: 使用前缀匹配时,匹配剩余的请求路径将透传到后端服务。例如,“请求Path”为“/test”,“后端请求Path”为“/test2”,使用前缀匹配时,通过/test/AA/CC访问API,后端服务收到的请求路径为/test2/AA/CC。 Method 选择API的请求方法。“ANY”表示该API支持任意请求方法。 支持CORS 是否支持跨域访问API。 浏览器出于安全性考虑,限制从页面脚本内发起的跨域请求,此时页面只能访问同源的资源。而CORS允许浏览器向跨域服务器发送XMLHttpRequest请求,从而实现跨域访问。跨域访问API请参见配置跨域访问API。 入参定义(可选) 根据实际需要定义API的请求参数。请求路径中包含请求参数时,必须配置对应的入参定义。 在“入参定义”下单击“添加入参定义”,添加API的请求参数。 参数名:请求参数的名称。参数位置为“PATH”时,参数名需要与“请求Path”中的参数名称一致。 参数位置:请求参数在API请求中的位置,可选择“PATH”、“HEADER”和“QUERY”。 类型:选择请求参数的数据类型,可选择“STRING”和“NUMBER”。 必填:在API请求中,请求参数是否必填。 透传:请求参数是否透传到后端服务。 默认值:仅当“必填”为“否”时可配置请求参数的默认值。 枚举:请求参数的枚举值,请求参数的值只能从枚举值中选择,多个枚举值间用英文逗号隔开。 最大长度/最大值:“类型”为“STRING”时,设置参数值的最大字符串长度,“类型”为“NUMBER”时,设置参数值的最大值。 最小长度/最小值:“类型”为“STRING”时,设置参数值的最小字符串长度,“类型”为“NUMBER”时,设置参数值的最小值。 最小长度/最小值和最大长度/最大值同时设置成0时,表示不做限制。 示例:请求参数值的填写示例。 描述:请求参数的描述信息。 说明: 参数名不能以x-apig- 、x-sdk-开头,不能是x-stage,不区分大小写。 参数位置为HEADER时,参数名不能是Authorization和X-Auth-Token,不区分大小写。 请求体内容描述 仅当“Method”选择“POST”、“PUT”、“PATCH”或“ANY”时可配置。 填写API请求中请求体的描述信息,用于帮助API调用者理解如何正确封装API请求。 完成后单击“下一步”,定义后端服务。
  • 脚本配置示例 { "allow_origin": "*", "allow_methods": "GET,POST,PUT", "allow_headers": "Accept-Ranges,Cache-Control", "expose_headers": "X-Request-Id,X-Apig-Latency", "max_age": 172800, "allow_credentials": true }
  • 约束与限制 同一个API在同一个环境中只能绑定一个相同类型的插件策略,已被API绑定的插件策略无法删除。 同一API分组下,发布在同一环境且请求路径相同的所有API,只能绑定同一个跨域资源共享策略。 若API开启了“支持CORS”功能的同时,也绑定了跨域资源共享策略,则以绑定的插件策略为准。 若某个请求路径下有OPTIONS方法的API,则在OPTIONS方法API所在发布环境中,该请求路径的所有API均不允许绑定跨域资源共享策略。 为API绑定插件策略时,API的请求方法必须为allow_methods中允许的请求方法。
  • 约束与限制 同一个API在同一个环境中只能绑定一个相同类型的插件策略,已被API绑定的插件策略无法删除。 同一个ROMA Connect实例内最多可创建5个Kafka日志推送策略。 推送的日志信息中,响应数据暂不支持Transfer Encoding响应头参数。 默认支持推送的最大日志大小为4K,超出的日志部分会被截断。 推送的日志信息中,请求Body和响应Body信息是按UTF-8编码方式计算字节长度。
  • 脚本配置示例 { "broker_list": [ "10.10.10.10:81", "10.10.10.11:82", "10.10.10.12:83" ], "topic": "Topic-test", "key": "aaa", "max_retry_count": 0, "retry_backoff": 1, "sasl_config": { "security_protocol": "PLAINTEXT", "sasl_mechanisms": "PLAIN", "sasl_username": "", "sasl_password": "", "ssl_ca_content": "" }, "meta_config": { "system": { "start_time": true, "request_id": true, "client_ip": true, "api_id": false, "user_name": false, "app_id": false, "request_time": true, "http_status": true, "server_protocol": false, "scheme": true, "request_method": true, "host": false, "api_uri_mode": false, "uri": false, "request_size": false, "response_size": false, "upstream_uri": false, "upstream_addr": true, "upstream_status": true, "upstream_connect_time": false, "upstream_header_time": false, "upstream_response_time": true, "http_x_forwarded_for": true, "http_user_agent": true, "error_type": true, "access_model1": false, "access_model2": false, "inner_time": false, "proxy_protocol_vni": false, "proxy_protocol_vpce_id": false, "proxy_protocol_addr": false, "body_bytes_sent": false, "api_name": false, "app_name": false, "provider_app_id": false, "all_upstream_response_time": false, "region_id": false, "auth_type": false, "response_source": false, "provider_app_name": false, "custom_data_log01": false, "custom_data_log02": false, "custom_data_log03": false, "custom_data_log04": false, "custom_data_log05": false, "custom_data_log06": false, "custom_data_log07": false, "custom_data_log08": false, "custom_data_log09": false, "custom_data_log10": false }, "call_data": { "log_request_header": true, "request_header_filter": "aaa", "log_request_query_string": true, "request_query_string_filter": "bbb", "log_request_body": true, "log_response_header": true, "response_header_filter": "ccc", "log_response_body": true, "custom_authorizer": { "frontend": [], "backend": [] } } } }
  • 离线版软件获取与安装方法 获取软件RPM离线安装包需要找一台能正常访问外网且能使用yum源的机器,通过下面的方法获取。 获取Docker安装包及依赖。 更新yum缓存。 yum makecache fast 下载所有依赖到指定路径下。 mkdir -p /home/dockerrpm/ yum intsall docker-ce --downloadonly --downloaddir=/home/dockerrpm/ 将Docker安装包及依赖打包。 tar zcvf docker-ce-20.tar.gz /home/dockerrpm/* 上传到所有边缘节点后解压安装。 tar zxvf docker-ce-20.tar.gz cd dockerrpm rpm -ivh *.rpm --force --nodeps 获取Haveged安装包。 下载离线安装包: yum -y install haveged --downloadonly 获取NTP安装包。 下载离线安装包: yum -y install ntp --downloadonly 从机器上导出上面下载的RPM包,再通过内网导入到所有边缘节点上进行安装。
  • 概述 ROMA Site协同版实例目前仅支持自建站点,企业自建边缘节点,使用客户自有机房的虚拟机。 在创建自建站点类型ROMA Site实例前,需要准备虚拟机资源、安装Docker、安装Haveged、配置NTP时间同步、挂载磁盘,以及检查虚拟机与ROMA Site、IEF、SWR、OBS以及 AOM 五个服务是否通信。 其中,使用智能边缘平台IEF的容器应用,需要单独付费,计费模式如下: 套餐包计费模式:即购买了套餐包。购买后,会根据实际使用情况从套餐包中直接扣费。 按需计费模式:即未购买套餐包,根据实际使用情况进行扣费。 具体计费详情请参考智能边缘平台IEF。 虚拟机资源准备有以下两种场景,您可以根据实际场景准备虚拟机资源。 首次创建ROMA Site实例,需要根据ROMA Site实例资源要求申请新的虚拟机。 使用已创建过ROMA Site实例,且实例已删除的虚拟机重新创建ROMA Site实例。 由于操作系统、数据库软件等资源由客户准备,因此ROMA不负责此类资源的后期维护,强烈建议客户购买商业版的操作系统、数据库等软件,以免影响客户业务的正常运行。
  • 请求消息示例(周期会议) GET /v1/mmc/management/conferences/confDetail?conferenceID=969304019 Connection: keep-alive X-Access-Token: stbX5ElstO5QwOwPB9KGQWUZ1DHoFrTsQjjC user-agent: WeLink -desktop Host: api.meeting.huaweicloud.com User-Agent: Apache-HttpClient/4.5.3 (Java/1.8.0_191)
共100000条