【问题标题】:Google App Engine Firewall: Restrict access to all services but the default oneGoogle App Engine 防火墙:限制对除默认服务之外的所有服务的访问
【发布时间】:2018-03-15 10:11:30
【问题描述】:

我有一个 GAE 项目(灵活),由 1 个默认服务和 2 个子服务组成:

  • foo.appspot.com
  • service1.foo.appspot.com
  • service2.foo.appspot.com

现在我想使用foo.appspot.com 作为API 代理和身份验证网关到内部服务service1service2。我编写的代理本身运行良好。

我正在努力调整 GAE 防火墙以禁止传入世界流量到 service1service2,因为我想强制 API 用户向 foo.appspot.com 发送请求。应该允许到默认服务foo 的流量。

看来我只能在防火墙设置中输入 IP,但不能输入服务名称。文档说它应该可以工作,但没有说明如何工作。

感谢您的帮助!

【问题讨论】:

    标签: google-app-engine app-engine-flexible


    【解决方案1】:

    App Engine Flex 环境建立在Google Compute Engine 之上,因此它支持虚拟私有云网络系统。 使用 VPC 网络,您可以配置 firewall rules,以使用实例标签来确定防火墙规则中的目标或源组件。因此,您只需配置目标服务/版本的 app.yaml 文件即可使用适当的instance tags

    【讨论】:

    • 太好了!我还可以在 Google App Engine 防火墙 UI 中使用实例标签吗?它似乎只接受 IP 范围?
    • App Engine 防火墙是 VPC 防火墙的精简版,不幸的是,它不支持按实例标签进行过滤。 App Engine 防火墙上只能使用 IP 范围。此博客 link 更详细地解释了 App Engine 防火墙。
    • 真的有人得到这个工作吗? UI 建议将 VPC 防火墙规则应用于 AppEngine 实例,但未过滤流量。
    • 可以,但是VPC规则的优先级应该在1000以下,否则不考虑。见stackoverflow.com/a/54421763/2298505
    • 我从来没有让这个工作,直到今天。我在我的app.yaml 文件中添加了network > instance_tag: some-tag,但该标签似乎甚至没有应用于实例,这解释了为什么我基于该标签的防火墙规则不起作用。如果我搜索具有我的标签的 App Engine 实例,我找不到任何:gcloud app instances list --filter="-tags.items=some-tag"。如上所述,在我的 VPC 规则上设置优先级
    猜你喜欢
    • 2018-03-12
    • 1970-01-01
    • 2018-09-16
    • 1970-01-01
    • 2011-02-01
    • 1970-01-01
    • 2011-12-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多