Cloud 請求先アカウントのカスタムロールを作成する

Identity and Access Management(IAM)では、権限をきめ細かく設定できます。個々のユーザーの特定の操作に対してアクセス権の付与や取り消しを行うことができます。IAM のロールは、このような権限を関連グループにまとめたものです。これにより、ユーザーへの権限の割り当てを簡単に行うことができます。請求関連のロールも事前に定義されています。たとえば、請求先アカウント管理者や請求先アカウント閲覧者などは、ほとんどのユーザーに適したロールです。事前定義の役割では十分でない場合は、カスタム役割を使用することで、権限をきめ細かく設定できます。

カスタムロールの作成

カスタムロールは組織に作成します。このロールは組織内の任意の請求先アカウントに適用されます。カスタムロールの構成方法と必要な権限については、IAM ドキュメントのカスタムロールの作成と管理をご覧ください。

カスタムロールを作成した後は、事前定義された標準のロールと同様にカスタムロールを付与できます。請求権限の更新方法については、こちらをご覧ください

カスタムロールの例

予算アラートや請求データのエクスポートなど、コスト管理機能を編集する場合について考えてみましょう。必要なアクセス権は次のとおりです。

  • billing.budgets.create
  • billing.budgets.update
  • billing.accounts.updateUsageExportSpec

事前定義ロールを使用する場合、これらの権限を適用するには、請求先アカウント管理者ロールを付与する必要があります。ただし、この役割には、リソースの関連付けの解除、定期購入の取り消し、請求先アカウントの終了なども含まれます。これらの機能をユーザーに実行させない場合は、必要な 3 つの権限のみを含むカスタムロールを作成し、「コスト管理管理者」という名前を付けます。次に、全体的なコスト管理に必要な権限があっても、他のアカウントのプロファイルを編集する権限がない場合は、請求先アカウント閲覧者のロールと組み合わせたカスタムロールを適用できます。

権限の関連付けと継承

課金権限は、請求先アカウント レベルまたはプロジェクト レベルで付与できます。ほとんどの課金許可は請求先アカウントに属しています。これらの権限を含む役割は、請求先アカウントに関連付ける必要があります。他の課金権限はプロジェクトに属し、請求先アカウントではなくプロジェクトに関連付ける必要があります。

たとえば、プロジェクトに請求先アカウントを関連付けるには、請求先アカウントの billing.resourceAssociations.create 権限とプロジェクトの resourcemanager.projects.createBillingAssignment 権限が必要です。プロジェクトのオーナーがアクセス制御を行う場合はプロジェクトの権限が必要ですが、請求先アカウント管理者がアクセス制御を行うには請求先アカウントの権限が必要になります。両方の操作を行うには、両方の権限が必要です。

他の IAM 権限と同様に、請求権限は請求階層の上位から継承されます。たとえば、組織の billing.accounts.close を含むロールを持つユーザーは、その組織内の請求先アカウントを終了できます。ただし、一部の権限は上位レベルにのみ適用されます。たとえば、billing.accounts.list 権限を個々の請求先アカウントに適用しても何も実行されませんが、組織の billing.accounts.list を含むロールを持つユーザーは、その組織内のすべての請求先アカウントの一覧を表示できます。

請求処理

次の表に、一般的な課金処理、処理の実行に必要な権限、権限が適用されるリソースを表示します。

アカウントの管理

操作 権限 リソース
基本的なアカウント情報(アカウント名、通貨、アカウントのオープン / クローズなど)を取得する billing.accounts.get 請求先アカウント
無料トライアルからのアップグレード billing.accounts.update 請求先アカウント
アカウント名の変更 billing.accounts.update 請求先アカウント
注文番号の変更 billing.accounts.update 請求先アカウント
アカウントの削除 billing.accounts.close 請求先アカウント
閉鎖したアカウントの再開 billing.accounts.reopen 請求先アカウント

請求先アカウントの階層

操作 権限 リソース
組織内のアカウントの一覧 billing.accounts.list 組織
組織でアカウントの作成 billing.accounts.create 組織
組織へのアカウントの移動 billing.accounts.create 組織
billing.accounts.move 請求先アカウント
組織間でのアカウントの移動 billing.accounts.removeFromOrganization 前の組織
billing.accounts.create 新しい組織
billing.accounts.move 請求先アカウント

お支払い情報

お支払いプロファイルには、お客様の氏名、住所、お支払い方法が含まれます。

操作 権限 リソース
お支払いプロファイルの表示 billing.accounts.getPaymentInfo 請求先アカウント
お支払いプロファイルの更新 billing.accounts.updatePaymentInfo 請求先アカウント
利用が発生済みの SKU の料金のみを表示する billing.accounts.getPricing 請求先アカウント
請求先アカウントの SKU ごとのカスタム契約料金を表示する billing.accounts.getPricing 請求先アカウント
請求先アカウントの費用と使用状況の表示* billing.accounts.getSpendingInformation 請求先アカウント
プロジェクトの費用と使用状況の表示* billing.resourceCosts.get プロジェクト
resourcemanager.projects.get プロジェクト

リソースの関連付け

請求先アカウント間でプロジェクトを移動するには、元の請求先アカウントからプロジェクトを削除し、新しい請求先アカウントに関連付ける場合と同じ権限が必要になります。

操作 権限 リソース
プロジェクトの関連付けの表示 billing.resourceAssociations.list 請求先アカウント
resourcemanager.projects.get プロジェクト
プロジェクトと請求先アカウントの関連付け billing.resourceAssociations.create 請求先アカウント
resourcemanager.projects.createBillingAssignment プロジェクト
請求先アカウントからのプロジェクトの削除 billing.resourceAssociations.delete 請求先アカウント
resourcemanager.projects.deleteBillingAssignment プロジェクト

予算と費用のアラート

操作 権限 リソース
Cloud 請求先アカウントの予算のリストを表示する billing.budgets.get 請求先アカウント
billing.budgets.list 請求先アカウント
Cloud 請求先アカウントにスコープ設定された予算を更新する billing.budgets.update 請求先アカウント
Cloud 請求先アカウントの予算を作成する billing.budgets.create 請求先アカウント
単一プロジェクトにスコープ設定された予算のリストを表示する resourcemanager.projects.get プロジェクト
billing.resourceCosts.get プロジェクト
billing.resourcebudgets.read プロジェクト
1 つのプロジェクトを対象とする予算を更新する resourcemanager.projects.get プロジェクト
billing.resourceCosts.get プロジェクト
billing.resourcebudgets.read プロジェクト
billing.resourcebudgets.write プロジェクト
単一プロジェクトにスコープを設定された予算を作成する resourcemanager.projects.get プロジェクト
billing.resourceCosts.get プロジェクト
billing.resourcebudgets.read プロジェクト
billing.resourcebudgets.write プロジェクト

クレジットとプロモーション

操作 権限 リソース
クレジット リストの表示(元の金額と残額を含む) billing.credits.list 請求先アカウント
プロモーション コードの利用 billing.accounts.redeemPromotion 請求先アカウント
billing.accounts.update 請求先アカウント

ポリシー

ポリシーでは、請求先アカウントにアクセスを許可するユーザーとリソースを定義します。カスタム役割の作成または変更の詳細については、上のカスタム役割の作成をご覧ください。

操作 権限 リソース
アカウントの役割の表示(関連するユーザー名を含む) billing.accounts.getIamPolicy 請求先アカウント
アカウントのユーザーへの役割の付与 billing.accounts.setIamPolicy 請求先アカウント

エクスポート仕様

エクスポート仕様では、すべての使用状況関連データのコピーを送信する場所を定義します。BigQuery データセットの名前を含めることができます。

操作 権限 リソース
現在のエクスポート仕様の表示(使用状況データをエクスポートする Cloud Storage バケットまたは BigQuery データセット) billing.accounts.getUsageExportSpec 請求先アカウント
エクスポートの仕様変更 billing.accounts.updateUsageExportSpec 請求先アカウント