Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google cloud platform 如何使用GoogleCloudArmor在GKE上只列出几个IP?_Google Cloud Platform_Google Kubernetes Engine_Google Cloud Networking_Google Cloud Armor - Fatal编程技术网

Google cloud platform 如何使用GoogleCloudArmor在GKE上只列出几个IP?

Google cloud platform 如何使用GoogleCloudArmor在GKE上只列出几个IP?,google-cloud-platform,google-kubernetes-engine,google-cloud-networking,google-cloud-armor,Google Cloud Platform,Google Kubernetes Engine,Google Cloud Networking,Google Cloud Armor,我们正试图阻止所有非集群流量,除了基于此云盔甲的一些外部IP地址 GKE集群可以识别规则,但它仍然阻止允许的IP。以下是以下步骤: 1) 创建策略+规则 gcloud beta compute security-policies create allow-team-only \ --description "Cloud Armor deny non-team IPs" gcloud beta compute security-policies rules create 1000 \

我们正试图阻止所有非集群流量,除了基于此云盔甲的一些外部IP地址

GKE集群可以识别规则,但它仍然阻止允许的IP。以下是以下步骤:

1) 创建策略+规则

gcloud beta compute security-policies create allow-team-only \
    --description "Cloud Armor deny non-team IPs"


gcloud beta compute security-policies rules create 1000 \
    --security-policy allow-team-only \
    --description "Deny traffic from 0.0.0.0/0." \
    --src-ip-ranges "0.0.0.0/0" \
    --action "deny-404"


gcloud beta compute security-policies rules create 999 \
    --security-policy allow-team-only \
    --description "Allow traffic from <IP ADDRESS>." \
    --src-ip-ranges "<IP ADDRESS>/32" \
    --action "allow"    
我忽略了什么


谢谢

对于那些在这方面遇到困难的人,请先检查您的日志,然后确认您的IP地址没有旋转。我在一个公共网络上,该网络有我不知道的轮流IP。

根据您的策略和规则,您创建了两个策略,其中一个是拒绝所有流量。对于这个规则,我有两个观察

1) 您已使用数字1000创建,并且由于它拒绝了所有内容,因此将来添加带有数字1000+的规则将不起作用。由于所有流量都将匹配0.0.0.0/0,因此将不检查1000+数字规则。 2) 根据GCP,您可以使用默认规则并将操作更改为拒绝(故障关闭)

根据GCP文件

每个云装甲安全策略都包含一个默认规则 如果没有匹配更高优先级的规则,或者存在 政策中没有其他规则。默认规则是自动设置的 分配的优先级为2147483647(最大int32),并且始终存在 在云装甲安全策略中。默认规则不能为空 已删除,但可以修改。默认值的默认操作 规则是allow(fail open),但您可以将操作更改为deny (故障关闭)

我还注意到您的场景与您共享的同一文档中描述的第一个用例“”非常相似

根据文档,要创建此配置,请执行以下步骤:

1) 创建云装甲安全策略。
2) 在Cloud Armor安全策略中,添加将白名单作为第一条规则的规则。此规则的描述为“允许”。
3) 将策略中的默认规则从允许规则修改为拒绝规则。默认规则管理与前面任何规则都不匹配的流量。这是政策中的最后一条规则。将规则从“允许”更改为“拒绝”将阻止所有非源于白名单的流量。

4) 将此策略与HTTP(S)负载平衡器的后端服务相关联。

是否可以将此策略应用于项目中的所有负载平衡器?我不能将其应用于整个组织或项目,这毫无意义。必须指定GKE和DEV在登台测试中一直动态创建和销毁的目标,这是多么令人难以置信的繁琐和麻烦。我在这里添加了完成上述步骤的命令:
metadata:
  annotations:
    beta.cloud.google.com/backend-config: '{"ports": {"8080":"allow-team-only"}}'