Loi*_*icM 11 google-cloud-platform google-iam
我目前正在管理一个GCP项目,并授予一位同事访问权限,以便Viewer他可以使用其中的资源(主要是从存储中下载文件)。
我遇到了一个问题,这里也有解释。
基本上,运行后gcloud auth application-default login,他们可以访问资源,但会收到警告
WARNING:
Cannot add the project "lixodata" to ADC as the quota project because the account in ADC does not have the "serviceusage.services.use" permission on this project. You might receive a "quota_exceeded" or "API not enabled" error
. Run $ gcloud auth application-default set-quota-project to add a quota project.
Run Code Online (Sandbox Code Playgroud)
对于他们运行的每个需要与 GCP 交互的脚本都会重复此警告,这往往会使他的终端变得有点混乱。
链接的问题解释了如何使警告消失,但需要授予用户权限serviceusage.services.use,该权限不与默认Viewer角色捆绑。
阅读文档并没有真正让我明白一些事情:为什么我要使用与我所连接的计费项目不同的计费项目?
我的问题是两部分:
serviceusage.services.use?为什么它默认不与Viewer角色链接?Daz*_*kin 17
TL;DR因为以其他方式gcloud auth application-default颁发的凭据会消耗 Google 拥有的项目中的配额,该项目可能(未)启用该服务。
在 Google 的实现中,Google 服务(特定 API)必须在使用前启用,并且 API 在 Google Projects 中启用(并聚合)。
有两种重要的“身份”类型:(人类)用户(例如 gmail.com)和软件(有时称为机器人)用户。无协助(!)软件用户由服务帐户识别。
gcloud是软件,但它主要代表(人类)用户运行。因为gcloud通常需要能够识别其人类用户(例如您的 gmail.com 帐户),所以它以委托方式运行。gcloud确实有自己的身份,但它(大部分)作为人类用户运行。
注意您也可以将 gcloud 与服务帐户结合使用。
重要的是,gcloud是所谓的已安装应用程序。当用户发出gcloud命令时,向 Google 拥有|运行的 Google 项目 (!)gcloud提供用户 (!) 身份及其自身身份(称为 OAuth 客户端 ID)。
注意这解释了为什么您可以创建项目并使用 启用服务
gcloud,因为另一个项目(启用了正确的服务)正在代表您影响这些 API 调用。
当您针对 Google 服务开发应用程序时,您必须决定代码如何向 Google 进行身份验证。如果它代表用户,那么您还需要创建一个客户端 ID 并通过它路由用户的请求。如果它作为独立解决方案运行(无需用户干预),那么它将作为服务帐户运行。
Google 的 SDK 包含一项称为应用程序默认凭据 (ADC) 的优雅功能。ADC 自动发现服务帐户凭据 (!)、减少(从而简化)代码、提供可移植性并保持安全性。
如果您可以使用 ADC,那么您就应该使用。
这创造了(!)一个挑战。对于编写非用户代码的开发人员来说,他们如何在不创建服务帐户(并下载密钥)的情况下测试软件?解决方案是(!)gcloud auth application-default。
当您使用 时gcloud auth application-default,用户(例如 gmail.com)凭据用于创建行为类似于 ADC 的凭据。开发人员可以测试他们的代码,而无需创建服务帐户和密钥。
然而(!)Google 被动地(!)不鼓励使用gcloud auth application-default.
部分原因是:
gcloud auth application-default是 Google 拥有的项目,而不是您的项目;“计费”的是 Google,而不是您。gcloud auth application-defaut,这可能会令人惊讶(也不应该如此)。由于上述原因,您不应使用凭据。gcloud auth application-default
如果您使用gcloud auth application-default凭据,您应该考虑原因并选择更好的替代方案:
如果不在Google Cloud之外,最好通过工作负载身份联合使用服务帐号
| 归档时间: |
|
| 查看次数: |
18105 次 |
| 最近记录: |