帳單相關職務的 IAM 角色

本主題示範如何設定帳單情境範例的身分與存取權管理 (IAM) 權限,並說明在這些情境中,您應該為公司與帳單相關的職務角色授予哪些 IAM 角色。這些範例的主要對象是帳單管理員與負責管理機構帳單工作的員工。

本文件並未詳細說明帳單角色與權限。如需 Billing API 角色和權限的詳細說明,請參閱 Billing 存取權控管說明頁面。

小型公司設定帳單權限

在本情境中,一家小型公司正嘗試設定及使用Google Cloud 帳單帳戶。公司有許多工程師負責應用程式的開發及維護工作,但是沒有人負責管理帳單。他們有辦公室經理負責將款項與發票配對,但基於法規遵循考量,辦公室經理不得存取專案中的 Google Cloud 資源。此外,執行長持有並管控信用卡的詳細資料。

下表說明機構管理員 (在本情境中為執行長) 可以對公司其他人員授予的帳單 IAM 角色,以及授予角色的資源層級。

角色: 機構管理員 機構管理員角色可讓執行長指派權限給行政經理。
資源: 機構
主體: 執行長
角色: 帳單帳戶管理員 帳單管理員角色允許行政經理及執行長管理付款和發票,而未授予查看專案內容的權限。
資源: 機構
校長: 行政經理、執行長

在本情境中,附加至機構資源的允許政策看起來類似下列內容:

{
  "bindings": [
    {
      "role": "roles/resourcemanager.organizationAdmin",
      "members": [
        "user:ceo@example.com"
      ]
    },
    {
      "role": "roles/billing.admin",
      "members": [
        "group:finance-admins-group@example.com"
      ]
    }
  ]
}

使用群組管理主體是最佳做法。在上述範例中,對於第二個繫結,您可以將執行長和行政經理新增到 finance-admins-group。如要修改可執行這項功能的使用者,只要調整群組成員資格即可,無須更新允許政策。因此這兩個個別使用者帳戶不會出現在角色繫結中。

財務團隊管理預算

在本情境中,某個大型機構希望每個部門的財務團隊都能設定預算,並查看部門中的團隊支出,但不具備存取 Google Cloud 資源的權限。他們不介意開發人員看到自己專案的支出,但不允許開發人員看到更廣泛的開銷資訊。

將下表中的角色授予每個部門的財務經理和開發人員:

角色: 帳單帳戶管理員 這個角色授予各部門的財務經理權限,可以設定預算及查看所屬部門中帳單帳戶的支出,但不提供查看專案內容的權限。
資源: 帳單帳戶
校長: 各部門的財務經理
角色: 帳單帳戶檢視者 開發人員可透過「帳單帳戶檢視者」角色,查看帳單帳戶的支出。
資源: 帳單帳戶
校長: 專案的開發人員。

在這種情況下,請使用帳單主控台,將帳單帳戶的帳單帳戶管理員角色授予給財務經理。此外,請將帳單帳戶的「帳單帳戶檢視者」角色授予給開發人員。

完成後,帳單帳戶的允許政策看起來會類似以下內容:

{
  "bindings": [
    {
      "role": "roles/billing.admin",
      "members": [
        "group:finance-admins-group@example.com"
      ]
    },
    {
      "role": "roles/billing.viewer",
      "members": [
        "group:developers@example.com"
      ]
    }
  ],
  "etag": "BwUjMhCsNvY=",
  "version": 1
}

客戶自助服務入口網站,開發人員無法調整帳單

在本情境中,客戶的中央 IT 團隊將 Google Cloud資源提供給其開發人員,做為開發團隊的自助服務入口網站。開發人員提出要求,希望透過入口網站存取 Google Cloud 專案和其他通過核准的雲端服務。開發人員成本中心會根據已使用的雲端資源,向中央 IT 團隊支付費用。

中央 IT 團隊必須能進行以下動作:

  • 將專案與帳單帳戶建立關聯。
  • 關閉專案帳單。
  • 查看信用卡資訊。

IT 團隊不得擁有查看專案內容的權限。

開發人員應該能查看正在使用 Google Cloud資源的實際成本,但是不應進行以下動作:關閉帳單、將帳單與專案建立關聯,以及查看信用卡資訊。

角色: 帳單帳戶管理員 帳單管理員角色授予 IT 部門權限,可以將專案與帳單帳戶建立關聯、關閉專案帳單,以及查看轉售給客戶的帳戶信用卡資訊。

這個角色不會授予專案內容的檢視權限。

資源: 帳單帳戶
主體: IT 部門
角色: 帳單帳戶使用者 帳單帳戶使用者角色給予服務帳戶啟用計費功能 (針對機構中所有專案,將專案與機構的帳單帳戶建立關聯) 的權限,進而允許服務帳戶啟用需要啟用帳單的 API。
資源: 機構
主體: 用於自動建立專案的服務帳戶。
角色: 帳單帳戶檢視者 開發人員可透過「帳單帳戶檢視者」角色,查看帳單帳戶的支出。
資源: 帳單帳戶
校長: 專案的開發人員。

對於本情境,您需要執行兩個獨立的作業來指派適當的允許政策,因為這些政策會附加在階層的不同層級中。

使用帳單主控台,將帳單帳戶的帳單帳戶管理員角色授予給 IT 部門。此外,請將帳單帳戶的「帳單帳戶檢視者」角色授予開發人員。

然後,您需要在機構層級附加允許政策。這項允許政策會將帳單帳戶使用者角色授予服務帳戶。類似於下列內容:

{
  "bindings": [
    {
      "role": "roles/billing.user",
      "members": [
        "serviceAccount:my-project-creator@shared-resources-proj.iam.gserviceaccount.com"
      ]
    }
  ],
  "etag": "BwWKmjvelug=",
  "version": 1
}

開發人員建立計費的專案

大型的數位原生公司希望所有開發人員在機構的月結帳戶上建立計費專案,而不向他們提供帳單管理員權限。

專案必須啟用計費,才能確保可以啟用預設值以外的 API。因此如果開發人員建立專案,則需要將專案與帳單帳戶建立關聯以啟用 API。

角色: 帳單帳戶使用者 帳單帳戶使用者角色可讓開發人員將帳單帳戶附加至機構內的新專案。
資源: 機構
校長: 開發人員

在本情境中,允許政策需要附加在機構層級,類似下列內容:

{
  "bindings": [
    {
      "role": "roles/billing.user",
      "members": [
        "group:developers@example.com"
      ]
    }
  ],
  "etag": "BwUjMhCsNvY=",
  "version": 1
}

成本匯總

在本情境中,公司希望能夠計算和追蹤每個團隊、部門、服務或專案的營運成本,例如追蹤測試部署作業每個月的成本開銷。

按照下列做法即可追蹤成本:

  • 使用專案來統整資源。依專案顯示成本,且專案 ID 會包含在匯出的帳單中。
  • 使用代表額外分組資訊的標籤為專案加註,例如,environment=test。標籤會包含在匯出的帳單中,方便您進一步分析。但是,專案標籤的授權方式與其他專案中繼資料相同,這代表專案擁有者可以變更標籤。您可以向員工宣導不要更動的項目,然後 (透過稽核記錄) 進行監控;或只向他們授予精細的權限,讓他們無法變更專案中繼資料。

您可以匯出至 JSON 和 CSV,但是我們建議直接匯出至 BigQuery。從帳單主控台的帳單匯出區段即可輕鬆設定。

如果每個成本中心必須為某些工作負載另外支付發票或以其他貨幣支付,則必須為各個成本中心設置獨立的帳單帳戶。不過這種方法需要每個帳單帳戶簽署關聯協議。