我有一个谷歌云运行服务,我只需要允许来自特定机器的流量。我使用谷歌云盔甲来允许IP访问云运行服务。我在添加某台机器的动态IP时遇到了问题,因为它一直在变化。我还搜索了添加mac地址以允许,但cloudarmor没有这个功能。
-
您不能在Internet上使用MAC地址。该服务(Cloud Armor(永远不会看到客户端的MAC地址,只会看到最后一个路由器(可能是谷歌路由器(的MAC地址。Google Cloud VPC不公开第2层信息。
-
Cloud Run是一个具有公共URL的公共服务。Cloud Run不支持基于IP地址限制流量。您可以将HTTP负载均衡器和Cloud Armor放在前面,但这不会阻止直接流向服务的流量。
有更好的技术来控制对公共服务的访问。谷歌云通过身份感知代理(IAP(使用OAuth实现授权。这是正确的使用方法。考虑到您的客户有不断变化的IP地址,这是您的最佳解决方案。
如果我需要基于IP地址的访问控制,我会使用Container Optimized OS、Docker或仅使用Apache/Nginx在计算引擎上运行我的服务。您可以根据客户IP地址的变化,使用自定义代码动态更新VPC防火墙规则。