有什么方法可以在 GCP Cloud Storage 中托管 public 静态网站并使用用户名和密码保护它?

Is there any way to host a public static website in GCP Cloud Storage and protect it using a username and password?

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

我的意思是,如果我授予用户对存储桶中的文件夹具有 'Storage Object Viewer' 角色的权限,则该用户将能够浏览到单个文件(假设一个 .html 文件)使用 https://storage.cloud.google.com/bucket-name/folder-name/filename 并显示,但如果该 .html 文件包含 .css 或其他需要用户下载的文件,那么所有 return 404 未找到错误。

似乎无论是通过身份验证获得的令牌都只对创建令牌之前请求的单个文件的检索有效。

如何在 GCP 云存储中使用某种形式的身份验证来托管静态网站?

我确实看到了一个与 5 年前提出的问题类似的问题,我认为 GCP 从那时起发生了很大变化,所以这就是我 re-asking.

的原因

编辑:好的,假设我可以 public read-only 访问存储桶内容,相反我将专注于保护进行更改的 GCP 云功能。

现在,我已经在 GCP 功能上启用了身份验证并使用了 OAuth ID 令牌。现在的问题是 CORS。对 GCP 函数的任何调用都需要 CORS access-control-allow-origin header,但是 header 在身份验证之后才会得到 returned。

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

谢谢!

你可以host your static files on App Engine。内容免费提供!

在 App Engine 前面,您可以 activate IAP

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