藉由在資源上設定雲端權限管理(Cloud IAM),Cloud Billing 可以讓您控制哪些用戶有對特定資源有進行管理與查看費用的權限。您可以在組織層級、帳單帳戶層級以及(或)專案層級設定 Cloud IAM ,用來授予或限制存取 Cloud Billing 的權限。GCP 資源會繼承父節點的 Cloud IAM 設定,這表示您可以在組織層級設定相關的 Cloud IAM,以將設定套用在組織中所有的帳單張戶、專案和資源上。
您可以透過在帳單帳戶或專案層級設定存取權限,來控制不同用戶或角色在不同層級能查看的權限。要讓用戶可以看帳單帳戶下所有專案的費用,必須授予用戶查看帳單帳戶的權限 (billing.accounts.getSpendingInformation) 。相反地,如果只想讓用戶可以看特定專案的費用時,則是授予用戶查看單個專案的權限(billing.resourceCosts.get)。
注意:新的 billing.resourceCosts.get 專案權限從 2018年8月20日 起開始生效。在生效日之前,沒有billing.resourceCosts.get 權限的用戶可以在 Cloud Console Billing card 上查看專案的費用資訊,以及本月估計費用的頁面。但在 2018年8月20日 後,用戶必須有 billing.accounts.getSpendingInformation 或 billing.resourceCosts.get permission 的權限才能查看專案的費用。
Cloud IAM 中帳單角色的概述
以下定義了 Billing Cloud IAM 的角色,目的是允許您透過存取控制來執行權責分離:
Role | Purpose | Level | Use Case |
Billing Account Creator | Create new self-serve billing accounts. | Organization | 一開始建立帳單或暫時以其他貨幣創建帳單帳戶時使用此角色
用戶必須具有此角色,才能用企業角色的信用卡註冊 GCP Tip:盡量減少擁有此角色的用戶,避免組織在 cloud 有未被追蹤的激增費用 |
Billing Account Administrator | Manage billing accounts (but not create them). | Organization or billing account. | 此角色是帳單帳戶的擁有者。利用這個角色管理支付工具、設定帳單輸出、查看費用資訊、連結或取消連結專案以及管理帳單帳戶的其他用戶角色。 |
Billing Account User | Link projects to billing accounts. | Organization or billing account. | 這個角色擁有的權限很有限,因此您可以廣泛地授予這個角色給用戶,通常會和Project Creator角色結合使用。這兩個角色允許用戶建立專案,連結到有授權此角色的帳單帳戶。 |
Billing Account Viewer | View billing account cost information and transactions. | Organization or billing account. | 通常會將此角色授予財務團隊,提供存取費用資訊的權限,但不授予連結或取消連結專案或其他管理帳單帳戶資產的權限。 |
Project Billing Manager | Link/unlink the project to/from a billing account. | Organization or project. | 此角色允許用戶將專案綁定到帳單帳戶,但不授予對資源存取的權限。專案擁有者可以使用這個角色來允許其人管理專案帳單,但不授予他們存取資源的權限。 |
Note: 其他舊的角色(例如:專案擁有者)也會擁有一些帳單權限。專案擁有者是專案帳單管理者下的一個子集。
組織、專案和帳單帳戶間的關係
所有權和支付連結 (payment linkages) 這兩種關聯決定了帳單帳戶、組織和專案彼此之間的互動。
- 所有權(Ownership) : 指的是 Cloud IAM 權限繼承。
- 支付連結(Payment linkages):定義哪個帳單帳戶會替指定的專案付款
下面的圖表顯示一個樣本組織中所有權和支付連結這兩種關係:
在圖表中,組織有專案A、專案B、專案C的所有權,表示組織是三個專案 Cloud IAM 的父節點。而帳單帳戶和專案A、專案B、專案連結,表示此帳單帳戶會支付三個專案產生的費用。
Note: 您可以將帳單帳戶與專案連結,但這不代表帳單帳戶是專案 Cloud IAM 的父節點,因此專案不會從與它連結的帳單帳戶繼承權限。
在這個範例中,任何在組織層級上有被授予 Cloud IAM 帳單角色的用戶,同時也會在帳單帳戶或專案層級上擁有相對應的角色。
帳單存取控制的範例
您可以如同下面的範例一樣,結合 Cloud IAM 角色,以符合各種情境的需求。
範例情境:中小企業(SME),偏好集中管理。
User type | Billing Cloud IAM roles | Billing activities |
CEO | Billing Account Administrator | 管理支付工具 查看和核准發票. |
CTO | Billing Account Administrator Project Creator |
設定預算超支告警 查看費用 創建新的可計費專案 |
Development teams | None | None |
範例情境:中小企業(SME),優先考慮授權。
User type | Billing Cloud IAM roles | Billing activities |
CEO | Billing Account Administrator | 管理支付工具 負責授權 |
CFO | Billing Account Administrator | 設定預算超支告警 查看費用 |
Accounts payable | Billing Account Viewer | 查看和核准發票 |
Development teams | Billing Account User Project Creator |
創建新的可計費專案 |
範例情境:將財務規劃和採購功能分開
User type | Billing Cloud IAM roles | Billing activities |
Procurement or Central IT | Billing Account Administrator | 管理支付工具 設定預算超支告警 和開發團隊溝通費用 |
Financial planning | Billing Account Viewer | 查看帳單統計報告 流程輸出 和 CxO 溝通 |
Accounts payable | Billing Account Viewer | 核准發票 |
Development teams | Billing Account User Project Creator |
創建新的可計費專案 |
範例情境:開發機構
User type | Billing Cloud IAM roles | Billing activities |
CEO | Billing Account Administrator | 管理支付工具 授權 |
CFO | Billing Account Administrator | 設定預算超支告警 查看費用 核准發票 |
Project lead | Billing Account User Project Creator |
創建新的可計費專案 |
Project development team | None | 在既有專案進行開發 |
Client | Project Billing Manager | 當專案完成開發後取得專案的付款所有權 |
更新帳單權限
要增加或移除帳單權限,您必須:
1. 前往 Cloud Cloud Platform 控制台
2. 展開控制台左邊的側邊欄,選擇帳單
3. 如果您有多個帳單帳戶,請選擇前往連結的帳單帳戶,以管理目前專案的帳單權限。要找其他帳單帳戶的話,選擇管理帳單帳戶
4. 在右側有使用權限面板,編輯所選帳單帳戶的權限。(如果沒有看到面板,請點選顯示資訊面板打開它。)接著執行以下任一操作:
- 指定權限給用戶:在新增成員下輸入您想授權的成員的email,接著從選擇角 色的地方選您要授予成員的權限,最後點選新增即可。
- 撤銷成員帳單權限:點擊展開相對應的權限列表,將滑鼠游標移到要移除的成員上,再點擊右側垃圾桶的icon即可。
相關文章
- Cloud Billing API Access Control
- Granting, Changing, and Revoking Access to Project Members in the Cloud Identity and Access Management documentation
- Create Custom Roles for Billing
(原文翻譯自 Google Cloud )