有没有办法在 GCP Cloud Storage 中托管公共静态网站并使用用户名和密码对其进行保护?

Fad*_*adi 5 web-hosting google-cloud-storage google-cloud-platform

GCP 似乎允许您通过 IAM 委托云存储身份验证,这很好,但使用该方法一次只能获取一个文件。

我的意思是,如果我授予用户对存储桶中的文件夹具有“存储对象查看器”角色的权限,那么用户将能够使用 https 浏览到单个文件(假设是 .html 文件): //storage.cloud.google.com/bucket-name/folder-name/filename并显示它,但如果该 .html 文件包含 .css 或其他需要用户下载的文件,那么这些文件都会返回 404 未找到错误。

似乎在身份验证时获得的任何令牌都仅对检索创建令牌之前请求的单个文件有效。

如何在 GCP Cloud Storage 中通过某种形式的身份验证托管静态网站?

我确实在 5 年前看到过与此类似的问题,并认为自那时以来 GCP 发生了很大变化,所以这就是我重新提出问题的原因。

编辑:好的,假设我同意对存储桶内容进行公共只读访问,相反,我将专注于保护进行更改的 GCP Cloud Functions。

现在,我已在 GCP 功能上启用身份验证并使用 OAuth ID 令牌。现在的问题是 CORS。对 GCP 函数进行的任何调用都需要 CORS access-control-allow-origin 标头,但该标头在身份验证之后才会返回。

有人知道如何在进行任何身份验证之前在 GCP Cloud Functions 上启用 CORS 吗?

谢谢!

gui*_*ere 4

您可以在 App Engine 上托管静态文件。内容免费提供!

在 App Engine 前面,您可以激活 IAP

最后,向您的用户(或群组或 Google Workspace 网域)授予角色IAP-Secured Web App User