繁体   English   中英

创建 GCP 负载均衡器时拒绝访问存储桶

[英]Access Denied to Bucket while creating a GCP Load Balancer

在 GCP 中创建和配置负载均衡器时出现以下错误。 该问题似乎与后端存储桶的创建有关,因为我收到以下错误:

拒绝访问 Cloud Storage 存储分区“[存储分区的名称]。

该bucket拥有allUser access权限,配置为web站点。

谁能帮我?

问题是我试图配置一个 HTTPS 负载均衡器,同时我已经配置了一个 HTTP 负载均衡器,其重定向规则为 HTTPS。

在创建 HTTPS 负载均衡器之前,我解决了从 HTTP 负载均衡器删除规则的问题。 成功创建负载均衡器后,我再次配置了 HTTP 负载均衡器,以将流量重定向到 HTTPS。

两个负载均衡器都使用相同的 IP 来重定向流量,但使用不同的协议(HTTP 和 HTTPS)

  • 负载均衡器 1:HTTP://IP:80 -> HTTPS://IP:443
  • 负载均衡器 2:HTTPS://IP:443 -> 后端存储桶

首先,请确认当前设置是必需的,并且通过检查凭据是否正确来正确设置:即,如果您使用的是gsutil ,请检查存储在.boto文件中的凭据是否准确。 此外,通过使用命令gsutil version -l并检查config path(s)条目,确认 gsutil 正在使用您期望的.boto文件。

如果凭据正确,则使用HTTP (而不是HTTPS )验证您的请求是否通过代理进行路由。 如果是这样,请检查您的代理是否配置为从此类请求中删除授权 header。 如果是这样,请确保您使用HTTPS而不是HTTP来满足您的请求。

最后,将 go 到控制台并单击存储桶菜单中的“设置存储桶权限” 在 Add Members 中输入“allUsers” ,然后分配Role -> Storage -> Storage Object Viewer

或者,如果您更喜欢使用gsutil ,运行gsutil -m acl set -R -a public-read gs://bucket应该将该存储桶中所有文件的访问权限设置为公共。 要在存储桶上设置默认权限,以便在添加这些文件时默认公开这些文件,请使用gsutil defacl set public-read gs://bucket

您可以使用以下GCP 的官方文档和以下线程作为参考。

对于遇到这种情况的其他人,也可能是您的帐户缺少必要的权限。

确保在您的 Projec IAM 中,您的账户具有以下权限:

  • 计算网络管理员
  • 存储 Object 管理员

必须启用这两个权限。 无论您分配了何种其他角色,这都是正确的。 换句话说,仅仅成为项目所有者是不够的。 这两个权限必须单独添加。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM