Cloud Billing Budget API の設定

このガイドでは、Cloud Billing Budget API の使用開始に必要な設定手順について説明します。

始める前に

このガイドを読む前に、次の手順を行ってください。

  1. Cloud Billing Budget API の概要をご覧ください。
  2. Cloud Billing Budget API の前提条件をご覧ください。

Cloud Console について

Google Cloud Console(ドキュメントを表示コンソールを開く)は、Google Cloud プロダクトを使用するシステムのプロビジョニング、構成、管理、モニタリングに使用されるウェブ UI です。Cloud Console を使用して、Google Cloud と Cloud Billing リソースを設定して管理します。

1. プロジェクトを選択または作成する

Google Cloud が提供するサービスを使用するには、プロジェクトを作成する必要があります。プロジェクトを使用して、すべての Google Cloud のリソースがまとめられます。プロジェクトは、共同編集者、有効化された API などのリソース、モニタリング ツール、お支払い情報、認証とアクセス制御で構成されます。1 つのプロジェクトを作成できるほか、複数のプロジェクトを作成してリソース階層内で Google Cloud リソースを構成することもできます。プロジェクトの詳細については、Resource Manager ドキュメントをご覧ください。

推奨: Cloud Billing Budget API など、請求管理に必要なリソースを格納する単独のプロジェクトを別に構成することをおすすめします。請求管理用の Google Cloud プロジェクトは、Cloud Billing API へのアクセス、Cloud Billing データのエクスポートプログラムによる予算通知の Pub/Sub チャンネルにも使用できます。

Cloud Console のプロジェクト セレクタページで、Cloud プロジェクトを選択または作成します。

プロジェクト セレクタのページに移動

2. 課金を有効にする

Cloud Billing Budget API の呼び出しに使用しているプロジェクトで課金が有効になっていることを確認する必要があります。プロジェクト セクションの推奨事項に従っている場合、これは請求管理用の Google Cloud プロジェクトです。

Cloud 請求先アカウントは、特定の Google Cloud リソースセットに対する支払いを誰が行うかの定義に使用されます。有効になっている API などのリソースは、プロジェクトに整理されています。Cloud 請求先アカウントは、1 つ以上のプロジェクトにリンクできます。プロジェクトの利用料金は、リンクされた請求先アカウントに請求されます。ほとんどの場合、プロジェクトの作成時に請求情報を構成します。詳細については、お支払いとご請求に関するドキュメントをご覧ください。

Cloud 請求先アカウントをモニタリングする Cloud Billing 予算を設定します。モニタリングする Cloud 請求先アカウントは、Cloud Billing Budget API の呼び出しに使用するプロジェクトにリンクされている Cloud 請求先アカウントと同じものでもかまいません。Google Cloud のお客様は、Cloud Billing Budget API を無料で使用できます。プログラムによる予算通知を構成すると、標準の Pub/Sub 料金が課金されます。

Google Cloud プロジェクトに対して課金が有効になっていることを確認します。 プロジェクトに対して課金が有効になっていることを確認する方法を学習する

3. API を有効にする

Cloud Billing Budget API の呼び出しに使用しているプロジェクトで Cloud Billing Budget API を有効にする必要があります。プロジェクト セクションの推奨事項に従っている場合、これは請求管理用の Google Cloud プロジェクトです。

API の有効化の詳細については、サービス使用状況のドキュメントをご覧ください。

Cloud Billing Budget API を有効にします。

API を有効にする

4.認証を設定する

Cloud Billing Budget API を使用する場合は、認証を設定する必要があります。API を使用するクライアント アプリケーションはすべて、認証の対象であり、リクエストされるリソースへのアクセス権が付与されている必要があります。このセクションでは、認証の重要なコンセプトと設定手順について説明します。詳細については、GCP 認証の概要をご覧ください。

サービス アカウントについて

認証には複数のオプションがありますが、認証とアクセス制御にサービス アカウントを使用することをおすすめします。サービス アカウントでは、エンドユーザーではなく、アプリケーションの資格情報が提供されます。

サービス アカウントはプロジェクトで所有されます。1 つのプロジェクトに対して多数のサービス アカウントを作成できます。詳しくは、サービス アカウントをご覧ください。

役割について:

ID(サービス アカウント)が API を呼び出す場合、その ID が適切な権限を持つ必要があります。権限を付与するには、サービス アカウントにロールを付与します。詳細は、Cloud Identity and Access Management のドキュメントをご覧ください。

Cloud Billing Budget API メソッドをすべて使用する場合は、Cloud Billing Budget API で予算管理を行う Cloud 請求先アカウントのメンバーとしてサービス アカウントを追加し、このアカウントに適切なロールを割り当てる必要があります。

予算通知をプログラムで行うように Pub/Sub トピックを構成する場合は、Pub/Sub トピックのあるプロジェクトのメンバーとしてサービス アカウントを追加し、このアカウントに Cloud IAM セキュリティ管理者のロールを割り当てる必要があります。このロールを付与することにより、サービス アカウントはトピックに Pub/Sub パブリッシャーのロールを付与し、Cloud Billing にメッセージの公開を許可できます。

Cloud Billing API 固有のロールについては、Cloud Billing API のアクセス制御のドキュメントをご覧ください。

サービス アカウントキーについて

サービス アカウントは、1 つまたは複数の公開鍵と秘密鍵のペアに関連付けられます。新しい鍵ペアを作成すると、秘密鍵がダウンロードされます。秘密鍵は、API の呼び出し時に認証情報の生成に使用されます。秘密鍵のセキュリティと、キーのローテーションなどの他の管理操作は、ユーザーの責任になります。

A. サービス アカウントを作成し、秘密鍵ファイルをダウンロードする

サービス アカウントは、Cloud Billing Budget API を登録したプロジェクトと同じプロジェクトで作成する必要があります。プロジェクト セクションの推奨事項に従っている場合、これは請求管理用の Google Cloud プロジェクトです。

  1. Cloud Console で、[サービス アカウント キーの作成] ページに移動します。

    [サービス アカウントキーの作成] ページに移動
  2. [サービス アカウント] リストから [新しいサービス アカウント] を選択します。
  3. [サービス アカウント名] フィールドに名前を入力します。
  4. [ロール] リストから値を選択しないでください(このサービス アカウントはプロジェクト リソースを管理しません)。後で、Cloud 請求先アカウントの予算管理に必要な権限をサービス アカウントに付与します。
  5. [作成] をクリックします。このサービス アカウントにはロールがないという警告メッセージが表示されます。
  6. [ロールなしで作成] をクリックします。キーを含む JSON ファイルが PC にダウンロードされます。

B. サービス アカウントに Cloud Billing Budget API の使用権限を付与する

Cloud Billing と Cloud IAM のロールをサービス アカウントに付与し、Cloud 請求先アカウントのすべての予算に Cloud Billing Budget API のすべてのメソッドを使用するための権限を割り当てます。

  1. ダウンロードした json ファイルで、キー client_email を使用してサービス アカウントのメールアドレスを検索します。このメールは service-account-name@project-id.iam.gserviceaccount.com のようになります。
  2. Cloud Console で、請求アカウントの管理ページに移動し、以下の手順に従ってサービス アカウントの請求権限を更新します
  3. オプション: プログラムによる通知を使用するように予算を構成する場合は、Pub/Sub トピック があるプロジェクトIAM 権限を割り当てる必要があります(プロジェクト セクションの推奨事項に従っている場合は、請求管理用の Google Cloud プロジェクトになります)。
    1. Console のナビゲーション メニュー()を開き、[IAM と管理] > [IAM] の順にクリックします。
    2. [権限] タブで、Pub/Sub トピックのあるプロジェクトの権限が表示されていることを確認します。プロジェクト「My Cloud Billing Admin Project」の権限 のようなヘッドラインがページに表示されます。
    3. サービス アカウントのメールアドレスをプロジェクトのメンバーとして追加し、サービス アカウントのメンバーに Cloud IAM セキュリティ管理者のロールを割り当てます。
      1. [追加] をクリックします。
      2. [新しいメンバー] フィールドに、サービス アカウントのメールアドレスを入力します。
      3. [ロールの選択] プルダウンで、スクロールするかフィルタを使用して IAM まで移動し、セキュリティ管理者のロールを選択します。

C. 環境でサービス アカウント キー ファイルを使用する

環境変数 GOOGLE_APPLICATION_CREDENTIALS を設定して、アプリケーション コードに認証情報を指定します。[PATH] を、サービス アカウント キーが含まれる JSON ファイルのパスに置き換え、[FILE_NAME] をファイル名に置き換えます。この変数は現在のシェル セッションにのみ適用されるため、新しいセッションを開く場合は、変数を再度設定してください。

Linux または macOS

export GOOGLE_APPLICATION_CREDENTIALS="[PATH]"

例:

export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/[FILE_NAME].json"

Windows

PowerShell を使用する場合:

$env:GOOGLE_APPLICATION_CREDENTIALS="[PATH]"

例:

$env:GOOGLE_APPLICATION_CREDENTIALS="C:\Users\username\Downloads\[FILE_NAME].json"

コマンド プロンプトを使用する場合:

set GOOGLE_APPLICATION_CREDENTIALS=[PATH]

5. Cloud SDK をインストールし、初期化する

Cloud Billing Budget API を使用する場合は、Cloud SDK をインストールして初期化する必要があります。Cloud SDK は、Google Cloud でホストされるリソースやアプリケーションの管理に使用できる一連のツールです。これには、gcloud コマンドライン ツールが含まれます。次のリンクで手順を説明します。

Cloud SDK をインストールし、初期化します

6 SDK と認証をテストする

前の手順で認証を設定した場合は、gcloud ツールを使用して認証環境をテストできます。次のコマンドを実行し、エラーが発生せず、認証情報が返されることを確認します。

gcloud auth application-default print-access-token

このコマンドは、Cloud Billing Budget API のコマンドライン REST サンプルのすべてで API 呼び出しの認証に使用されます。

7. Cloud Billing Budget API クライアント ライブラリをインストールする

Cloud Billing Budget API は HTTP と JSON を基に構築されているため、標準の HTTP クライアントであれば、この API にリクエストを送信してレスポンスを解析できます。

API を呼び出すには、次の 3 つのオプションがあります。

  • Google がサポートするクライアント ライブラリ(推奨)

    クライアント ライブラリでは、言語の統合性が高く、セキュリティも強化されています。また、ユーザーの承認が必要な呼び出しもサポートしています。Google がサポートするクライアント ライブラリは、複数のよく使われている言語で利用できます。このライブラリを使用することをおすすめします。

  • REST

  • gRPC