Cloud Billing Budget API 设置

本指南介绍了开始使用 Cloud Billing Budget API 所需的所有设置步骤。

准备工作

在阅读本指南之前,请先完成以下事项:

  1. 阅读 Cloud Billing Budget API 概览
  2. 阅读 Cloud Billing Budget API 前提条件

Cloud Console 简介

Google Cloud Console(访问文档打开控制台)是一个网页界面,用于预配、配置、管理和监控使用 Google Cloud 产品的系统。您可以使用 Cloud Console 设置和管理 Google Cloud 和 Cloud Billing 资源。

1.选择或创建项目

如需使用 Google Cloud 提供的服务,您必须创建一个项目。项目用于组织您的所有 Google Cloud 资源。项目由一组协作者、已启用的 API(和其他资源)、监控工具、结算信息以及身份验证和访问权限控制组成。您可以创建一个项目,也可以创建多个项目,并使用这些项目按资源层次结构组织 Google Cloud 资源。如需详细了解项目,请参阅 Resource Manager 文档

建议:我们建议您创建一个单独的 Google Cloud 项目,在其中设置您的所有结算管理需求,包括 Cloud Billing Budget API。您的结算管理 Google Cloud 项目也可用于 Cloud Billing Account API 访问、Cloud Billing 导出的数据以及程序化预算通知的 Pub/Sub 渠道等

在 Google Cloud Console 的项目选择器页面上,选择或创建一个 Google Cloud 项目。

转到“项目选择器”

2.启用结算功能

您需要确保在调用 Cloud Billing Budget API 的项目中启用结算功能。如果您遵循了项目部分中的建议,那么这是您的结算管理 Google Cloud 项目

Cloud Billing 帐号用于定义一组给定 Google Cloud 资源的支付者。资源(例如已启用的 API)是在项目中组织的。Cloud Billing 帐号可以关联到一个或多个项目。项目的资源使用费将记在关联的结算帐号名下。在大多数情况下,您应在创建项目时配置结算信息。如需了解详情,请参阅结算文档

您需要设置 Cloud Billing 预算来监控 Cloud Billing 帐号。您监控的 Cloud Billing 帐号可以是与调用 Cloud Billing Budget API 的项目关联的同一 Cloud Billing 帐号。请注意,Cloud Billing Budget API 可供 Google Cloud 客户免费使用。如果您选择配置程序化预算通知,则需要支付标准 Pub/Sub 费用

确保您的 Cloud 项目已启用结算功能。 了解如何确认您的项目是否已启用结算功能

3.启用 API

您必须在调用 Cloud Billing Budget API 的项目中启用 Cloud Billing Budget API。如果您遵循了项目部分中的建议,那么这是您的结算管理 Google Cloud 项目

如需详细了解如何启用 API,请参阅服务使用工具文档

启用 Cloud Billing Budget API。

启用 API

4.设置身份验证

如果您计划使用 Cloud Billing Budget API,则需要设置身份验证。任何使用 API 的客户端应用都必须经过身份验证,并且拥有所请求资源的访问权限。本部分介绍重要的身份验证概念及其设置步骤。如需了解详情,请参阅 GCP 身份验证概览

服务帐号简介

身份验证有多种可选方式,但建议您使用服务帐号执行身份验证和访问权限控制。服务帐号为应用而非最终用户提供凭据。

服务帐号由项目拥有,您可以为一个项目创建多个服务帐号。如需了解详情,请参阅服务帐号

角色简介

如果某个身份(服务帐号)调用 API,Google Cloud 会要求该身份必须具有适当权限。您可以向服务帐号分配角色来授予权限。如需了解详情,请参阅身份和访问权限管理 (IAM) 文档

为了使用所有 Cloud Billing Budget API 方法,您需要将服务帐号作为成员添加每个您希望使用 Cloud Billing Budget API 来以编程方式管理预算的 Cloud Billing 帐号,并为服务帐号分配相应角色。

如果您打算为程序化预算通知配置发布/订阅主题,您还需要将该服务帐号添加为该发布/订阅主题所属项目的成员,并为其分配 IAM 安全管理员角色。服务帐号需要此角色,以便向该主题授予 Pub/Sub Publisher 角色,从而允许 Cloud Billing 向其发布消息。

如需详细了解特定于 Cloud Billing API 的角色,请参阅 Cloud Billing API 访问权限控制文档

服务帐号密钥简介

服务帐号与一个或多个公钥/私钥对相关联。创建新密钥对时,您需要下载私钥。私钥用于在调用 API 时生成凭据。您需要负责确保私钥和其他管理操作(如密钥轮替)的安全性。

A. 创建服务帐号并下载私钥文件

您需要在已注册 Cloud Billing Budget API 的项目中创建服务帐号。如果您遵循了项目部分中的建议,那么这是您的结算管理 Google Cloud 项目

首先创建服务帐号:

  1. 在 Cloud Console 中,转到创建服务帐号页面。

    转到“创建服务帐号”
  2. 选择一个项目。
  3. 输入在 Cloud Console 中显示的服务帐号名称。

    Cloud Console 会根据此名称生成服务帐号 ID。如有必要,请修改 ID。此 ID 创建后便无法更改。

  4. 可选:输入服务帐号的说明。
  5. 点击完成

    不要关闭浏览器窗口。您将在下一步骤中用到它。

然后创建服务帐号密钥:

  1. 在 Cloud Console 中,点击您创建的服务帐号的电子邮件地址。
  2. 点击密钥
  3. 依次点击添加密钥创建新密钥
  4. 点击创建。JSON 密钥文件将下载到您的计算机上。
  5. 点击关闭

B.向您的服务帐号授予使用 Cloud Billing Budget API 的权限

向您的服务帐号授予 Cloud Billing 和 IAM 角色,使其具有针对 Cloud Billing 帐号中各项预算使用各种 Cloud Billing Budget API 方法的权限。

  1. 使用键 client_email 在您刚刚下载的 json 文件中查找您的服务帐号电子邮件地址。电子邮件地址将类似于 service-account-name@project-id.iam.gserviceaccount.com
  2. 在 Cloud Console 中,导航至“结算帐号管理”页面,按照这些说明更新服务帐号的结算权限
  3. 可选:如果您打算将预算配置为使用程序化通知,您还需要向您的发布/订阅主题所在的项目分配 IAM 权限(如果您遵循了项目部分中的建议,这可能是您的结算管理 Google Cloud 项目)。
    1. 打开控制台导航菜单 () 并点击 IAM 和管理员 > IAM
    2. IAM 权限标签页上,确认您正在查看 Pub/Sub 主题所在项目的权限。您将在页面上看到如下所示的标题:项目“My Cloud Billing Admin Project”的权限
    3. 添加服务帐号电子邮件作为项目的成员,并向服务帐号成员分配 IAM Security Admin 角色。
      1. 点击 添加
      2. 新成员字段中,输入服务帐号电子邮件地址。
      3. 选择角色下拉菜单中,向下滚动至 IAM(或将其用作过滤条件),然后选择 Security Admin 角色。

C. 在您的环境中使用服务帐号密钥文件

通过设置环境变量 GOOGLE_APPLICATION_CREDENTIALS 向应用代码提供身份验证凭据。 此变量仅适用于当前的 Shell 会话,因此,如果您打开新的会话,请重新设置该变量。

Linux 或 macOS

export GOOGLE_APPLICATION_CREDENTIALS="KEY_PATH"

KEY_PATH 替换为包含您的服务帐号密钥的 JSON 文件的路径。

例如:

export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/service-account-file.json"

Windows

对于 PowerShell:

$env:GOOGLE_APPLICATION_CREDENTIALS="KEY_PATH"

KEY_PATH 替换为包含您的服务帐号密钥的 JSON 文件的路径。

例如:

$env:GOOGLE_APPLICATION_CREDENTIALS="C:\Users\username\Downloads\service-account-file.json"

对于命令提示符:

set GOOGLE_APPLICATION_CREDENTIALS=KEY_PATH

KEY_PATH 替换为包含您的服务帐号密钥的 JSON 文件的路径。

5. 安装并初始化 Cloud SDK

如果您打算使用 Cloud Billing Budget API,则需要安装并初始化 Cloud SDK。Cloud SDK 是一组工具,可用于管理 Google Cloud 上托管的资源和应用。其中包括 gcloud 命令行工具。以下链接提供了相关说明:

安装并初始化 Cloud SDK

6. 测试 SDK 和身份验证

如果您在前面的步骤中设置了身份验证,则可以使用 gcloud 工具测试您的身份验证环境。执行以下命令,确认没有发生任何错误并且返回了凭据:

gcloud auth application-default print-access-token

所有 Cloud Billing Budget API 命令行 REST 示例都会使用该命令对 API 调用进行身份验证。

7. 安装 Cloud Billing Budget API 客户端库

Cloud Billing Budget API 基于 HTTP 和 JSON 构建,因此任何标准 HTTP 客户端都可以向其发送请求并解析响应。

您可以通过以下三种方式调用 API:

  • Google 支持的客户端库(推荐)

    客户端库可提供更好的语言集成和更高的安全性,并支持进行需要用户授权的调用。受 Google 支持的客户端库支持多种主流语言,建议您使用这些客户端库。

  • REST

  • gRPC