首页 > 解决方案 > 基于客户端 IP 的限制授权策略不适用于 Istio 和 Azure 应用程序网关

问题描述

在 AKS 集群上部署 Istio 1.10。我们使用 Azure 应用程序网关作为前端,使用 Istio 网关作为后端。来自互联网的流量将按如下方式路由:

流量 >> Azure 应用网关 >> Istio 网关 >> 微服务

我们有一些我们希望可以从 VPN 访问的微服务。因此,我们使用授权策略将检查客户端 IP 并根据客户端 IP 限制对微服务的访问。

如果未从给定 IP 访问,则以下授权策略将限制对 http://hostName/httpbin 的访问。

授权政策:

apiVersion: security.istio.io/v1beta1
kind: AuthorizationPolicy
metadata:
  name: ip-restriction-policy
  namespace: istio-system
spec:
  selector:
    matchLabels:
      istio: ingressgateway
  action: DENY
  rules:
    - from:
      - source:
          notIpBlocks: [ "24.198.223.80" ]
      to:
        - operation:
            paths: [ "/httpbin/*" ]

但是从 istio 网关日志中我们可以看到,这个策略没有得到应用,两个 ip 作为客户端 IP 发送,即 24.198.223.80,172.48.28.4

代理服务器的另一个 IP 被附加到客户端 IP。有没有人处理这种情况?

标签: kubernetesazure-aksistioazure-application-gatewayistio-gateway

解决方案


推荐阅读