Cloud Billing 访问权限控制和权限

本文档介绍了 Cloud Billing 账号的角色和访问权限。

Cloud Billing 账号在 Google Cloud 中设置,用于定义一组给定 Google Cloud 资源和 Google Maps Platform API 的付款方。Cloud Billing 账号与 Google 付款资料相关联。您的 Google 付款资料包含支付费用所用的付款方式。

Cloud Billing 和 Google 付款的访问权限在两个不同的系统中进行配置,具体取决于您想要提供的访问权限类型。

  • 借助 Cloud Billing,您可以通过对特定资源设置 Identity and Access Management (IAM) 政策,控制哪些用户拥有对相应资源的管理权限和费用查看权限。
  • 在 Google 付款中,您可以将用户添加到您管理的任何 Google 付款公司资料中,并根据用户需要执行的操作向用户授予不同级别的访问权限。您还可以配置用户电子邮件接收设置,以接收结算和付款电子邮件。
Cloud Billing 权限 Google 付款设置和权限
Cloud Billing 账号的访问权限使用 IAM 角色管理。结算账号权限可以配置为允许用户执行以下操作:
  • 开启、关闭和修改 Cloud Billing 账号。
  • 查看报告和费用数据。
  • 查看文档(例如账单和对账单)。
  • 分析和购买承诺使用折扣 (CUD)。
  • 启用和管理结算数据导出功能。
  • 配置预算和提醒。
  • 按项目管理结算。
  • 管理结算的用户权限。
  • 与结算支持团队联系。
Google 付款资料的访问权限在 Google 付款设置中管理。您可以配置 Google 付款权限来允许用户执行以下操作:
  • 添加、修改和移除付款方式。
  • 更新付款资料信息,包括邮寄地址。
  • 管理付款用户,包括联系人详细信息、电子邮件接收设置和用户权限。

如果您要在 Google Cloud 控制台的“结算”页面中管理与付款相关的任务,用户还需要具有对 Cloud Billing 账号的 Billing Account Viewer 角色。

Cloud Billing 访问权限

要授予或限制对 Cloud Billing 的访问权限,您可以在组织级层、Cloud Billing 账号级层或项目级层设置 IAM 政策。 Google Cloud 资源会继承其父级节点的 IAM 政策,这意味着您可以在组织级层设置政策,以将其应用到组织内的所有 Cloud Billing 账号、项目和资源。

您可以通过在 Cloud Billing 账号级层或项目级层设置访问权限,控制不同用户或角色在不同级层的查看权限。

如需授权某用户查看某个 Cloud Billing 账号下所有项目的费用,请为该用户授予相应 Cloud Billing 账号的费用查看权限 (billing.accounts.getSpendingInformation)。如需授权某用户查看特定项目的费用,请为该用户授予对应项目的查看权限 (billing.resourceCosts.get)。

IAM 中的 Cloud Billing 角色概览

您并非直接向用户授予权限,而是向其授予角色(角色本身会具有一项或多项权限)。

您可以向同一用户或针对同一资源授予一个或多个角色。

以下预定义的 Cloud Billing IAM 角色可让您使用访问权限控制措施来实现职责分离:

角色 用途 级层 使用场景
Billing Account Creator
(roles/billing.creator)
创建新的自助(在线)结算账号。 组织 可以使用此角色进行初始结算设置,或支持创建其他结算账号。
用户必须具有此角色,才能使用其企业身份信用卡注册 Google Cloud 。
提示:请尽量减少拥有此角色的用户数,以防止您组织中未得到跟踪的云支出激增。
Billing Account Administrator
(roles/billing.admin)
管理结算账号(但不创建账号)。 组织或结算账号。 这是结算账号的所有者角色。可以使用此角色在结算账号上管理付款方式、配置结算导出、查看费用信息、关联和取消关联项目以及管理其他用户角色。 默认情况下,Cloud Billing 账号创建者是 Cloud Billing 账号的 Billing Account Administrator。
Billing Account Costs Manager
(roles/billing.costsManager)
管理预算,以及查看和导出结算账号的费用信息(但不包括价格信息)。 组织或结算账号。 创建、修改和删除预算,查看结算账号费用信息和交易,以及管理将结算数据导出到 BigQuery。无权导出价格数据或在价格页面中查看自定义价格。不允许关联或解除关联项目或以其他方式管理结算账号的属性。
Billing Account Viewer
(roles/billing.viewer)
查看结算账号费用信息和交易。 组织或结算账号。 Billing Account Viewer 访问权限通常会授予财务团队,此角色提供对支出信息的访问权限,但不授予关联/解除关联项目或以其他方式管理结算账号属性的权限。
Project Billing Costs Manager
(roles/billing.projectCostsManager)
查看项目范围内的结算账号费用信息。 组织或结算账号。 项目的费用查看权限一起授予时,Project Billing Costs Manager 可提供对用户有费用访问权限的项目范围内结算信息的访问权限。项目范围内结算信息的访问权限包括对报告、FinOps 中心、预算和提醒以及异常情况的访问权限。
Billing Account User
(roles/billing.user)
将项目与结算账号相关联。 组织或结算账号。 此角色的权限非常有限,因此您可以广泛授予此角色。当与 Project Creator 一起授予时,这两个角色允许用户创建与授予了 Billing Account User 角色的结算账号关联的新项目。或者,如果与 Project Billing Manager 角色一起授予,则这两个角色使用户能够关联和取消授予了 Billing Account User 角色的结算账号中的项目。
Project Billing Manager
(roles/billing.projectManager)
为结算账号关联/解除关联项目。 组织、文件夹或项目。 与 Billing Account User 角色一起授予时,Project Billing Manager 角色允许用户将项目与结算账号相关联,但不会授予对资源的任何权限。Project Owner 可以使用此角色让他人来管理项目的结算,而不授予其资源访问权限。

下表列出了预定义的 IAM 结算角色(包括各个角色中捆绑的权限)的详细信息。

Role Permissions

(roles/billing.admin)

Provides access to see and manage all aspects of billing accounts.

Lowest-level resources where you can grant this role:

  • Billing Account

billing.accounts.close

billing.accounts.get

billing.accounts.getCarbonInformation

billing.accounts.getIamPolicy

billing.accounts.getPaymentInfo

billing.accounts.getPricing

billing.accounts.getSpendingInformation

billing.accounts.getUsageExportSpec

billing.accounts.list

billing.accounts.move

billing.accounts.redeemPromotion

billing.accounts.removeFromOrganization

billing.accounts.reopen

billing.accounts.setIamPolicy

billing.accounts.update

billing.accounts.updatePaymentInfo

billing.accounts.updateUsageExportSpec

billing.anomalies.*

  • billing.anomalies.get
  • billing.anomalies.list
  • billing.anomalies.submitFeedback

billing.anomaliesConfigs.*

  • billing.anomaliesConfigs.get
  • billing.anomaliesConfigs.update

billing.billingAccountPrice.get

billing.billingAccountPrices.list

billing.billingAccountServices.*

  • billing.billingAccountServices.get
  • billing.billingAccountServices.list

billing.billingAccountSkuGroupSkus.*

  • billing.billingAccountSkuGroupSkus.get
  • billing.billingAccountSkuGroupSkus.list

billing.billingAccountSkuGroups.*

  • billing.billingAccountSkuGroups.get
  • billing.billingAccountSkuGroups.list

billing.billingAccountSkus.*

  • billing.billingAccountSkus.get
  • billing.billingAccountSkus.list

billing.budgets.*

  • billing.budgets.configureSpendCap
  • billing.budgets.create
  • billing.budgets.delete
  • billing.budgets.get
  • billing.budgets.list
  • billing.budgets.update

billing.credits.list

billing.finOpsBenchmarkInformation.get

billing.finOpsHealthInformation.get