检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
对象模型 API发布后,如果不想API被某些IP地址访问到,可以将这些IP地址加入黑名单,或者想API被某些特性的IP地址访问到,也可以将这些IP地址加入白名单。这样可以提高API的访问安全性,保护API免受攻击。本节介绍API的黑白名单(ACL策略)管理的对象模型,如表1 ACL策略对象模型所示。
略: 流控控制 流量控制可限制单位时间内API的被调用次数,保护后端服务。 访问控制 访问API的IP地址和账户,您可以通过设置IP地址或账户的黑白名单来拒绝/允许某个IP地址或账户访问API。 签名密钥 签名密钥用于后端服务验证API网关的身份,在API网关请求后端服务时,保障后端服务的安全。
PI参考》的“查询VPC列表”章节。 subnet_id 是 String 子网的网络ID。 获取方法如下: 方法1:登录虚拟私有云服务的控制台界面,单击VPC下的子网,进入子网详情页面,查找网络ID。 方法2:通过虚拟私有云服务的API接口查询,具体方法请参见《虚拟私有云服务API参考》的“查询子网列表”章节。
选择函数的类型,此处默认“事件函数”。 区域 选择与API网关相同区域。 项目 华为云的区域默认对应一个项目,这个项目由系统预置,用来隔离物理区域间的资源(计算资源、存储资源和网络资源),以默认项目为单位进行授权,用户可以访问您账号中该区域的所有资源。此处默认为已选择的区域。 函数名称 根据规划自定义名称。建议您按照
控制访问API的类型。 IP地址:允许/禁止访问API的IP地址。 账号名:允许/禁止访问API的账号名。 动作 包括“允许”和“禁止”。 和“限制类型”配合使用,允许/禁止访问API的IP地址/账号名。 IP地址 输入需要允许或者禁止访问API的IP地址,或IP地址范围。 仅在“限制类型”为“IP地址”时,需要设置。
次数,可以通过配置API认证凭据的配额控制来实现;如果您需要控制访问API的IP地址(API调用者的IP地址),可以通过配置API认证的凭据访问控制来实现。 调用API 通过获取API及API访问地址,调用API。根据API使用认证方式的不同,调用API时需要进行不同的认证鉴权操作。
/vpc-channels apig:vpcChannels:list apig:instances:get √ √ 更新VPC通道后端服务器组 PUT /v2/{project_id}/apigw/instances/{instance_id}/vpc-channels/{vp
包括“允许”和“禁止”。 和“类型”配合使用,允许/禁止指定的IP地址/账号名/账号ID访问API。 IP地址 仅当“类型”为“IP地址”时需要配置。 输入允许或者禁止访问API的IP地址,或IP地址范围。 说明: 允许或禁止访问的IP地址条数,分别可以配置最多100条。 账号名 仅当“类型”为“账号名”时需要配置。
IP address. 403 无法识别客户端IP地址 联系技术支持 APIG.0402 The IP address is not authorized to access the API. 403 IP地址不允许访问 检查IP地址是否被黑白名单限制 APIG.0404 Access
请求方法。 {Address}:请求地址,需替换为获取API的调用信息中获取的域名地址。 API调用场景 API请求参数配置 使用域名调用API 使用服务分配的调试域名或服务绑定的域名调用API,无需另外配置。 使用IP调用API 使用IP地址直接调用API,需要在请求消息中添加Header参数“host”。
调用API(浏览器)示例 由于浏览器限制从页面脚本内发起跨域请求,因此浏览器访问API前需要在API网关控制台上创建一个跨域共享策略,允许浏览器向跨域服务器发送XMLHttpRequest请求,并为跨域共享策略绑定API。 创建策略请参考跨域共享策略说明,绑定API请参考为策略绑定API。 图8
API网关支持按分/按秒粒度级别的流量控制。 访问控制 访问控制策略是API网关提供的API安全防护组件之一,主要用来控制访问API的IP地址和账户,您可以通过设置IP地址或账户的黑白名单来允许/拒绝某个IP地址或账户访问API。 应用(凭据) 应用(APP)定义了一个API调用者的身份。可以将一个API授权给多个
acl_value 是 String ACL策略值,支持一个或多个值,使用英文半角逗号分隔。 entity_type为IP时,策略值需填写IP地址,最多可支持100个IP地址。 entity_type为DOMAIN时,策略值需填写账号名,账号支持除英文半角逗号以外的任意ASCII字符,账号名长度限
载通道”创建。 后端服务地址(可选) 仅在不使用负载通道时,需要设置。 填写鉴权服务的访问地址,格式:“主机:端口”。主机为鉴权服务的访问IP地址/域名,未指定端口时,HTTP协议默认使用80端口,HTTPS协议默认使用443端口。 目前仅支持IPv4地址。 路径 鉴权服务的路径,即服务的url。
VPC_NUM_LIMIT:租户可以创建的VPC通道个数限制 VPC_INSTANCE_NUM_LIMIT:每个VPC通道上可以绑定的弹性云服务器个数限制 API_PARAM_NUM_LIMIT:每个API可以设置的参数个数限制 API_USER_CALL_LIMIT:每个租户的API单位时间内的请求默认限制
不超过“用户流量限制”。 与“时长”配合使用,表示单位时间内的单个应用请求次数上限。 源IP流量限制 单个IP地址调用API次数上限。 不超过“API流量限制”。 与“时长”配合使用,表示单位时间内的单个IP地址请求次数上限。 描述 关于控制策略的描述。 单击“确定”,完成流量控制策略的创建。 创建成
选择“不使用”负载通道访问后端服务。 URL 请求方法:接口调用方式,默认“POST”。 请求协议:选择协议类型,默认“GRPCS”。 后端服务地址:填写后端服务地址及端口。 路径:后端服务的路径。此处填写“/”。 单击“完成”。 在“API运行”页面中,API的URL不显示调用方法以及协议,仅
timeout: 30000 表1 参数说明 参数 是否必选 类型 说明 function-urn 是 String 函数URN地址。 version 是 String 函数版本。 invocation-type 是 String 函数调用类型,支持异步或同步。 timeout
"/users" timeout: 30000 表1 参数说明 参数 是否必选 类型 说明 address 是 Array 后端服务地址,格式为:<域名或IP>:[port]。 scheme 是 String 后端请求协议定义,支持http、https。 method 是 String
在实际的生产中,API提供者可能有多个环境,如开发环境、测试环境、生产环境等,用户可以自由将API发布到某个环境,供调用者调用。 对于不同的环境,API的版本、请求地址甚至于包括请求消息等均有可能不同。如:某个API,v1.0的版本为稳定版本,发布到了生产环境供生产使用,同时,该API正处于迭代中,v1.