登录
首页 >  Golang >  Go问答

使用编程检查Google云服务帐号是否有特定权限的方法

来源:stackoverflow

时间:2024-02-14 18:00:25 361浏览 收藏

对于一个Golang开发者来说,牢固扎实的基础是十分重要的,golang学习网就来带大家一点点的掌握基础知识点。今天本篇文章带大家了解《使用编程检查Google云服务帐号是否有特定权限的方法》,主要介绍了,希望对大家的知识积累有所帮助,快点收藏起来吧,否则需要时就找不到了!

问题内容

我正在与用户提供的 GCS 存储桶进行集成。用户将给我一个服务帐户,我想验证该服务帐户是否具有对存储桶启用的对象写入权限。我找不到有关执行此操作的好方法的文档。我期望有一种简单的方法可以在 GCS 客户端库中检查这一点,但它似乎不像 myBucket.CanWrite() 那么简单。这样做的正确方法是什么?我是否需要涉及存储桶,或者有没有办法在给定服务帐户 json 文件的情况下检查 storage.objects.create 是否存在?


正确答案


可以在组织、文件夹、项目和资源(例如 GCS 存储桶)级别授予 IAM 权限。您需要小心检查是否正确。

对于明确授予存储桶的权限:

  1. 使用 APIs Explorer 查找云存储服务
  2. 使用Cloud Storage API reference查找方法
  3. 使用 BucketAccessControls:get 检索成员(例如服务帐号)的权限(如果有)。

使用的 APIs Explorer(有时)有代码示例,但了解方法后,您可以找到 Go SDK。

该文档包含使用 List 方法的 ACLs 的摘要,但我认为您会想要使用 Get (或等效方法)。

Go 库中的底层 API 的 Get 似乎没有特定的匹配。

Client 中,您可以使用 Bucket 方法和存储桶名称来获取 BucketHandle,然后使用 ACL 方法检索存储桶的 ACL(其中应包括服务帐户的电子邮件地址和角色,如果有)。

或者您可以使用 IAM 方法获取存储桶的 IAM 库的 (!)Handle,然后使用 Policy 方法获取资源的 IAM Policy,其中将包括服务账户的电子邮件地址和 IAM 角色(如果有的话)。

以上就是《使用编程检查Google云服务帐号是否有特定权限的方法》的详细内容,更多关于的资料请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>