API リクエストの承認

アプリケーションからプライベート データがリクエストされた場合は、そのデータへのアクセス権を持つ認証済みのユーザーによってそのリクエストが承認される必要があります。

アプリケーションから一般公開データがリクエストされた場合は、リクエストの承認は必要ありませんが、ID(API キーなど)を追加する必要があります。

アプリケーションが Google Cloud Billing API に送信する各リクエストには、承認済みのトークンを含める必要があります。このトークンは Google に対してアプリケーションの識別も行います。

承認プロトコルについて

アプリケーションは OAuth 2.0 を使用してリクエストを承認する必要があります。これ以外の承認プロトコルはサポートされていません。アプリケーションで Google ログインを使用している場合、承認作業の一部が代行されます。

OAuth 2.0 を使用したリクエストの承認

Google Cloud Billing API に対するすべてのリクエストは、認証済みのユーザーによって承認される必要があります。

OAuth 2.0 の認証プロセス、つまり「フロー」の詳細は、開発するアプリケーションの種類によって若干異なりますが、次の一般的なプロセスは、すべての種類のアプリケーションに当てはまります。

  1. アプリケーションを作成した場合は、Google Cloud Platform Console を使用してアプリケーションを登録します。後で必要になるクライアント ID やクライアント シークレットなどの情報が Google から提供されます。
  2. Google Cloud Platform Console で、Google Cloud Billing API を有効にします(API が GCP Console に表示されない場合、この手順は省略します)。
  3. アプリケーションがユーザーデータにアクセスする必要がある場合は、アクセスの範囲を Google にリクエストします。
  4. データをリクエストするアプリケーションの承認を求める Google の同意画面がユーザーに表示されます。
  5. ユーザーが承認すると、Google はアプリケーションに有効期間が短いアクセス トークンを付与します。
  6. アプリケーションはリクエストにそのアクセス トークンを付けて、ユーザーデータをリクエストします。
  7. Google によりリクエストとトークンが有効であると判断されると、リクエストしたデータが返されます。

新しいアクセス トークンを取得するためにリフレッシュ トークンを使用するなど、承認フローには追加のステップがあります。アプリケーションによって異なるフローの詳細については、Google の OAuth 2.0 ドキュメントをご覧ください。

Google Cloud Billing API の OAuth 2.0 スコープ情報は以下になります。

スコープ 意味
https://www.googleapis.com/auth/cloud-platform Google Cloud Platform サービス全体のデータを表示、管理するためにアクセスします。これは、すべての Google Cloud Billing API メソッドを呼び出すのに十分な、最も範囲の広いスコープです。このスコープには cloud-billingcloud-billing.readonly が含まれるため、このスコープがある場合はどちらも必要ありません。
https://www.googleapis.com/auth/cloud-billing Google Cloud Platform の請求先アカウントを表示、管理するためにアクセスします。このスコープは cloud-platform より適用範囲が狭いですが、cloud-billing.readonly より適用範囲が広く、またこれを含んでいます。
https://www.googleapis.com/auth/cloud-billing.readonly Google Cloud Platform の請求先アカウントを表示するためにアクセスします。最も適用範囲の狭いスコープです。このスコープは、請求先アカウントの取得または一覧表示のみが必要であり、ProjectBillingInfo リソースの取得、更新は必要ない場合に使用できます。

OAuth 2.0 を使用してアクセスをリクエストするには、アプリケーションの登録時に Google より提供される情報(クライアント ID やクライアント シークレットなど)の他に、スコープ情報が必要です。

このページは役立ちましたか?評価をお願いいたします。