当前位置: 首页 > 知识库问答 >
问题:

Google cloud gcloud为服务帐户电子邮件启用API服务

敖毅
2023-03-14

如何专门为服务帐户而不是用户帐户启用API服务?

上下文:我正在使用一个Python脚本本地测试一个云函数(查询BQ,将结果转换为json,加入GCS bucket)。我可以用我自己的测试帐户来做这件事,在那里我能够启用服务,但是不确定我将如何为客户的服务帐户做这件事(或者客户如何着手做这件事)。我自己的服务账户是这样做的:

  1. 作为JSON获取服务帐户凭据
  2. 跟踪gcloud cloud SDK的安装
  3. 问题:GCloud auth activate-service-account--key-file=“/path/to/json-todd-credentials.json”--project=“json-todd”
  4. 启用API服务,如下所示:gcloud enable-account=“json-todd@json-todd.iam.gserviceaccount.com”cloudfunctions.googleapis.com pubsub.googleapis.com等

我有客户机的服务帐户json,我可以auth activate-service-account服务帐户,但我不能启用,因为我没有权限--但是客户机如何启用API,专门针对GCP上的服务帐户,而不必按照上面的方式安装/初始化/验证服务帐户呢?

共有1个答案

翟光赫
2023-03-14

我想这是个误会。API是为项目启用的,而不是为服务帐户(或用户帐户)启用的。然后,您就有权访问已激活的API。

如果您在新项目中有一个服务帐户,但没有启用API,那么授予该服务帐户roles/ServiceUsage.ServiceUsageAdmin就没有问题。像这样,服务帐户将能够激活项目上的API,可能,所有的API。但是,如果服务帐户只有访问BigQuery(例如)的权限,并且服务帐户激活了compute engine API,则它将无法访问VM,即使启用了API。

相反,如果已经在项目上启用了API,则服务帐户不需要授予roles/serviceUsage.serviceUsageAdmin角色,只需要授予使用激活的API的权限。

 类似资料:
  • 我试图使用Oauth 2.0 Google Credential和java中的服务帐户来编辑用户签名,但我收到了一个错误: 我创建了一段代码,在这种模式下将GoogleCredential对象与服务帐户电子邮件一起使用: 我已经在服务帐户的域Google Apps for Business面板中插入了作用域,并在控制台项目中启用了Admin sdk API。 为什么我收到未经授权的邮件?我被允许使

  • 我在谷歌云平台上创建了一个项目,并为我的gmail帐户创建了一个OAuth服务帐户id。使用此服务帐户id,我无法阅读电子邮件,因为它说我无法访问此范围Gmail只读。 我通过谷歌搜索发现,我需要从Gsuite admin获得范围访问权限,但如果提供了访问权限,它表示可以使用该权限检索所有组织用户的电子邮件。这个信息正确吗?如果是的话,有没有其他方法可以访问我账户的电子邮件? 下面是我用来访问电子

  • 我正在尝试通过服务帐户(客户端电子邮件和p12证书)连接到google doubeclick api,使用python客户端库,如以下示例所示: http://code.google.com/p/google-api-python-client/source/browse/samples/service_account/tasks.py 它给我一个空access_token: 这有什么意义?我有没

  • 我想用gmail API阅读我的gmail收件箱。我需要使用服务帐户,因为我的应用程序没有用户交互。我在请求时收到以下错误: 这是我的代码: 我做错了什么?有人能帮我吗? 当做

  • 您可以通过此界面创建和管理域的电子邮件帐户。 您可以创建电子邮件地址,配置邮件客户端,更改密码以及直接访问您的Webmail。 创建电子邮件地址 要为您的域创建电子邮件地址,请按以下步骤操作 - Step 1 - 单击cPanel主页的“电子邮件”部分中的“ Email Accounts链接。 Step 2 - 在电子邮件帐户中,您会在顶部找到添加电子邮件帐户。 Step 3 - 添加您要创建的电

  • null googleapiclient.errors.httperror:https://www.googleapis.com/gmail/v1/users/me/labels?alt=json返回“错误请求&>; 但是当我从https://console.developers.google.com/apis/api/gmail.googleapis.com/Quotas检查配额时,会显示我使用