【发布时间】:2022-01-24 17:20:58
【问题描述】:
我正在尝试使用 GCP 的 API 创建一个新项目并将其链接到一个结算帐户。
我有一个用于向 GCP 进行身份验证的服务帐户,该服务帐户是 project1 的一部分。
此服务帐户在组织级别具有以下权限:
- 结算帐户用户
- 项目计费经理
我还尝试将此服务帐户提供给Organization Administrator,但这并没有帮助,因为这不是权限问题。
我使用 API 创建了一个新项目 - project 2,并且能够为 project 2 启用 Cloud Billing API 和 Deployment Manager API。
由于某种原因,当我尝试关注 API reference 上关于如何为 GCP 项目启用计费时,请求失败并显示 403(权限被拒绝)。
这是我尝试提出的示例请求:
curl --location --request PUT 'https://cloudbilling.googleapis.com/v1/projects/project2/billingInfo' --header 'Authorization: Bearer ya29.blablabla' --header 'Content-Type: application/json' --data-raw '{"billingAccountName": "billingAccounts/1234-9248-4321"}'
此请求失败的原因是由于某种原因它试图将project1(服务帐户所在的位置)链接到此结算帐户,而不是project2。
这是我得到的回复:
{ “错误”:{ “代码”:403, "message": "Cloud Billing API 之前没有在 project1_number 项目中使用过或被禁用。通过访问启用它 https://console.developers.google.com/apis/api/cloudbilling.googleapis.com/overview?project=project1_number 然后重试。如果您最近启用了此 API,请等待几分钟 传播到我们的系统并重试的操作。", “状态”:“PERMISSION_DENIED”, “细节”: [ { "@type": "type.googleapis.com/google.rpc.Help", “链接”:[ { "description": "谷歌开发者控制台 API 激活", “网址”:“https://console.developers.google.com/apis/api/cloudbilling.googleapis.com/overview?project=project1_number” } ] }, { "@type": "type.googleapis.com/google.rpc.ErrorInfo", “原因”:“SERVICE_DISABLED”, “域”:“googleapis.com”, “元数据”:{ “服务”:“cloudbilling.googleapis.com”, “消费者”:“项目/project1_number” } } ] } }
如果我尝试为 project1 启用计费 API,我开始收到 400 条“意外令牌”消息。
有没有办法(使用 API)使用位于 project1 上的服务帐户将 project2 链接到我的结算帐户?
【问题讨论】:
标签: api google-cloud-platform google-cloud-billing