如何在没有 ?authuser=1 的情况下拥有经过身份验证的 GCS URL

How to have an authenticated GCS URL without ?authuser=1

我有一个相当简单的任务...我有一个我创建的 GCS 存储桶,我想将其设为私有。

我以编程方式将文件放入其中,并在我的(仅限个人使用的)网络应用程序中使用它。

我想创建一个直接链接到 URL 的 <img src=""> 标签,但前提是我登录了正确的 Google 帐户。

我已经尝试为有问题的特定 Google 电子邮件添加 "Legacy object reader" 和 "object reader" 权限。

使用此 URL 时身份验证有效,但仅当我添加 ?authuser=X:

https://storage.cloud.google.com/<BUCKET_NAME>/<PATH>

如果我不添加,则会显示 403 禁止错误。

有没有一种方法可以做到这一点,而不必指定登录用户的数量(我经常更改它们和顺序),并且不会让签名的 URL 头疼?

您可以使用 default service account to grant access to your bucket and files through your web app and if your app is hosted in App Engine, you can use Identity-Aware proxy 只允许访问您的帐户。