Cloud Billing のアクセス制御と権限

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

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

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

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

IAM の Cloud Billing ロールの概要

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

1 人のユーザーまたは 1 つのリソースに、1 つまたは複数のロールを付与できます。

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

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

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

ロール 権限

roles/billing.admin

請求先アカウントを表示、管理できる権限を付与します。

このロールを付与できる最下位レベルのリソース:

  • 請求先アカウント

33 個のオーナー権限を含む

billing.accounts.close

billing.accounts.get

billing.accounts.getCarbonInformation

billing.accounts.getIamPolicy

billing.accounts.getPaymentInfo

billing.accounts.getPricing

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.budgets.create
  • billing.budgets.delete
  • billing.budgets.get
  • billing.budgets.list
  • billing.budgets.update

billing.credits.list

billing.resourceAssociations.*

  • billing.resourceAssociations.create
  • billing.resourceAssociations.delete
  • billing.resourceAssociations.list

billing.subscriptions.*

  • billing.subscriptions.create
  • billing.subscriptions.get
  • billing.subscriptions.list
  • billing.subscriptions.update

cloudnotifications.activities.list

cloudsupport.properties.get

cloudsupport.techCases.*

  • cloudsupport.techCases.create
  • cloudsupport.techCases.escalate
  • cloudsupport.techCases.get
  • cloudsupport.techCases.list
  • cloudsupport.techCases.update

commerceoffercatalog.*

  • commerceoffercatalog.documents.get
  • commerceoffercatalog.offers.get

compute.commitments.*

  • compute.commitments.create
  • compute.commitments.get
  • compute.commitments.list
  • compute.commitments.update
  • compute.commitments.updateReservations

consumerprocurement.accounts.*

  • consumerprocurement.accounts.create
  • consumerprocurement.accounts.delete
  • consumerprocurement.accounts.get
  • consumerprocurement.accounts.list

consumerprocurement.consents.*

  • consumerprocurement.consents.check
  • consumerprocurement.consents.grant
  • consumerprocurement.consents.list
  • consumerprocurement.consents.revoke

consumerprocurement.orderAttributions.*

  • consumerprocurement.orderAttributions.get
  • consumerprocurement.orderAttributions.list
  • consumerprocurement.orderAttributions.update

consumerprocurement.orders.*

  • consumerprocurement.orders.cancel
  • consumerprocurement.orders.get
  • consumerprocurement.orders.list
  • consumerprocurement.orders.modify
  • consumerprocurement.orders.place

dataprocessing.datasources.get

dataprocessing.datasources.list

dataprocessing.groupcontrols.get

dataprocessing.groupcontrols.list

logging.logEntries.list

logging.logServiceIndexes.list

logging.logServices.list

logging.logs.list

logging.privateLogEntries.list

recommender.commitmentUtilizationInsights.*

  • recommender.commitmentUtilizationInsights.get
  • recommender.commitmentUtilizationInsights.list
  • recommender.commitmentUtilizationInsights.update

recommender.costInsights.*

  • recommender.costInsights.get
  • recommender.costInsights.list
  • recommender.costInsights.update

recommender.spendBasedCommitmentInsights.*

  • recommender.spendBasedCommitmentInsights.get
  • recommender.spendBasedCommitmentInsights.list
  • recommender.spendBasedCommitmentInsights.update

recommender.spendBasedCommitmentRecommendations.*

  • recommender.spendBasedCommitmentRecommendations.get
  • recommender.spendBasedCommitmentRecommendations.list
  • recommender.spendBasedCommitmentRecommendations.update

recommender.usageCommitmentRecommendations.*

  • recommender.usageCommitmentRecommendations.get
  • recommender.usageCommitmentRecommendations.list
  • recommender.usageCommitmentRecommendations.update

resourcemanager.projects.createBillingAssignment

resourcemanager.projects.deleteBillingAssignment

resourcemanager.projects.get

resourcemanager.projects.list

roles/billing.costsManager

請求先アカウントの予算を管理し、請求先アカウントの費用情報を表示、分析、エクスポートします。

このロールを付与できる最下位レベルのリソース:

  • 請求先アカウント

12 個のオーナー権限を含む

billing.accounts.get

billing.accounts.getIamPolicy

billing.accounts.getSpendingInformation

billing.accounts.getUsageExportSpec

billing.accounts.list

billing.accounts.updateUsageExportSpec

billing.budgets.*

  • billing.budgets.create
  • billing.budgets.delete
  • billing.budgets.get
  • billing.budgets.list
  • billing.budgets.update

billing.resourceAssociations.list

recommender.costInsights.*

  • recommender.costInsights.get
  • recommender.costInsights.list
  • recommender.costInsights.update

roles/billing.creator

請求先アカウントを作成するための権限を付与します。

このロールを付与できる最下位レベルのリソース:

  • 組織

1 つのオーナー権限を含む

billing.accounts.create

resourcemanager.organizations.get

roles/billing.projectManager

請求先アカウント ユーザーのロールと組み合わせて付与する場合、プロジェクトの請求先アカウントの割り当てと、請求の無効化を行うアクセス権が付与されます。

このロールを付与できる最下位レベルのリソース:

  • プロジェクト

2 つのオーナー権限を含む

resourcemanager.projects.createBillingAssignment

resourcemanager.projects.deleteBillingAssignment

roles/billing.user

プロジェクト オーナーのロールまたはプロジェクト支払い管理者のロールと組み合わせて付与する場合、プロジェクトと請求先アカウントを関連付けるためのアクセス権が付与されます。

このロールを付与できる最下位レベルのリソース:

  • 請求先アカウント

6 個のオーナー権限を含む

billing.accounts.get

billing.accounts.getIamPolicy

billing.accounts.list

billing.accounts.redeemPromotion

billing.credits.list

billing.resourceAssociations.create

roles/billing.viewer

請求先アカウントの費用と料金の情報、トランザクション、請求とコミットメントに関する推奨事項を表示します。

このロールを付与できる最下位レベルのリソース:

  • 請求先アカウント

14 個のオーナー権限を含む

billing.accounts.get

billing.accounts.getCarbonInformation

billing.accounts.getIamPolicy

billing.accounts.getPaymentInfo

billing.accounts.getPricing

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

commerceoffercatalog.*

  • commerceoffercatalog.documents.get
  • commerceoffercatalog.offers.get

consumerprocurement.accounts.get

consumerprocurement.accounts.list

consumerprocurement.consents.check

consumerprocurement.consents.list

consumerprocurement.orderAttributions.get

consumerprocurement.orderAttributions.list

consumerprocurement.orders.get

consumerprocurement.orders.list

dataprocessing.datasources.get

dataprocessing.datasources.list

dataprocessing.groupcontrols.get

dataprocessing.groupcontrols.list

recommender.commitmentUtilizationInsights.get

recommender.commitmentUtilizationInsights.list

recommender.costInsights.get

recommender.costInsights.list

recommender.spendBasedCommitmentInsights.get

recommender.spendBasedCommitmentInsights.list

recommender.spendBasedCommitmentRecommendations.get

recommender.spendBasedCommitmentRecommendations.list

recommender.usageCommitmentRecommendations.get

recommender.usageCommitmentRecommendations.list

IAM での組織、プロジェクト、Cloud 請求先アカウント、お支払いプロファイルの関係

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

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

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

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

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

Cloud 請求先アカウントは、プロジェクト 1、2、3 にリンクされています。これは、この請求先アカウントが 3 つのプロジェクトで発生した料金を支払うことを意味します。Cloud 請求先アカウントは、他の組織のプロジェクトに対する支払いもできますが、親組織から IAM 権限を継承します。

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

Cloud 請求先アカウントにプロジェクトをリンクしても、IAM の観点からは Cloud 請求先アカウントが親になることはありません。したがって、プロジェクトはリンクされている Cloud 請求先アカウントの権限を継承しません。

この例では、組織の 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 コンソールの [請求先アカウントを管理] ページにログインします。

    [請求先アカウントを管理] にログインする

  2. Cloud 請求先アカウントの行を選択して、情報パネルで請求先アカウントのプリンシパルと権限を確認します。情報パネルが表示されていない場合は、[情報パネルを表示] をクリックします

[アカウント管理] ページで Cloud 請求先アカウントの権限にアクセスすることもできます。

  1. Google Cloud コンソールで、Cloud 請求先アカウントの [アカウント管理] ページに移動します。

    Cloud Billing の [アカウント管理] に移動

  2. プロンプトで、表示する Cloud 請求先アカウントを選択します。

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

[権限] パネルはロールごとに整理され、各ロールを持つプリンシパルの数も表示されます。たとえば、権限パネルに次のように表示される場合があります。

  • 請求先アカウント管理者(2 個のプリンシパル)
  • 請求先アカウント ユーザー(6 個のプリンシパル)
  • 請求先アカウント閲覧者(10 個のプリンシパル)

同じプリンシパルに複数のロールを付与できます。

ロールに割り当てられているプリンシパルのリストを表示するには、ロールノードを開いて、プリンシパルのリストを表示します。

特定のプリンシパルを見つけて、そのプリンシパルに付与されているロールを確認するには、 フィルタを使用して、プリンシパルのメールアドレスを入力します。

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

  • 新しいプリンシパルメを追加して権限を割り当てるには:

    1. [プリンシパルを追加] をクリックします。
    2. [新しいプリンシパル] フィールドに、追加するプリンシパルのメールアドレスを入力します(複数のメールアドレスを入力することもできます)。個人、サービス アカウント、Google グループをプリンシパルとして追加できます。
    3. [ロールを選択] からプリンシパルの権限を選択します。
    4. 必要に応じて、別のロールを追加して、プリンシパルに追加のロールを付与できます。
    5. 完了したら、[保存] をクリックします。
  • プリンシパルの課金権限を編集するには:

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

      選択したプリンシパルとリソース(Cloud 請求先アカウント)に固有の [権限の編集] パネルが開きます。

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

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

  • プリンシパルのロールを取り消すには:

    1. フィルタを使用して、特定のプリンシパルまたはロールを検索します。
    2. リストで、ロールを取り消すプリンシパルを見つけます。
    3. プリンシパルの行で、[削除] をクリックします。
    4. 操作を確認するメッセージが表示されます。

使ってみる

Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。

無料で開始