容器服务ACK托管版自建istio-gateway是不是不支持黑白名单啊?集群入口是CLB,加安全组好像也没用,istio可以正常获取客户端IP
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处理过了。
在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.1
和10.0.0.0/8
网段的请求访问名为example
的服务。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。