黑白名单是一种常见的授权机制,能够禁止指定请求或只允许指定请求访问应用。ASM支持对东西向流量和南北向流量配置黑白名单。以东西向流量为例,本文介绍如何在ASM安全策略中配置黑白名单。

前提条件

操作步骤

  1. 登录ASM控制台,在左侧导航栏,选择服务网格 > 网格管理
  2. 网格管理页面,单击目标实例名称,然后在左侧导航栏,选择网格安全中心 > ASM安全策略
  3. ASM安全策略页面,单击创建。在创建ASM安全策略对话框,单击黑白名单,然后单击确定
  4. 工作负载和匹配规则配置向导,进行相关配置,然后单击提交
    本示例配置如下。
    配置项说明
    ASM安全策略名称配置为test
    工作负载列表
    1. 单击添加工作负载
    2. 添加工作负载对话框,选中工作负载生效,选择命名空间default工作负载类型Service
    3. 选择负载区域,选中目标负载,单击添加图标,将选中的负载添加到已选择区域,然后单击确定
    匹配规则列表匹配模式选择黑名单,然后打开端口(Port)开关,配置为9080。该配置表示所有访问productpage Pod的9080端口的请求都会被拒绝。
    工作负载和匹配规则
    创建成功后,在完成配置向导,会显示ASM安全策略创建成功。您可以单击查看YAML查看创建的资源;也可以单击完成,返回ASM安全策略页面,查看新创建的安全策略。
  5. 执行以下命令,验证黑白名单配置是否生效。
    curl ${ASM网关IP}/productpage -I
    预期输出:
    HTTP/1.1 403 Forbidden
    content-length: 19
    content-type: text/plain
    date: Tue, 17 Jan 2023 03:57:25 GMT
    server: istio-envoy
    x-envoy-upstream-service-time: 10
    返回403响应,表明没有权限访问productpage应用,黑白名单配置生效。