(GCS) 查看此对象的元数据所需的其他权限:请求对象所有者授予您“storage.objects.get”权限

Posted

技术标签:

【中文标题】(GCS) 查看此对象的元数据所需的其他权限:请求对象所有者授予您“storage.objects.get”权限【英文标题】:(GCS) Additional permissions required to view this object's metadata: Ask an object owner to grant you 'storage.objects.get' permission 【发布时间】:2021-12-07 19:37:21 【问题描述】:

当我在Cloud Storage上使用“细粒度”访问控制点击文件名查看详细信息时:

我可以看到细节:

但是,将访问控制“细粒度”更改为“统一”后:

我看不到文件的详细信息并收到此错误:

查看此对象的元数据所需的其他权限:询问 对象所有者授予您“storage.objects.get”权限(例如,通过 为您的帐户提供 IAM 存储管理员角色)。

有没有什么办法可以解决使用访问控制“统一”查看文件详情的错误?

【问题讨论】:

【参考方案1】:

您可以通过访问控制“统一”查看文件的详细信息来解决错误。

首先,打开左侧栏:

然后,点击“IAM & Admin”中的“IAM”

然后,点击“✏️”来编辑角色为“Owner”的主体的权限:

现在,打开了一个面板:

接下来,点击“添加另一个角色”

接下来,从“Cloud Storage”中选择“Storage Admin”

选择更具体的“Storage Object Admin”

选择更具体的“Storage Object Viewer”

这一次,我选择“Storage Admin”并点击“SAVE”

最后,您可以解决错误并使用访问控制“统一”查看文件的详细信息。 *不要忘记,主体权限的变化会在一点时间后体现出来。

【讨论】:

【参考方案2】:

对此行为的可能解释是您可能在存储桶级别没有足够的权限,因为您可以看到uniform access control 使用存储桶级别的权限,而细粒度的访问控制使用对象级别的权限。因此,您应该检查您的存储桶级权限是否具有storage.buckets.get IAM 权限。

如果你通过this document,你会发现下面的声明,就像我上面解释的那样。

如果您启用统一的存储桶级访问权限,您将撤消访问权限 仅通过对象 ACL 获得访问权限并阻止 用户使用存储桶 ACL 管理权限。请确保 您在迁移现有存储桶之前阅读了注意事项 启用统一的存储桶级访问。

您可以参考this document 了解如何将 IAM 权限添加到存储桶。

【讨论】:

【参考方案3】:

您可以通过访问控制“统一”查看文件的详细信息来解决错误。

最简单的方法是再次将访问控制“Uniform”改回“Fine-grained”

然后,再次将访问控制 “细粒度” 改回 “统一”,但不要忘记选中 “添加项目角色 ACL到存储桶 IAM 政策”

最后,您可以解决错误并使用访问控制“统一”查看文件的详细信息。

【讨论】:

以上是关于(GCS) 查看此对象的元数据所需的其他权限:请求对象所有者授予您“storage.objects.get”权限的主要内容,如果未能解决你的问题,请参考以下文章

是否可以使用 UDF 从 BigQuery 读取 gcs 对象的元数据

iOS:获取文件的元数据

处理服务此请求所需的配置文件期间发生错误

您的 android 清单中所需的元数据标记不存在。 MobileAds.initialize() 处的应用程序崩溃;

如何添加OAuth请求下载文件所需的权限?

为 Facebook 和 LinkedIn 提供特定值所需的元标记?