Cloud Billing API 访问权限控制

Google Cloud Platform 提供了 Identity and Access Management (IAM),后者允许您为特定 Google Cloud Platform 资源指定更细化的访问权限,同时能够阻止对其他资源的不必要访问。IAM 允许您采用最小权限安全原则,因此您只需授予对您的资源的必要访问权限即可。

IAM 允许您通过设置 IAM 政策来控制谁(用户)哪些资源具有什么访问权限(角色)。您可以使用 IAM 政策向用户授予特定角色,给予用户某些权限。

本文介绍了适用于 Google Cloud Billing API 的 Identity and Access Management (IAM) 角色。例如,您可以使用 IAM 为结算帐号授予管理员、用户和项目经理等角色。有关 IAM 及其功能的详细说明,请参阅 Google Cloud Identity and Access Management 开发者指南。请特别留意授予、更改和撤消访问权限部分。

权限和角色

要让用户能在 Google Cloud Platform Console 中查看结算帐号详细信息,或者要让 Google Cloud Billing API 方法返回结算帐号信息,用户或调用者必须具有必要的权限。下表列出了 Google Cloud Billing API IAM 支持的权限和角色。

所需权限

下表列出了调用者调用每种方法所必需的权限:

方法 所需权限
billingAccounts.create 创建结算子帐号时,调用者必须拥有子帐号的主结算帐号的 billing.accounts.update 权限。
billingAccounts.get 结算帐号的 billing.accounts.get 权限。
billingAccounts.list 无。此方法会返回调用者有权访问的所有帐号。
billingAccounts.getIamPolicy 结算帐号的 billing.accounts.getIamPolicy 权限。
billingAccounts.setIamPolicy 结算帐号的 billing.accounts.setIamPolicy 权限。
billingAccounts.testIamPermissions 无。此方法用于确定调用者对结算帐号具有的权限。
billingAccounts.patch 结算帐号的 billing.accounts.update 权限。
billingAccounts.projects.list 结算帐号的 billing.resourceAssociations.list 权限。
projects.getBillingInfo 项目的 resourcemanager.projects.get
有关详情,请参阅项目的访问权限控制
projects.updateBillingInfo 结算帐号的 billing.resourceAssociations.createresourcemanager.projects.createBillingAssignment

角色

您不能直接授予用户权限;不过,您可以为他们授予角色(角色本身会具有一项或多项权限)。

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

下表列出了您可以授予的有权访问结算 API 的角色、关于每种角色用途的说明以及该角色具有的权限。

角色 具有的权限: 适用的资源类型:
roles/billing.projectManager
resourcemanager.projects.createBillingAssignment
仅适用于组织。有关组织的信息,请参阅创建和管理组织。另请注意,当前经过身份验证的用户必须同时拥有项目和结算帐号的权限。要详细了解权限,请参阅在 Google Cloud Platform 中配置权限
组织
resourcemanager.projects.deleteBillingAssignment
仅适用于组织。有关组织的信息,请参阅创建和管理组织。当前经过身份验证的用户必须拥有项目或结算帐号的权限。要详细了解权限,请参阅在 Google Cloud Platform 中配置权限
组织
roles/billing.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.list 结算帐号
billing.resourceAssociations.list 结算帐号
billing.subscriptions.get 结算帐号
billing.subscriptions.list 结算帐号
roles/billing.user
具有项目管理者和查看者的以上所有权限,并具有以下权限:
billing.accounts.redeemPromotion 结算帐号
billing.resourceAssociations.create 结算帐号
roles/billing.admin
具有项目管理者、查看者和用户的以上所有权限,并具有以下权限:
billing.accounts.close 结算帐号
billing.accounts.manageBillableUsageExport 结算帐号
billing.accounts.move 结算帐号
billing.accounts.removeFromOrganization 结算帐号
billing.accounts.reopen 结算帐号
billing.accounts.setIamPolicy 结算帐号
billing.accounts.update 结算帐号
billing.accounts.updatePaymentInfo 结算帐号
billing.accounts.updateUsageExportSpec 结算帐号
billing.budgets.create 结算帐号
billing.budgets.delete 结算帐号
billing.budgets.update 结算帐号
billing.projectAssociations.create
仅适用于组织。有关组织的信息,请参阅创建和管理组织。另请注意,当前经过身份验证的用户必须同时拥有项目和结算帐号的权限。要详细了解权限,请参阅在 Google Cloud Platform 中配置权限
组织
billing.projectAssociations.delete
仅适用于组织。有关组织的信息,请参阅创建和管理组织。当前经过身份验证的用户必须拥有项目或结算帐号的权限。要详细了解权限,请参阅在 Google Cloud Platform 中配置权限
组织
billing.resourceAssociations.delete 结算帐号
cloudnotifications.activities.list
适用于 Cloud Notifications。有关详情,请参阅电子邮件和移动通知
结算帐号
logging.logEntries.list
适用于 Stackdriver Logging。如需了解详情,请参阅 Stackdriver 访问权限控制
结算帐号
logging.logs.list
适用于 Stackdriver Logging。有关详情,请参阅 Stackdriver 访问权限控制
结算帐号

请注意,roles/billing.userroles/billing.projectManagerroles/billing.admin 角色也具有其他 Google Cloud Platform 服务的权限。

相关主题

此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页
云结算
需要帮助?请访问我们的支持页面