黑白名单是一种常见的授权机制,能够禁止指定请求或只允许指定请求访问应用。ASM支持对东西向流量和南北向流量配置黑白名单。以东西向流量为例,本文介绍如何在ASM安全策略中配置黑白名单。
前提条件
- 已部署应用到ASM实例。
- 已部署入口网关服务并获取ASM网关地址。
- 已为命名空间注入Sidecar。
- 已确保http://${网关地址}/productpage可以正常访问。
操作步骤
- 登录ASM控制台,在左侧导航栏,选择 。
- 在网格管理页面,单击目标实例名称,然后在左侧导航栏,选择 。
- 在ASM安全策略页面,单击创建。在创建ASM安全策略对话框,单击黑白名单,然后单击确定。
- 在工作负载和匹配规则配置向导,进行相关配置,然后单击提交。本示例配置如下。
配置项 说明 ASM安全策略名称 配置为test。 工作负载列表 - 单击添加工作负载。
- 在添加工作负载对话框,选中工作负载生效,选择命名空间为default,工作负载类型为Service。
- 在选择负载区域,选中目标负载,单击
图标,将选中的负载添加到已选择区域,然后单击确定。
匹配规则列表 匹配模式选择黑名单,然后打开端口(Port)开关,配置为9080。该配置表示所有访问productpage Pod的9080端口的请求都会被拒绝。 创建成功后,在完成配置向导,会显示ASM安全策略创建成功。您可以单击查看YAML查看创建的资源;也可以单击完成,返回ASM安全策略页面,查看新创建的安全策略。 - 执行以下命令,验证黑白名单配置是否生效。
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应用,黑白名单配置生效。