开发者社区 > 云原生 > 容器服务 > 正文

容器服务ACK托管版自建istio-gateway是不是不支持黑白名单啊?

容器服务ACK托管版自建istio-gateway是不是不支持黑白名单啊?集群入口是CLB,加安全组好像也没用,istio可以正常获取客户端IP

展开
收起
三分钟热度的鱼 2023-10-25 16:19:14 92 0
2 条回答
写回答
取消 提交回答
  • Istio-gateway本身并不支持黑白名单功能。Istio的主要目标是提供一种方法来控制微服务之间的流量,而不是直接与外部世界进行交互。因此,Istio-gateway的设计并没有考虑到与外部世界的直接通信,包括访问控制列表(ACL)或防火墙规则。

    如果你想在Istio-gateway上进行访问控制,你可能需要使用其他工具或服务,比如AWS的NLB或者ALB,它们都支持ACL和防火墙规则。你也可以考虑使用Istio的虚拟服务(VirtualService)和目标规则(DestinationRule)来实现类似的功能,但这需要对Istio有更深入的理解。

    另外,如果你的集群入口是CLB,那么你应该在CLB上配置ACL和防火墙规则,而不是在Istio-gateway上。因为Istio-gateway的流量首先会经过CLB,然后在到达Istio-gateway之前就已经被CLB处理过了。

    2023-10-26 09:11:05
    赞同 展开评论 打赏
  • 在Kubernetes环境中,Istio确实支持基于IP地址的白名单和黑名单的配置。这意味着您可以限制或允许来自特定IP地址或子网的请求访问服务。对于ACK托管版自建的Istio-gateway,理论上也应该支持这种功能。

    您提到的集群入口是CLB(Cloud Load Balancer),并且即使加入了安全组,仍然无法实现黑白名单的效果。这可能是因为CLB和安全组主要针对的是流入集群的流量进行控制,而不是针对特定的服务或端点进行控制。因此,这些措施可能不足以阻止来自某些IP的恶意流量。

    如果您希望为Istio服务设置IP黑白名单,可以考虑使用AuthorizationPolicy来进行配置。例如,可以通过以下方式为某个服务设置IP白名单:

    apiVersion: "security.istio.io/v1beta1"
    kind: "AuthorizationPolicy"
    metadata:
      name: "example-policy"
    spec:
      selector:
        matchLabels:
          app: example
      rules:
      - from:
        - source:
            ipBlocks: ["192.168.0.1/32", "10.0.0.0/8"]
    

    上述配置表示允许来自192.168.0.110.0.0.0/8网段的请求访问名为example的服务。

    2023-10-26 07:59:57
    赞同 展开评论 打赏

国内唯一 Forrester 公共云容器平台领导者象限。

相关产品

  • 容器服务Kubernetes版
  • 相关电子书

    更多
    ACK 云原生弹性方案—云原生时代的加速器 立即下载
    ACK集群类型选择最佳实践 立即下载
    《边缘容器服务ACK@Edge》 立即下载