Cloud Billing 访问权限控制概览

借助 Cloud Billing,您可以通过在指定资源上设置 Identity and Access Management (IAM) 政策,控制哪些用户拥有对相应资源的管理和费用查看权限。

要授予或限制对 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)
管理结算帐号(但不创建帐号)。 组织或结算帐号。 此角色是结算帐号的所有者角色。可以使用此角色在结算帐号上管理付款方式、配置结算导出、查看费用信息、关联和取消关联项目以及管理其他用户角色。
Billing Account User
(roles/billing.user)
将项目与结算帐号相关联。 组织或结算帐号。 此角色的权限非常有限,因此您可以广泛授予此角色,通常可以将其连同项目创建者一并授予。具备这两个角色之后,用户可以创建新项目,并将创建的项目关联到针对其授予了相应角色的结算帐号。
Billing Account Viewer
(roles/billing.viewer)
查看结算帐号费用信息和交易。 组织或结算帐号。 结算帐号查看者访问权限通常会授予财务团队,此角色提供对支出信息的访问权限,但不授予关联/取消关联项目或以其他方式管理结算帐号属性的权限。
Project Billing Manager
(roles/billing.projectManager)
将项目与结算帐号相关联/解除项目与结算帐号的关联。 组织、文件夹或项目。 此角色允许用户将项目与结算帐号相关联,但不会授予用户对资源的任何权限。Project Owner 可以使用此角色让他人来管理项目的结算,而不授予其资源访问权限。

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

角色 名称 说明 权限 最低资源要求
roles/billing.admin Billing Account Administrator 提供查看和管理结算帐号所有方面的权限。
  • billing.accounts.close
  • billing.accounts.get
  • billing.accounts.getIamPolicy
  • billing.accounts.getPaymentInfo
  • 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.budgets.*
  • billing.credits.*
  • billing.resourceAssociations.*
  • billing.subscriptions.*
  • cloudnotifications.*
  • consumerprocurement.accounts.*
  • consumerprocurement.orders.*
  • dataprocessing.groupcontrols.list
  • logging.logEntries.list
  • logging.logServiceIndexes.*
  • logging.logServices.*
  • logging.logs.list
  • logging.privateLogEntries.*
  • recommender.commitmentUtilizationInsights.*
  • recommender.usageCommitmentRecommendations.*
  • resourcemanager.projects.createBillingAssignment
  • resourcemanager.projects.deleteBillingAssignment
结算帐号
roles/billing.creator Billing Account Creator 提供创建结算帐号的权限。
  • billing.accounts.create
  • resourcemanager.organizations.get
组织
roles/billing.projectManager Project Billing Manager 提供为项目分配结算帐号或停用项目结算功能的权限。
  • resourcemanager.projects.createBillingAssignment
  • resourcemanager.projects.deleteBillingAssignment
项目
roles/billing.user Billing Account User 提供将项目与结算帐号相关联的权限。
  • billing.accounts.get
  • billing.accounts.getIamPolicy
  • billing.accounts.list
  • billing.accounts.redeemPromotion
  • billing.credits.*
  • billing.resourceAssociations.create
结算帐号
roles/billing.viewer Billing Account Viewer 查看结算帐号费用信息和交易。
  • billing.accounts.get
  • billing.accounts.getIamPolicy
  • billing.accounts.getPaymentInfo
  • billing.accounts.getSpendingInformation
  • billing.accounts.getUsageExportSpec
  • billing.accounts.list
  • billing.budgets.get
  • billing.budgets.list
  • billing.credits.*
  • billing.resourceAssociations.list
  • billing.subscriptions.get
  • billing.subscriptions.list
  • consumerprocurement.accounts.get
  • consumerprocurement.accounts.list
  • consumerprocurement.orders.get
  • consumerprocurement.orders.list
  • dataprocessing.groupcontrols.list
  • recommender.commitmentUtilizationInsights.get
  • recommender.commitmentUtilizationInsights.list
  • recommender.usageCommitmentRecommendations.get
  • recommender.usageCommitmentRecommendations.list
结算帐号

组织、项目、Cloud Billing 帐号和付款资料之间的关系

组织、Cloud Billing 帐号和项目之间的交互受两种关系类型制约:所有权和付款关联。

  • 所有权指的是 IAM 权限的继承。
  • 付款关联决定着哪个 Cloud Billing 帐号为给定项目付款。

下图显示了示例组织的所有权和付款关联之间的关系。

显示了项目与 Cloud Billing 和您的付款资料之间的关系。一侧显示了您的 Cloud 级资源(Cloud Billing 帐号和关联项目),另一侧显示了您的 Google 级资源(付款资料),两侧由垂直虚线分隔。您的项目由您的 Cloud Billing 帐号支付,该帐号已与您的付款资料关联。

在上图中,组织拥有项目 1、2 和 3 的所有权,也就是说,它拥有这三个项目的 IAM 父权限。

Cloud Billing 帐号与项目 1、2 和 3 相关联,也就是说,通过它来支付这三个项目所产生的费用。

Cloud Billing 帐号还与 Google 付款资料(用于存储姓名、地址、付款方式等信息)相关联。

在本示例中,在组织级层被授予 IAM Billing 角色的所有用户还将在 Cloud Billing 帐号或项目级层具有相应角色。

Cloud Billing 访问权限控制示例

按如下所示的方式组合使用 IAM 角色,以满足不同情景的需求。

情景:偏好集中控制的中小型企业。
用户类型 Billing IAM 角色 结算活动
首席执行官 结算帐号管理员 管理付款方式。
查看和批准帐单。
首席技术官 Billing Account Administrator
Project Creator
设置预算提醒。
查看支出。
创建新的可结算项目。
开发团队
情景:偏好委任权限的中小型企业。
用户类型 Billing IAM 角色 结算活动
首席执行官 结算帐号管理员 管理付款方式。
委任授权。
首席财务官 结算帐号管理员 设置预算提醒。
查看支出。
应付帐款部门 结算帐号查看者 查看和批准帐单。
开发团队 Billing Account User
Project Creator
创建新的可结算项目。
情景:单独的财务规划和采购职能部门
用户类型 Billing IAM 角色 结算活动
采购或中央 IT 团队 结算帐号管理员 管理付款方式。
设置预算提醒。
与开发团队沟通支出事宜。
财务规划部门 结算帐号查看者 查看结算报告。
处理出口。
与首席高管沟通。
应付帐款部门 结算帐号查看者 批准帐单。
开发团队 Billing Account User
Project Creator
创建新的可结算项目。
情景:开发机构
用户类型 Billing IAM 角色 结算活动
首席执行官 结算帐号管理员 管理付款方式。
委任授权。
首席财务官 结算帐号管理员 设置预算提醒。
查看支出。
批准帐单。
项目负责人 Billing Account User
Project Creator
创建新的可结算项目。
项目开发团队 在现有项目中开发。
客户 项目结算管理员 项目完成后接管项目的付款所有权。

更新 Cloud Billing 权限

如需添加或删除 Cloud Billing 权限,请执行以下操作:

  1. 登录 Google Cloud Console。

    登录 Cloud Console

  2. 打开 Cloud Console 导航菜单 ,然后选择结算

    如果您有多个 Cloud Billing 帐号,请执行以下操作之一:

    • 如需管理当前项目的 Cloud Billing,请选择转至关联的结算帐号
    • 如需查找其他 Cloud Billing 帐号,请选择管理结算帐号,然后选择您要管理的帐号。
  3. 在“结算”导航菜单中,点击帐号管理

  4. 使用权限面板为选定 Cloud Billing 帐号修改权限。如果该面板尚未显示,请点击显示信息面板将其打开。

权限面板按角色排列,每个角色中都列出了成员数。例如,权限面板中可能会显示以下内容

  • Billing Account Administrator(2 名成员)
  • Billing Account User(6 名成员)
  • Billing Account Viewer(10 名成员)

您可以将同一成员分配给多个角色。

查看相应角色的成员列表,请点击角色名称 (role name) 以展开(或收起)分配给该角色的成员列表。

如需查找特定成员并查看分配给该成员的角色,请使用搜索成员过滤器。

如需更新 Cloud Billing 权限,请在权限面板中执行以下任一操作:

  • 如需添加新成员并分配权限,请执行以下操作:

    1. 点击添加成员
    2. 新成员字段中,输入要添加的成员的一个或多个电子邮件地址。您可以将个人、服务帐号或 Google 群组网添加为成员。
    3. 选择角色中选择成员的权限。
    4. 设置角色的条件(可选)。
    5. 如果需要,您可以添加其他角色,为成员分配其他权限。
    6. 完成后,点击保存
  • 要修改成员的结算权限,请执行以下操作:

    1. 使用搜索成员过滤器查找特定成员或角色。
    2. 在列表中,找到要修改的成员。
    3. 点击成员所在行中的修改

      “修改权限”面板打开,该面板特定于您正在查看的所选成员和资源(Cloud Billing 帐号)。

    4. 在“修改权限”面板中,添加、修改和删除所选成员和资源的角色。

    5. 完成后,点击保存

  • 要从角色的成员列表中移除成员,请执行以下操作:

    1. 使用搜索成员过滤器查找特定成员或角色。
    2. 在列表中,找到您要从该角色中移除的成员。
    3. 点击成员所在行中的删除
    4. 系统将提示您确认操作。