更新时间:2024-12-02 GMT+08:00
分享

配置API的访问控制

访问控制策略是API网关提供的API安全防护组件之一,主要用来控制访问API的IP地址和账户,您可以通过设置IP地址或账户的黑白名单来禁止/允许某个IP地址/账号名/账号ID访问API。实例级访问控制策略请参考表1

访问控制策略和API本身是相互独立的,只有将访问控制策略绑定API后,访问控制策略才对绑定的API生效。

使用限制

  • 同一个API在同一个环境中只能绑定一个相同限制类型的访问控制策略,一个访问控制策略可以绑定多个API。
  • 2022年12月31日后创建的实例支持限制调用API的账号ID,在这之前创建的专享版实例不支持,如需使用,请联系客服。
  • 一个API只能绑定一个相同类型的策略。
  • 策略和API本身相互独立,只有为API绑定策略后,策略才对API生效。为API绑定策略时需指定发布环境,策略只对指定环境上的API生效。
  • 策略的绑定、解绑、更新会实时生效,不需要重新发布API。
  • API的下线操作不影响策略的绑定关系,再次发布后仍然会带有下线前绑定的策略。
  • 如果策略与API有绑定关系,则策略无法执行删除操作。

创建访问控制策略

  1. 进入API网关控制台页面。
  2. 根据实际业务在左侧导航栏上方选择实例。
  1. 在左侧导航栏选择“API管理 > API策略”。
  2. 在“策略管理”页面,单击“创建策略”。
  3. 在“选择策略类型”弹窗中,选择“传统策略 > 访问控制”。
  4. 在“创建策略”弹窗中,配置策略信息。

    表1 访问控制参数说明

    参数

    说明

    策略名称

    访问控制策略的名称。

    类型

    控制访问API的类型。

    • IP地址:限制调用API的IP地址。
    • 账号名:仅适用IAM认证类型的API,限制调用API的账号名。仅支持配置账号名,对账号名及账号名下的IAM用户名做限制,不支持配置IAM用户名。

      可以配置单账号名或多账号名,多账号名以英文格式下的“,”隔开,账号名支持除英文格式下“,”以外的任意ASCII字符,账号名长度限制在1-64个字符,不支持纯数字。多账号名字符的总长度不超过1024。

    • 账号ID:仅适用IAM认证类型的API,限制调用API的账号ID。仅支持配置账号ID,对账号ID及账号ID下的IAM用户ID做限制,不支持配置IAM用户ID。

      可以配置单账号ID或多账号ID,多账号ID以英文格式下的“,”隔开。账号ID为英文字母、数字组成的32位字符;多账号ID字符的总长度不超过1024。

    说明:
    • 一个API同时绑定两种类型的访问控制策略账户维度的账户名类型和账号ID类型。访问API时,如果同时有黑白名单,只校验白名单,校验通过则访问成功;如果只有黑名单或白名单,校验通过的结果为“且”逻辑。
    • 一个API同时绑定三种类型的访问控制策略:IP维度的IP类型、账户维度的账号名类型和账号ID类型。访问API时,IP维度和账户维度为“且”的关系,其中一方校验失败则访问失败。(一个API同时绑定IP类型和账号名/账号ID类型的访问控制策略,这两种类型的判断逻辑与三种类型的判断逻辑相同)。

    动作

    包括“允许”和“禁止”。

    和“类型”配合使用,允许/禁止访问API的IP地址/账号名/账号ID。

    IP地址

    仅当“类型”为“IP地址”时需要配置。

    输入允许或者禁止访问API的IP地址,或IP地址范围。

    说明:

    允许或禁止访问的IP地址条数,分别可以配置最多100条。

    账号名

    仅当“类型”为“账号名”时需要配置。

    输入允许或者禁止访问API的账号名,多个账号名之间使用英文逗号(,)隔开。

    您可以单击控制台右上角的用户名,选择“我的凭证”,在“我的凭证”页面获取用户的账号名。

    账号ID

    仅当“类型”为“账号ID”时需要配置。

    输入允许或者禁止访问API的账号ID,多个账号ID之间使用英文逗号(,)隔开。

    您可以单击控制台右上角的用户名,选择“我的凭证”,在“我的凭证”页面获取用户的账号ID。

  5. 单击“确定”。

    • 如果您需要复制已创建的策略,请在已创建策略的“操作”列中单击“克隆”配置参数即可。

      克隆策略的名称不能与已创建的策略名称重复。

    • 策略创建后,您还需要为策略绑定API,才能使策略对API生效。

为策略绑定API

  1. 单击策略名称,进入策略详情。
  2. 在API列表区域选择环境后,单击“绑定API”。
  3. 筛选API分组以及发布环境,勾选所需的API。

    支持通过API名称或标签筛选API,标签为创建API时定义的标签。

  4. 单击“确定”,绑定完成。

    • 如果单个API不需要绑定此策略,单击API所在行的“解绑”。
    • 如果批量API不需要绑定此策略,则勾选待解绑的API,单击列表上方“解绑”。最多同时解绑1000个API。

相关文档