在 Google Cloud 中创建 OAuth 凭据的权限

在 Google Cloud 中创建 OAuth 凭据的权限

使用 IAM,我尝试允许某些用户访问 API 并允许他们创建 OAuth 客户端凭据。是否有允许此操作的预定义角色?我不想使用项目编辑者的角色,因为我尝试仅允许访问必要的服务。

更具体地说,当用户在他们的项目中并转到“API 和服务“ > 凭证,在此页面上,用户收到此错误:

您无权查看 API 密钥、OAuth 客户端和服务帐号密钥。

我对 GCP 还很陌生,所以可能遗漏了一些简单的东西。不确定哪些信息会有帮助,但我会提供所使用的服务和为用户设置的 IAM 角色。

服务:

1.App Engine

2.数据存储

3.功能

4.源代码存储库

角色/权限:

1.App Engine 管理员

2.云功能开发人员

3.云数据存储所有者

4.服务帐户管理员

5.源存储库管理员

6.存储管理

谢谢。

答案1

所以我相信我已经找到了解决方案。在网上找不到预定义角色或任何答案后,我开始深入研究创建自定义角色。如果将来有人遇到此问题,以下是我所做的。

我进入了“项目设置”>“角色”>“创建角色”。然后,我创建了 2 个自定义角色,以下是我分配给它们的所有权限:

“自定义 API”

  • 容器.apiServices.创建
  • 容器.apiServices.删除
  • 容器.apiServices.get
  • 容器.apiServices.列表
  • 容器.apiServices.update
  • 容器.apiServices.updateStatus
  • 服务使用.apiKeys.创建
  • 服务使用情况.apiKeys.删除
  • 服务使用.apiKeys.get
  • serviceusage.apiKeys.getProjectForKey
  • 服务使用情况.apiKeys.列表
  • 服务使用情况.apiKeys.重新生成
  • 服务使用.apiKeys.恢复
  • 服务使用情况.apiKeys.update

“自定义客户端身份验证”

  • 客户端身份验证配置.品牌.创建
  • clientauthconfig.brands.删除
  • 客户端身份验证配置.品牌.获取
  • clientauthconfig.品牌列表
  • 客户端身份验证配置.品牌.更新
  • clientauthconfig.客户端.创建
  • clientauthconfig.客户端.createSecret
  • clientauthconfig.客户端.删除
  • clientauthconfig.客户端.获取
  • clientauthconfig.客户端.getWithSecret
  • clientauthconfig.客户端列表
  • clientauthconfig.客户端.listWithSecrets
  • clientauthconfig.客户端.取消删除
  • clientauthconfig.客户端.更新

*请注意,在撰写本文时,这些单独的权限处于“测试”状态,可能无法按预期工作。

答案2

我最近遇到了这个问题,发现向用户帐户添加以下权限应该可行:

  • 浏览器
  • 创建服务帐户
  • 服务帐户令牌创建者
  • 按照以下建议自定义角色1布莱斯

“自定义客户端身份验证”

  • clientauthconfig.品牌.创建 clientauthconfig.品牌.删除
  • clientauthconfig.品牌.获取 clientauthconfig.品牌.列表
  • clientauthconfig.品牌.更新 clientauthconfig.客户端.创建
  • clientauthconfig.客户端.createSecret clientauthconfig.客户端.delete
  • clientauthconfig.客户端.获取 clientauthconfig.客户端.获取WithSecret
  • clientauthconfig.客户端列表
  • clientauthconfig.客户端.listWithSecrets
  • clientauthconfig.客户端.取消删除 clientauthconfig.客户端.更新

请注意,通过进一步的调整,您也许能够将其降低到更少的权限。

相关内容