云服务器内容精选

  • 响应示例 状态码: 200 OK { "sign_secret" : "dc0************2b3", "update_time" : "2020-08-03T03:50:14.989785802Z", "create_time" : "2020-08-03T03:39:38Z", "name" : "signature_demo", "id" : "0b0e8f456b8742218af75f945307173c", "sign_key" : "a071a20d460a4f639a636c3d7e3d8163", "sign_type" : "hmac" } 状态码: 400 Bad Request { "error_code" : "APIG.2011", "error_msg" : "Invalid parameter value,parameterName:name. Please refer to the support documentation" } 状态码: 401 Unauthorized { "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed" } 状态码: 403 Forbidden { "error_code" : "APIG.1005", "error_msg" : "No permissions to request this method" } 状态码: 404 Not Found { "error_code" : "APIG.3017", "error_msg" : "Signature key 0b0e8f456b8742218af75f945307173c does not exist" } 状态码: 412 PreconditionFailed { "error_code" : "APIG.3548", "error_msg" : "sign_type=public_key not supported by instance 6a29d4e9-69a0-412a-aabe-9898ec0903b0" } 状态码: 500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error" }
  • URI PUT /v2/{project_id}/apigw/instances/{instance_id}/signs/{sign_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方式请参见获取项目ID。 instance_id 是 String 实例ID,在API网关控制台的“实例信息”中获取。 sign_id 是 String 签名密钥编号
  • 响应示例 状态码: 200 OK { "total" : 1, "size" : 1, "apis" : [ { "run_env_name" : "RELEASE", "group_name" : "api_group_001", "remark" : "Mock backend API", "publish_id" : "9f27d1dc4f4242a9abf88e563dbfc33d", "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600", "name" : "Api_mock", "run_env_id" : "DEFAULT_ENVIRONMENT_RELEASE_ID", "id" : "3a955b791bd24b1c9cd94c745f8d1aad", "type" : 1, "auth_type" : " IAM ", "req_uri" : "/test/mock" } ] } 状态码: 400 Bad Request { "error_code" : "APIG.2012", "error_msg" : "Invalid parameter value,parameterName:api_name. Please refer to the support documentation" } 状态码: 401 Unauthorized { "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed" } 状态码: 403 Forbidden { "error_code" : "APIG.1005", "error_msg" : "No permissions to request this method" } 状态码: 404 Not Found { "error_code" : "APIG.3017", "error_msg" : "Signature key 0b0e8f456b8742218af75f945307173c does not exist" } 状态码: 500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error" }
  • URI GET /v2/{project_id}/apigw/instances/{instance_id}/sign-bindings/unbinded-apis 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方式请参见获取项目ID。 instance_id 是 String 实例ID,在API网关控制台的“实例信息”中获取。 表2 Query参数 参数 是否必选 参数类型 描述 offset 否 Long 偏移量,表示从此偏移量开始查询,偏移量小于0时,自动转换为0 缺省值:0 limit 否 Integer 每页显示的条目数量,条目数量小于等于0时,自动转换为20,条目数量大于500时,自动转换为500 最小值:1 最大值:500 缺省值:20 sign_id 是 String 签名密钥编号 env_id 否 String 环境编号 api_id 否 String API编号 api_name 否 String API名称 group_id 否 String API分组编号 tags 否 String API标签,该参数可指定多个,多个不同的参数值为或关系;不指定或为空时,表示不筛选标签;指定为#no_tags#时,表示筛选无标签API。 最小长度:0 最大长度:128
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 size Integer 本次返回的列表长度 total Long 满足条件的记录数 apis Array of ApiForSign objects 本次查询返回的API列表 表5 ApiForSign 参数 参数类型 描述 auth_type String API的认证方式 run_env_name String 发布的环境名 group_name String API所属分组的名称 publish_id String 发布记录的编号 group_id String API所属分组的编号 name String API名称 remark String API描述 run_env_id String 发布的环境id id String API编号 req_uri String API的请求地址 tags Array of strings API绑定的标签,标签配额默认10条,可以联系技术调整。 最小长度:1 最大长度:128 数组长度:0 - 10 type Integer API类型 signature_name String 已绑定的签名密钥名称 req_method String API请求方法 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 401 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 403 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • URI DELETE /v2/{project_id}/apigw/instances/{instance_id}/signs/{sign_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方式请参见获取项目ID。 instance_id 是 String 实例ID,在API网关控制台的“实例信息”中获取。 sign_id 是 String 签名密钥编号
  • 响应示例 状态码: 401 Unauthorized { "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed" } 状态码: 403 Forbidden { "error_code" : "APIG.1005", "error_msg" : "No permissions to request this method" } 状态码: 404 Not Found { "error_code" : "APIG.3017", "error_msg" : "Signature key 0b0e8f456b8742218af75f945307173c does not exist" } 状态码: 500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error" }
  • 响应参数 状态码: 401 表3 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 403 表4 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 响应示例 状态码: 200 OK { "total" : 1, "size" : 1, "apis" : [ { "run_env_name" : "RELEASE", "group_name" : "api_group_001", "remark" : "Mock backend API", "publish_id" : "9f27d1dc4f4242a9abf88e563dbfc33d", "group_id" : "c77f5e81d9cb4424bf704ef2b0ac7600", "name" : "Api_mock", "run_env_id" : "DEFAULT_ENVIRONMENT_RELEASE_ID", "id" : "3a955b791bd24b1c9cd94c745f8d1aad", "type" : 1, "auth_type" : "IAM", "req_uri" : "/test/mock", "signature_name" : "" } ] } 状态码: 400 Bad Request { "error_code" : "APIG.2012", "error_msg" : "Invalid parameter value,parameterName:api_name. Please refer to the support documentation" } 状态码: 401 Unauthorized { "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed" } 状态码: 403 Forbidden { "error_code" : "APIG.1005", "error_msg" : "No permissions to request this method" } 状态码: 404 Not Found { "error_code" : "APIG.3017", "error_msg" : "Signature key 0b0e8f456b8742218af75f945307173c does not exist" } 状态码: 500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error" }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 size Integer 本次返回的列表长度 total Long 满足条件的记录数 apis Array of ApiForSign objects 本次查询返回的API列表 表5 ApiForSign 参数 参数类型 描述 auth_type String API的认证方式 run_env_name String 发布的环境名 group_name String API所属分组的名称 publish_id String 发布记录的编号 group_id String API所属分组的编号 name String API名称 remark String API描述 run_env_id String 发布的环境ID id String API编号 req_uri String API的请求地址 type Integer API类型 signature_name String 已绑定的签名密钥名称 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 401 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 403 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 操作场景 签名密钥用于后端服务验证API网关的身份,在API网关请求后端服务时,保障后端服务的安全。 签名密钥是由一对Key和Secret组成,签名密钥需要绑定到API才能生效。当签名密钥绑定API后,API网关向后端服务发送此API的请求时,会增加相应的签名信息,此时需要后端服务依照同样方式进行签名,通过比对签名结果和API网关传过来的Authorization头中签名是否一致来校验API的合法性。 同一个环境中一个API只能绑定一个签名密钥,一个签名密钥可以绑定多个API。
  • 使用流程 在控制台创建签名密钥。 将新创建的签名密钥绑定API。 API网关将签名后的请求发送到后端服务,此时Authorization头中包含签名信息。后端服务通过不同的开发语言(例如Java、Go、Python、JavaScript、C#、PHP、C++、C、Android等)进行签名,比对签名结果和API网关传过来的Authorization头中签名是否一致来校验API的合法性。 图1 签名密钥流程
  • 响应示例 状态码: 401 Unauthorized { "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed" } 状态码: 403 Forbidden { "error_code" : "APIG.1005", "error_msg" : "No permissions to request this method" } 状态码: 404 Not Found { "error_code" : "APIG.3017", "error_msg" : "Signature key 0b0e8f456b8742218af75f945307173c does not exist" } 状态码: 500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error" }
  • 响应参数 状态码: 401 表3 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 403 表4 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 响应示例 状态码: 201 Created { "bindings" : [ { "api_id" : "5f918d104dc84480a75166ba99efff21", "sign_secret" : "dc0**********2b3", "group_name" : "api_group_001", "sign_id" : "0b0e8f456b8742218af75f945307173c", "sign_key" : "a071a20d460a4f639a636c3d7e3d8163", "binding_time" : "2020-08-03T04:00:11.638167852Z", "env_id" : "DEFAULT_ENVIRONMENT_RELEASE_ID", "env_name" : "RELEASE", "sign_name" : "signature_demo", "api_type" : 1, "api_name" : "Api_http", "id" : "25082bd52f74442bb1d273993d567938", "api_remark" : "Web backend Api", "publish_id" : "66a645f1d6294fa6899cb1ed1c51bc4c", "sign_type" : "hmac" } ] } 状态码: 400 Bad Request { "error_code" : "APIG.2012", "error_msg" : "Invalid parameter value,parameterName:sign_id. Please refer to the support documentation" } 状态码: 401 Unauthorized { "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed" } 状态码: 403 Forbidden { "error_code" : "APIG.1005", "error_msg" : "No permissions to request this method" } 状态码: 404 Not Found { "error_code" : "APIG.3017", "error_msg" : "Signature key 0b0e8f456b8742218af75f945307173c does not exist" } 状态码: 500 Internal Server Error { "error_code" : "APIG.9999", "error_msg" : "System error" }