如何授予对 GPC VPC 边界后面的资源的访问权限?

问题描述 投票:0回答:1

我最近在 GCP 中设置了 VPC 服务控制政策。出于所有意图和目的,它工作正常,但我有两个问题。这两个问题都与 App Engine 有关。这里有两个问题:

首先,当我尝试构建应用程序引擎实例时,它无法访问云存储,因此我在构建过程中访问被拒绝。

其次,我的应用程序引擎实例的图像托管在云存储中,因此显然当用户访问时他们将无法访问这些图像。

第三,我的 Firestore DB 有直接侦听器,使用来自 App Engine 的 Angular 中的 Angular Fire 包。调用 Firestore 时,我的听众收到以下错误:

任何有这方面经验的人的建议将不胜感激。鉴于这些是我们试图保护的 2 个主要资源,将它们移到 VPC 范围之外会使整个解决方案变得毫无意义,因此我们可以通过 App Engine 实现此目的的任何方法都很棒。

google-cloud-platform google-app-engine cloud-security
1个回答
0
投票

问题是 VPC Service Controls 不支持 App Engine(标准环境和灵活环境)。因此,不可能将 App Engine 项目包含在服务范围内。

文档

中所述

VPC Service Controls 不支持 App Engine(标准环境和灵活环境)。请勿将 App Engine 项目包含在服务范围内。

但是,可以允许在服务边界外部的项目中创建的 App Engine 应用程序向边界内部的受保护服务读取和写入数据。要允许您的应用程序访问受保护服务的数据,请创建一个访问级别,其中包括项目的 App Engine 服务帐户。这不会使 App Engine 能够在服务范围内使用。

因此建议避免在 VPC-SC 周边的项目中使用 AppEngine。相反,他们可以在 VPC-SC 边界之外的项目中使用 AppEngine,或者使用支持 VPC-SC 的其他无服务器解决方案(例如 Cloud Run)。

此外,当您将 App Engine 项目包含在服务范围内时,事情可能不会按预期进行。由于您已将 VPC Service Controls 限制添加到 App Engine 的默认(和内部使用)GCS 存储桶。我的理解是,这个存储桶是内部实现,不支持该存储桶所做的访问控制更改。

也可以看看这个 Stackoverflow 链接

看起来已经在此处提出了功能请求,您可以标记

+1
或者随时提出新的功能请求或联系google支持解释您的问题。您可以在创建问题时使用此页面作为参考。

© www.soinside.com 2019 - 2024. All rights reserved.