Cloud Billing のアクセス制御の概要

Cloud Billing では、リソースに対して Identity and Access Management(IAM)ポリシーを設定することにより、指定されたリソースに対する管理権限と費用の表示権限を持つユーザーを制御できます。

Cloud Billing へのアクセスを許可または制限するには、組織レベル、Cloud 請求先アカウント レベル、プロジェクトのいずれかまた複数に IAM ポリシーを設定します。Google Cloud リソースは、その親ノードの IAM ポリシーを継承します。つまり、組織レベルでポリシーを設定すると、組織内のすべての Cloud 請求先アカウント、プロジェクト、リソースにポリシーが適用されます。

Cloud 請求先アカウント レベルまたはプロジェクト レベルでアクセス権を設定することにより、ユーザーまたはロールごとに異なるレベルで表示権限を制御できます。ユーザーが Cloud 請求先アカウントのすべてのプロジェクトの費用を表示できるようにするには、Cloud 請求先アカウントの費用の表示権限(billing.accounts.getSpendingInformation)をユーザーに付与します。ユーザーが特定のプロジェクトの費用を表示できるようにするには、個々のプロジェクトの表示権限(billing.resourceCosts.get)をユーザーに付与します。

IAM の Cloud Billing ロールの概要

ユーザーには権限を直接付与するのではなく、ロールを割り当てます。ロールには、1 つ以上の権限が組み込まれています。

同じリソースに 1 つ以上の役割を付与できます。

以下の事前定義 Cloud Billing IAM ロールは、アクセス制御を使用して職務を分離できるように設計されています。

役割 目的 レベル ユースケース
請求先アカウント作成者
roles/billing.creator
新しいセルフサービス請求先アカウントを作成します。 組織 このロールは、初回の請求設定または追加の請求先アカウントの作成に使用します。
会社の ID を使用して Google Cloud にクレジット カードを登録する場合、このロールが必要です。
ヒント: このロールを持つユーザーの数を最小限に抑えると、追跡されないクラウド利用が組織内で拡散しないようにするうえで助けになります。
請求先アカウント管理者
roles/billing.admin
請求先アカウントを管理します(ただし、作成しません)。 組織または請求先アカウント。 このロールは、請求先アカウントのオーナーロールです。このロールは、支払い方法の管理、請求のエクスポートの構成、費用情報の表示、プロジェクトのリンクとリンク解除、請求先アカウントの他のユーザーロールの管理に使用します。
請求先アカウント ユーザー
roles/billing.user
プロジェクトを請求先アカウントにリンクします。 組織または請求先アカウント。 このロールの権限は大きく制限されているため、一般的にはプロジェクト作成者と組み合わせるなど、さまざまなユーザーに持たせることができます。これらの 2 つのロールにより、ロールが付与されている請求先アカウントにリンクされた新規プロジェクトを作成できます。
請求先アカウント閲覧者
roles/billing.viewer
請求先アカウントの費用情報とトランザクションを表示します。 組織または請求先アカウント。 請求先アカウント ビューアへのアクセス権は、通常、財務チームに付与されます。これにより、利用額情報を利用するためのアクセス権は与えられますが、プロジェクトのリンクやリンク解除、またはアカウントのプロパティの管理権限は付与されません。
プロジェクト支払い管理者
roles/billing.projectManager
プロジェクトを請求先アカウントにリンクまたはリンク解除します。 組織、フォルダ、プロジェクト。 このロールを使用すると、ユーザーはプロジェクトを請求先アカウントにリンクできますが、リソースに対する権限は与えられません。プロジェクト オーナーはこのロールを使用して、任意のユーザーに、リソースへのアクセス権を付与することなく、プロジェクトの請求を管理する権限を与えることができます。

次の表に、事前定義 IAM Billing ロールの詳細(各ロールにバンドルされた権限を含む)を示します。

ロール 役職 説明 権限 最下位のリソース
roles/billing.admin 請求先アカウント管理者 請求先アカウントを表示、管理できる権限を付与します。
  • 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.accounts.create
  • resourcemanager.organizations.get
組織
roles/billing.projectManager プロジェクト支払い管理者 プロジェクトの請求先アカウントの割り当てと、請求の無効化を行う権限を付与します。
  • resourcemanager.projects.createBillingAssignment
  • resourcemanager.projects.deleteBillingAssignment
プロジェクト
roles/billing.user 請求先アカウント ユーザー プロジェクトに請求先アカウントを関連付けるための権限を付与します。
  • billing.accounts.get
  • billing.accounts.getIamPolicy
  • billing.accounts.list
  • billing.accounts.redeemPromotion
  • billing.credits.*
  • billing.resourceAssociations.create
請求先アカウント
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.*
  • 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 請求先アカウント、お支払いプロファイルの関係

組織、Cloud 請求先アカウント、プロジェクト間の相互作用は、所有権と支払いリンクという 2 つのタイプの関係によって管理されます。

  • 所有権とは、IAM 権限の継承を指します。
  • 支払いリンクは、特定のプロジェクトの支払いを行う Cloud 請求先アカウントを定義します。

次の図は、ある組織の所有権と支払いリンクの関係を示しています。

プロジェクトが Cloud Billing とお支払いプロファイルとどのように関連しているかを示します。片方にはクラウドレベルのリソース(Cloud 請求先アカウントと関連付けられたプロジェクト)が表示され、もう片方には縦の破線で区切られた Google レベルのリソース(お支払いプロファイル)が表示されます。プロジェクトでは、お支払いプロファイルにリンクされている Cloud 請求先アカウントに対して支払われます。

この図では、組織はプロジェクト 1、2、3 の所有権を持ちます。つまり、この組織は 3 つのプロジェクトの IAM 権限の親となっています。

Cloud 請求先アカウントは、プロジェクト 1、2、3 にリンクされています。これは、この請求先アカウントが 3 つのプロジェクトで発生した料金を支払うことを意味します。

Cloud 請求先アカウントには Google お支払いプロファイルもリンクされています。このプロファイルには、氏名、住所、お支払い方法などの情報が記録されています。

この例では、組織の IAM 請求のロールが付与されているユーザーには、Cloud 請求先アカウントやプロジェクトの請求のロールも割り当てられます。

Cloud Billing のアクセス制御の例

IAM ロールを次のように組み合わせると、さまざまなシナリオのニーズを満たすことができます。

シナリオ: 集中管理を好む中小企業。
ユーザーの種類 Billing IAM ロール 請求処理
CEO 請求先アカウント管理者 支払い方法を管理する。
請求書を表示および承認する。
CTO(最高技術責任者) 請求先アカウント管理者
プロジェクト作成者
予算アラートを設定する。
利用額を表示する。
新しい請求可能なプロジェクトを作成する。
開発チーム なし なし
シナリオ:委任された権限を優先する中小企業。
ユーザーの種類 Billing IAM ロール 請求処理
CEO 請求先アカウント管理者 支払い方法を管理する。
権限を委任する。
CFO 請求先アカウント管理者 予算アラートを設定する。
利用額を表示する。
買掛金部門 請求先アカウント閲覧者 請求書を表示および承認する。
開発チーム 請求先アカウント ユーザー
プロジェクト作成者
新しい請求可能なプロジェクトを作成する。
シナリオ: 財務計画と調達機能の分離
ユーザーの種類 Billing IAM ロール 請求処理
調達または中央 IT 請求先アカウント管理者 支払い方法を管理する。
予算アラートを設定する。
開発チームに利用額を通知する。
財務計画 請求先アカウント閲覧者 請求レポートを表示する。
エクスポートを処理する。
CxO と連絡を取る。
買掛金部門 請求先アカウント閲覧者 請求書を承認する。
開発チーム 請求先アカウント ユーザー
プロジェクト作成者
新しい請求可能なプロジェクトを作成する。
シナリオ: 開発部門
ユーザーの種類 Billing IAM ロール 請求処理
CEO 請求先アカウント管理者 支払い方法を管理する。
権限を委任する。
CFO 請求先アカウント管理者 予算アラートを設定する。
利用額を表示する。
請求書を承認する。
プロジェクト リーダー 請求先アカウント ユーザー
プロジェクト作成者
新しい請求可能なプロジェクトを作成する。
プロジェクト開発チーム なし 既存のプロジェクト内で開発する。
お客様 プロジェクト支払い管理者 プロジェクト完了時に、プロジェクトの支払い所有権を取得する。

Cloud Billing の権限を更新する

Cloud Billing の権限を追加または削除するには:

  1. Google Cloud Console にログインします。

    Cloud Console にログインする

  2. Cloud Console のナビゲーション メニューを開き、[お支払い] をクリックします。

    複数の Cloud 請求先アカウントがある場合は、次のいずれかを行います。

    • 現在のプロジェクトの Cloud Billing を管理するには、[リンクされた請求先アカウントに移動] を選択します。
    • 別の Cloud 請求先アカウントを見つけるには、[請求先アカウントを管理] を選択し、管理するアカウントを選択します。
  3. [お支払い] ナビゲーション メニューで [アカウント管理] をクリックします。

  4. [権限] パネルを使用して、選択した Cloud 請求先アカウントの権限を編集します。[情報パネル] が表示されていない場合は、[情報パネルを表示] をクリックします

[権限] パネルはロールごとに整理され、ロールごとにメンバーが表示されます。たとえば、権限パネルに次のように表示される場合があります。

  • 請求先アカウント管理者(2 人)
  • 請求先アカウント ユーザー(6 人)
  • 請求先アカウント閲覧者(10 人)

同じメンバーを複数のロールに割り当てることができます。

対応するロールのメンバーのリストを表示するには、ロール名をクリックして、そのロールに割り当てられているメンバーのリストを展開します(または折りたたみます。

特定のメンバーを見つけて、そのメンバーに割り当てられているロールを確認するには、メンバーの検索フィルタを使用します。

Cloud Billing 権限を更新するには、[権限] パネルで次のいずれかの操作を行います。

  • 新しいメンバーを追加して権限を割り当てるには:

    1. [メンバーを追加] をクリックします。
    2. [新しいメンバー] フィールドに、追加するメンバーの 1 つ以上のメールアドレスを入力します。個人、サービス アカウント、Google グループをメンバーとして追加できます。
    3. [ロールを選択] からメンバーの権限を選択します。
    4. ロールに条件を設定します(省略可)。
    5. 必要に応じて、別のロールを追加して、メンバーに追加の権限を割り当てます。
    6. 完了したら、[保存] をクリックします。
  • メンバーの課金権限を編集するには:

    1. メンバーの検索フィルタを使用して、特定のメンバーまたはロールを検索します。
    2. リストで、編集するメンバーを探します。
    3. メンバーの行で、[編集]()をクリックします。

      選択したメンバーまたはリソース(Cloud 請求先アカウント)に固有の [権限の編集] パネルが表示されます。

    4. [権限の編集] パネルで、選択したメンバーとリソースの役割を追加、編集、削除します。

    5. 完了したら、[保存] をクリックします。

  • メンバーのロールリストからメンバーを削除するには:

    1. メンバーの検索フィルタを使用して、特定のメンバーまたはロールを検索します。
    2. リストで、ロールから削除するメンバーを探します。
    3. メンバーの行で、[削除]()をクリックします。
    4. 操作を確認するメッセージが表示されます。