(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 对象的元数据