我们每天都在运行从谷歌云SQL到谷歌云存储的自动化完整数据库导出(跨项目(,使用云函数触发导出。(参见本文(
从4天前开始,我们收到一个403错误,日志显示:";服务帐户没有存储桶所需的权限">
我们尚未进行任何权限更改并正在运行:gsutil acl get [BUCKET]
仍然表明我们的谷歌云SA具有";WRITER";正如我们所期望的那样。
从我们的角度来看,我们似乎随机失去了对该工作流的权限。有人对如何调试并使此工作流重新工作有任何建议吗?
编辑:这似乎是最近引入的一个bug,https://issuetracker.google.com/issues/166478544
是的,你是对的,这似乎确实是一个影响情况的bug。关于你在链接的公共问题中的问题,它似乎确实与bucket级别的权限有关。考虑到bug在bucket级别影响您,在该级别内使用权限比从IAM修改整个角色更有意义。要修改bucket级别中的权限,可以按照此处指示的说明进行操作。
或者,只需按照以下步骤操作即可。
- 在谷歌云平台web控制台中,导航到存储浏览器
- 查找要编辑其权限的存储桶
- 单击三个点并选择Edit bucket permissions
- 在"权限"选项卡中,设置存储桶级别的权限
- 单击Add members(添加成员(,然后输入要用于访问bucket的服务帐户
- 在"角色"下,选择"存储对象管理员"或允许访问存储桶的其他角色。此处提供与
storage.buckets.get
相关联的 - 完成后,单击
Add
无论如何,我建议您遵循解决方法,等待公共问题的更新,直到它得到修复。但是,请记住,正如官方文档所示,实际上建议使用bucket级别的访问。