云服务器内容精选

  • 调用API 配置请求地址相关参数。 API调用场景 API请求参数配置 使用域名调用API ROMA API允许使用服务分配的子域名或服务绑定的域名调用API,无需另外配置。 使用IP调用API ROMA API的实例配置参数“app_route”已设置为“on”,允许通过IP访问API。 允许使用IP地址调用API,无需另外配置。 配置认证参数。 API认证方式 API请求参数配置 APP认证 签名认证 使用获取的SDK对API请求进行签名,具体请参考APP认证开发。 简易认证 在ROMA API请求中添加Header参数“X-Apig-AppCode”,参数值为获取API的请求信息中获取到的AppCode。 双重认证 在API请求参数中增加自定义认证信息进行认证。 凭证认证 在API请求中添加Header参数“X-HW-ID”,获取API的请求信息中获取到凭证信息的Key。 在API请求中添加Header参数“X-HW-AppKey”,获取API的请求信息中获取到凭证信息的Secret。 app_api_key认证 ROMA API的实例配置参数“app_api_key”已设置为“on”,开启app_api_key认证。 在API请求中添加Header或Query参数“apikey”,参数值为获取API的请求信息中获取到的Key或AppKey。 app_secret认证 ROMA API的实例配置参数“app_secret”已设置为“on”,开启app_secret认证,且“app_api_key”已设置为“off”,关闭app_api_key认证。 在API请求中添加Header参数“X-HW-ID”,参数值为API所授权的Key或客户端的AppKey。 在API请求中添加Header参数“X-HW-AppKey”,参数值为获取API的请求信息中获取到的Secret或AppSecret。 app_basic认证 ROMA API的实例配置参数“app_basic”已设置为“on”,开启app_basic认证。 在API请求中添加Header参数“Authorization”,参数值为"Basic "+base64(appkey+":"+appsecret),其中appkey和appsecret分别为获取API的请求信息中获取到的Key和Secret(或AppKey和AppSecret)。 app_jwt认证 ROMA API的实例配置参数“app_jwt”已设置为“on”,开启app_jwt认证。 在API请求中添加Header参数“Timestamp”,参数值为当前时间的Unix时间戳。 在API请求中添加Header参数“Authorization”,参数值为sha256(appkey+appsecret+timestamp),其中appkey和appsecret分别为获取API的请求信息中获取到的Key和Secret(或AppKey和AppSecret),timestamp为当前时间的Unix时间戳。 华为IAM认证 Token认证 先获取云服务平台的认证Token,然后在API请求中携带Token进行认证。 AK/SK认证 调用API时,使用获取的SDK对API请求进行签名,具体请参考IAM认证开发(AK/SK)。 双重认证 在API请求参数中增加自定义认证信息进行认证。 自定义认证 在API请求参数中携带认证信息进行认证。 无认证 无需认证,可直接调用API。
  • 获取API的请求消息 在调用API前,您需要向API管理者获取API的请求信息,包括访问域名、请求协议、请求方法、请求路径以及请求参数。 根据API使用的安全认证方式,还要获取相关的请求认证信息: APP认证: 签名认证:向API管理者获取该API所授权应用的Key和Secret(或客户端的AppKey和AppSecret),以及用于调用API的SDK。 简易认证:向API管理者获取该API所在应用的AppCode。 其他认证:向API管理者获取该API所授权应用的Key和Secret(或客户端的AppKey和AppSecret)或凭证信息。 华为IAM认证:通过云服务平台的账号凭证(账号和密码获取Token或者AK/SK)进行认证。如果使用AK/SK进行认证,还需要向API管理者获取用于调用API的SDK。 自定义认证:向API管理者获取请求参数中要携带的自定义认证信息。 无认证:无需认证信息。
  • 什么是ROMA API ROMA API是为API提供全生命周期治理的服务,解决API的设计、实现、管理、消费、以及分析等全流程场景的管理问题。ROMA API提供了规范化的产品和工具支撑,解决企业发展过程中各阶段遇到的问题,帮助企业快速实现API经济,持续构建高质量的API服务能力。 表1 产品功能 功能 说明 API可视化设计 ROMA API集成了标准的Swagger编辑器,支持编辑器编辑和表单编辑两种方式,并提供规范性检查功能,使用户可以快速、高效的在线进行API Swagger文档的设计。 API快速实现 ROMA API支持通过导入API文档一键生成代码仓以及流水线,降低开发时间。 API管理 包括API的创建、发布、下线和删除的完整生命周期管理,提供便捷的在线调试能力,支持导入Swagger文档一键生成API,以便更快速地开放API业务。 API策略 支持传统策略和插件策略。传统策略包括流量控制、访问控制、签名密钥;插件策略包括跨域资源共享、HTTP响应头管理以及更多的插件能力,进而提供更丰富的API安全、运维能力。 API测试 通过导入API生成测试用例,快速实现API测试的覆盖。 API消费 ROMA API提供内部市场的能力,将API包装成API产品,支持上架到API目录中,提供完整的API文档展示能力,以及订阅功能。 API分析 提供可视化的API指标数据,方便API管理者进行维护和运营。
  • 配额管理 限制项 默认限制 能否修改 应用数量 每个用户最多创建200个应用。 x API产品数量 每个用户最多创建100个API产品。 √ API产品版本数量 每个API产品最多创建50个版本。 √ API产品图标数量 每个用户最多创建200个API产品图标。 √ API产品版本中的API数量 每个API产品版本最多添加100个API。 √ 凭证数量 每个用户最多创建50个凭证。 √ 其他配额请参考APIG配额管理、ROMA Connect配额管理、CodeArts配额管理。
  • 多重运行安全防护 API的开放无时无刻都在面临着巨大的安全攻击风险(DDoS、XSS、钓鱼、暴力攻击等),ROMA API提供了一套完善的4层防护架构,从接入层、认证层、审计层和转发层,层层保障您的后端安全。 接入层 基于HTTPS访问,保证网络传输安全;从数据入口屏蔽恶意调用,防重放、防篡改;从APP、API、IP等多维度设置的流控策略进行保护。 认证层 提供AK/SK、Token方式进行应用的认证,授权后才可访问;支持系统级和API级的IP黑白名单,拒绝恶意访问。 审计层 支持LTS日志分析,可为追查异常调用和恢复业务操作提供客观依据。 转发层 通过安全通道访问后端服务;提供负载均衡、自动熔断等能力;支持对后端服务的证书校验;提供API网关的身份认证信息、签名密钥等功能。
  • 入门简介 华为云API全生命周期管理服务致力于构建以API为核心的全栈服务体系,提供API设计、API实现、API管理、API消费、API分析能力,端到端从源头到资产实现企业规范化管理。针对不同的使用场景提供不同的管理方案: 初级使用者 一般属于业务API较小的企业用户,对API全生命周期管理的流程诉求较低,主要用于解决API的托管跟开放能力。 中级使用者 支持API在线设计,并通过规范性的检查,解决设计API带来的质量和安全问题;支持自定义上架API产品,通过审批管理严格把控API产品质量。 高级使用者 敬请期待。 API治理专家 敬请期待。
  • 步骤六:配置策略 在“API运行”客户端右上方单击,选择“流量控制”。 配置流量控制策略。 图6 配置流量控制策略 表5 配置流量控制策略 参数 配置说明 配置方式 支持选择已有策略或创建新策略,此处选择“创建新策略”。 策略名称 API流控策略名称,建议您按照一定的命名规则填写策略名称,方便您快速识别和查找。 类型 流控类型,此处选择“基础流控”,针对单个API进行流量统计和控制。 时长 流量限制的时长,此处设置“4小时”。 API流量限制 单个API被调用次数上限100次。 用户流量限制 单个用户调用API次数上限,为简单起见,此处不配置。 应用流量限制 单个应用调用API次数上限,为简单起见,此处不配置。 源IP流量限制 单个IP地址调用API次数上限,为简单起见,此处不配置。 描述 关于控制策略的描述。 单击“确定”。
  • 步骤五:创建API服务 单击“导入到API服务”。 导入前,对API文件进行导入规则检查。 需修复问题,请单击“修复问题”,根据“API Rule Check”提示修改。 无问题修复,请单击“继续导入”。 选择步骤一中实例,填写服务名称,并选择API接口。 单击“全局配置(可选)”,定义API服务。 图5 全局配置 安全配置:选择认证方式,此处选择“APP认证”。 后端请求配置。 表4 后端请求参数配置 参数 配置说明 后端服务类型 选择后端服务类型,此处选择“HTTP&HTTPS”。 负载通道 “不使用”负载通道。 URL URL地址 请求协议:HTTP 后端服务地址:192.168.1.1:1234为•步骤四:后端开发部署后的后端服务地址或用户自己的后端服务地址。 自定义host头域 为简单起见,此处不配置。 后端超时 请求超时时间,此处填写“5000”ms。 TLS双向认证 为简单起见,此处不配置。 后端认证 为简单起见,此处不配置。 单击“完成”。 单击“确定”,将服务发布到“RELEASE”,页面自动跳转到“API运行”页面。
  • 步骤四:配置策略 在“API运行”客户端右上方单击,选择“流量控制”。 配置流量控制策略。 图5 配置流量控制策略 表2 配置流量控制策略 参数 配置说明 配置方式 支持选择已有策略或创建新策略,此处选择“创建新策略”。 策略名称 API流控策略名称,建议您按照一定的命名规则填写策略名称,方便您快速识别和查找。 类型 流控类型,此处选择“基础流控”,针对单个API进行流量统计和控制。 时长 流量限制的时长,此处设置“4小时”。 API流量限制 单个API被调用次数上限100次。 用户流量限制 单个用户调用API次数上限,为简单起见,此处不配置。 应用流量限制 单个应用调用API次数上限,为简单起见,此处不配置。 源IP流量限制 单个IP地址调用API次数上限,为简单起见,此处不配置。 描述 关于控制策略的描述。 单击“确定”。
  • 转换证书为PEM格式 格式类型 转换方式(通过OpenSSL工具进行转换) CER/CRT 将“cert.crt”证书文件直接重命名为“cert.pem”。 PFX 提取私钥命令,以“cert.pfx”转换为“key.pem”为例。 openssl pkcs12 -in cert.pfx -nocerts -out key.pem 提取证书命令,以“cert.pfx”转换为“cert.pem”为例。 openssl pkcs12 -in cert.pfx -nokeys -out cert.pem P7B 证书转换,以“cert.p7b”转换为“cert.cer”为例。 openssl pkcs7 -print_certs -in cert.p7b -out cert.cer 将“cert.cer”证书文件直接重命名为“cert.pem”。 DER 提取私钥命令,以“privatekey.der”转换为“privatekey.pem”为例。 openssl rsa -inform DER -outform PEM -in privatekey.der -out privatekey.pem 提取证书命令,以“cert.cer”转换为“cert.pem”为例。 openssl x509 -inform der -in cert.cer -out cert.pem
  • 配置参数说明 表1 配置参数说明 参数 配置说明 Name 响应头名称。每个策略中不能添加重复名称的响应头(不区分大小写),且最多添加10条响应头。 Value 响应头的值。当“Action”为“Delete”时响应头的值不生效,可为空。 Action 响应头操作,您可以覆盖、添加、删除、跳过或新增指定的响应头。 override:覆盖 当API响应中存在指定的响应头时,使用当前响应头的值覆盖已有响应头的值。 当API响应中存在多个与指定响应头相同名称的响应头时,该操作只会按当前响应头的值返回一条响应头记录。 当API响应中不存在指定的响应头时,添加当前响应头。 append:添加 当API响应中存在指定的响应头时,将当前响应头的值添加到已有响应头值之后,用逗号分隔。 当API响应中存在多个与指定响应头相同名称的响应头时,会将多个响应头的值用“,”拼接后,再添加当前响应头的值。 当API响应中不存在指定的响应头时,添加当前响应头。 delete:删除 当API响应中存在指定的响应头时,删除当前响应头。 当API响应中存在多个与指定响应头相同名称的响应头时,删除所有相同名称的响应头。 skip:跳过 当API响应中存在指定的响应头时,跳过当前响应头。 当API响应中存在多个与指定响应头相同名称的响应头时,均不作处理直接返回。 当API响应中不存在指定的响应头时,添加当前响应头。 add:新增 无论API响应中是否存在指定的响应头,都添加当前响应头。
  • 脚本配置示例 { "response_headers": [ { "name": "test", "value": "test", "action": "append" }, { "name": "test1", "value": "test1", "action": "override" } ]}
  • 配置参数说明 表1 配置参数说明 参数 配置说明 allowed origins Access-Control-Allow-Origin响应头,指定允许访问API的外域URI,多个URI之间使用英文逗号隔开。 对于未携带身份凭证的请求,可以把参数值设置为“*”,表示允许来自所有域的访问请求。 allowed methods Access-Control-Allow-Methods响应头,指定允许使用的HTTP请求方法,多个请求方法之间使用英文逗号隔开。 allowed headers Access-Control-Allow-Headers响应头,指定XMLHttpRequest请求中允许携带的请求头字段,多个请求头之间使用英文逗号隔开。 其中,简单请求头Accept、Accept-Language、Content-Language、Content-Type(取值仅限为application/x-www-form-urlencoded、multipart/form-data、text/plain时)默认允许在请求中携带,无需在该参数中设置。 exposed headers Access-Control-Expose-Headers响应头,指定XMLHttpRequest请求响应中允许携带的响应头字段,多个响应头之间使用英文逗号隔开。 其中,基本响应头Cache-Control、Content-Language、Content-Type、Expires、Last-Modified、Pragma默认允许在响应中携带,无需在该参数中设置。 maximum age Access-Control-Max-Age响应头,指定本次预检请求的有效期,单位为秒。在有效期内,无需再次发出预检请求。 allowed credentials Access-Control-Allow-Credentials响应头,定XMLHttpRequest请求中是否允许携带Cookie。 true表示允许。 false表示不允许。
  • 脚本配置示例 { "allow_origin": "*", "allow_methods": "GET,POST,PUT", "allow_headers": "Content-Type,Accept,Accept-Ranges,Cache-Control", "expose_headers": "X-Request-Id,X-Apig-Latency", "max_age": 172800, "allow_credentials": true}
  • 网关错误响应类型说明 ROMA API提供的错误响应类型见表1,其中响应状态码可以按实际需要做自定义修改。 表1 ROMA API的错误响应类型 错误响应类型 默认的响应状态码 错误说明 详细说明 ACCESS_DENIED 403 拒绝访问 拒绝访问,如触发配置的访问控制策略、或异常攻击检测拦截 AUTHORIZER_CONF_FAILURE 500 自定义认证配置错误 自定义认证方异常,通信失败、返回异常响应等错误 AUTHORIZER_FAILURE 500 自定义认证失败 自定义认证方返回认证失败 AUTHORIZER_IDENTITIES_FAILURE 401 自定义认证身份来源错误 前端自定义认证的身份来源信息缺失或不合法错误 AUTH_FAILURE 401 认证失败 认证失败,IAM或APP认证校验失败 AUTH_HEADER_MISSING 401 认证身份来源缺失 认证身份来源信息缺失 BACKEND_TIMEOUT 504 后端超时 后端超时,与后端的网络交互超过预配置的时间错误 BACKEND_UNAVAILABLE 502 后端不可用 后端不可用,网络不可达错误 DEFAULT_4XX - 默认4XX 其它4XX类错误 DEFAULT_5XX - 默认5XX 其它5XX类错误 NOT_FOUND 404 未找到匹配的API 未匹配到API REQUEST_PARAMETERS_FAILURE 400 请求参数错误 请求参数校验失败、不支持的HTTP方法 THROTTLED 429 调用次数超出阈值 API调用次数超出所配置的流量策略阈值 UNAUTHORIZED 401 应用未授权 使用的应用未被授权访问该API