创建用于 Billing 的自定义角色

Cloud Identity and Access Management (IAM) 包括细化的权限,让您可以授予或撤消个别用户对具体操作的访问权限。为了简化向用户分配权限的过程,Cloud IAM 角色将这些细化的权限组合到相关群组中。Billing 具有预定义角色(如结算帐号管理员结算帐号查看者),对大多数用户都适用。但是,如果这些角色不符合您的需求,您可以通过自定义角色授予更具体的一组权限。

创建自定义角色

您可以在组织中创建自定义角色,然后将其应用于组织中的任何结算帐号。创建完成后,您就可以使用控制台结算概览页面为用户授予自定义角色,就像授予标准的预定义角色一样。

Cloud IAM 文档中的创建和管理自定义角色一文介绍了如何配置自定义角色,包括哪些权限是必要的。

自定义角色示例

想象一下,如果您想让某人能够修改费用管理功能,例如预算提醒和帐单导出。相关权限为:

  • billing.budgets.create
  • billing.budgets.update
  • billing.accounts.updateUsageExportSpec

要通过预定义角色应用这些权限,您需要授予结算帐号管理员角色。但是,该角色还包括删除资源关联、退订和关闭结算帐号的权限。如果您不希望用户拥有这些权限,则可以创建仅包含上述三项权限的自定义角色,然后将其命名为“费用管理管理员”。然后,您就可以将该自定义角色与结算帐号查看者角色一起应用于应该具有广泛的费用管理权限但无法修改其他帐号属性的任何用户。

权限关联和继承

您可以授予结算帐号级或项目级结算权限。大多数结算权限属于结算帐号,因此包含这些权限的角色应与结算帐号相关联。其他结算权限属于项目,需要与项目相关联,而不是结算帐号。

例如,将项目与结算帐号相关联需要该结算帐号的 billing.resourceAssociations.create 权限以及该项目的 resourcemanager.projects.createBillingAssignment 权限。这是因为项目所有者控制访问的操作需要项目权限,而结算帐号管理员控制访问的操作需要结算帐号权限。当两种操作均涉及时,就需要两种权限。

就像其他 Cloud IAM 权限一样,所有结算权限都是从更高级别的结算层次结构继承。例如,组织中具有 billing.accounts.close 权限的角色的用户可以关闭该组织内的任何结算帐号。但是,某些权限仅适用于更高级别。例如,如果将 billing.accounts.list 权限应用于个人结算帐号,不会执行任何操作,但组织中具有 billing.accounts.list 权限的角色的用户可以列出该组织内的所有结算帐号。

结算活动

下表介绍了常见的结算活动、执行这些活动所需的权限以及这些权限适用的资源。

帐号管理

操作 权限 资源
获取基本帐号信息(例如帐号名称、货币、未结/已结) billing.accounts.get 结算帐号
从免费试用升级 billing.accounts.update 结算帐号
重命名帐号 billing.accounts.update 结算帐号
更改采购订单编号 billing.accounts.update 结算帐号
关闭帐号 billing.accounts.close 结算帐号
重新打开已关闭的帐号 billing.accounts.reopen 结算帐号

结算帐号层次结构

操作 权限 资源
列出组织中的帐号 billing.accounts.list 组织
在组织中创建帐号 billing.accounts.create 组织
将帐号移入组织 billing.accounts.create 组织
billing.accounts.update 结算帐号
在组织之间移动帐号 billing.accounts.removeFromOrganization 旧组织
billing.accounts.create 新组织
billing.accounts.update 结算帐号

付款信息

付款资料包括客户名称、地址和付款方式。

操作 权限 资源
查看付款资料 billing.accounts.getPaymentInfo 结算帐号
更新付款资料 billing.accounts.updatePaymentInfo 结算帐号
查看结算帐号的费用和使用情况* billing.accounts.getSpendingInformation 结算帐号
查看项目的费用和使用情况* billing.resourceCosts.get 项目
resourcemanager.projects.get 项目

资源关联

在结算帐号之间移动项目需要具有将其从原结算帐号中移除的权限,并将其与新帐号相关联。

操作 权限 资源
查看项目关联 billing.resourceAssociations.list 结算帐号
将项目与结算帐号相关联 billing.resourceAssociations.create 结算帐号
resourcemanager.projects.createBillingAssignment 项目
从结算帐号中移除项目 billing.resourceAssociations.delete 结算帐号
resourcemanager.projects.deleteBillingAssignment 项目

预算提醒

操作 权限 资源
查看预算提醒列表,包括本月至今的支出 billing.budgets.get 结算帐号
billing.budgets.list 结算帐号
更新预算提醒 billing.budgets.update 结算帐号
创建预算提醒 billing.budgets.create 结算帐号

赠金和促销

操作 权限 资源
查看赠金列表,包括原有金额和余额 billing.credits.list 结算帐号
兑换促销代码 billing.credits.create 结算帐号
billing.accounts.update 结算帐号

政策

政策定义了哪些用户有权访问结算帐号中的哪些资源。要了解如何创建或修改自定义角色,请参阅上面的创建自定义角色部分。

操作 权限 资源
查看帐号中的角色,包括关联的用户名 billing.accounts.getIamPolicy 结算帐号
向帐号中的用户授予角色 billing.accounts.setIamPolicy 结算帐号

导出规范

导出规范定义要将所有与使用情况相关的数据副本发送到哪个位置,还可能包含 Cloud Storage 存储分区BigQuery 数据集的名称。

操作 权限 资源
查看当前导出规范(要将使用情况数据导出到的 Cloud Storage 存储分区或 BigQuery 数据集) billing.accounts.getUsageExportSpec 结算帐号
修改导出规范 billing.accounts.updateUsageExportSpec 结算帐号
此页内容是否有用?请给出您的反馈和评价: