我有两个Cloud Armor策略。政策"A"允许我们的办公网络连接到特定的服务。策略"B"允许服务的客户使用API。
我无法将策略"B"的规则添加到策略"A"中,因为这样规则(客户ip(就可以访问应用策略"A(的所有服务。因此,我将其分离为一个独立的策略"B(。
因此,我现在有两个不同的BackendConfig资源。一个是指政策"A",一个是政策"B"。
我采取的下一步是以某种方式将两个云装甲后端配置应用于一个特定的服务。办公网络应该可以访问这些服务以及我们客户的IP。这就是我认为它可能的工作方式:
metadata:
annotations:
beta.cloud.google.com/backend-config: '{"default":{"policy-a-cloud-armor-backend-config","policy-b-cloud-armor-backend-config"}}'
不幸的是,这是不起作用的。在GCP的策略面板中,出现以下警告:
This policy has not been applied to any targets yet, so the policy will not affect any traffic.
你知道我如何才能实现这种独家访问吗?
此通知This policy has not been applied to any targets yet, so the policy will not affect any traffic
表示安全策略未通过后端配置和注释绑定到任何目标。
注释语法看起来与文档不一致:缺少字段ports
。应该是这样的:
{"ports": {"http":"config-http", "http2" :"config-http2"}, "default": "config-default"}
请参阅将服务端口与BackendConfig 关联
很难将两种不同的安全策略应用于同一组(如服务/端口(。
作为一种解决方法,您可以尝试一种具有特殊安全策略的附加服务,该策略包括两个客户端的规则。