1

https://cloud.google.com/kubernetes-engine/docs/how-to/cloud-armor-backendconfig

我只看到了分配一个 securityPolicy 的示例,但我想分配多个。

我使用 2 个策略创建了以下后端配置,并将其应用于我的服务beta.cloud.google.com/backend-config: my-backend-config

apiVersion: cloud.google.com/v1beta1
kind: BackendConfig
metadata:
  namespace: cloud-armor-how-to
  name: my-backend-config
spec:
  securityPolicy:
    name: "policy-one"
    name: "policy-two"

当我部署时,只应用“策略二”。我可以以某种方式分配两个策略吗?我没有看到这方面的文档

4

2 回答 2

1

文档中没有任何内容表明您可以指定多个策略。甚至规范都说securityPolicy是单数,而 YAML 结构不是数组。

此外,如果您查看您的规格:

spec:
  securityPolicy:
    name: "policy-one"
    name: "policy-two"

YAML 标准完全忽略了第一个name: "policy-one",它解释了为什么name: "policy-two"使用 only。你可以在YAMLlint上查看。要在 YAML 上再增加一个值,您必须转换securityPolicy为数组。像这样的东西:

apiVersion: cloud.google.com/v1beta1
kind: BackendConfig
metadata:
  namespace: cloud-armor-how-to
  name: my-backend-config
spec:
  securityPolicy:
  - name: "policy-one"
  - name: "policy-two"

问题在于 GCP 可能不支持它。

于 2019-07-12T18:07:47.497 回答
0

常规 HTTP(S) 负载均衡器也会发生同样的行为。看起来只能为每个目标添加一个安全策略,并且相同的行为会影响 GKE 入口创建的 HTTP(S) 负载均衡器。

ReplacePolicy-消息

可以为唯一的安全策略添加更多规则。新规则的添加方式与添加第一条规则的方式相同;但是,这些规则的优先级必须不同,如下例所示:

~$ gcloud beta compute security-policies rules create 1000 \
--security-policy ca-how-to-security-policy \
--src-ip-ranges "192.0.2.0/24" \
--action "deny-404"

~$ gcloud beta compute security-policies rules create 1001 \
--security-policy ca-how-to-security-policy \
--src-ip-ranges "11.16.0.0/24" \
--action "deny-404"
于 2019-07-15T21:53:44.617 回答