アプリケーションから限定公開データがリクエストされた場合は、そのデータへのアクセス権を持つ認証済みのユーザーによってそのリクエストが認可される必要があります。
アプリケーションから一般公開データがリクエストされた場合は、リクエストの承認は必要ありませんが、ID(API キーなど)を追加する必要があります。
アプリケーションによって Resource Manager API に送信されるすべてのリクエストは、API によりアプリケーションを Google に対して識別する必要があります。アプリケーションを識別する方法には、OAuth 2.0 トークンを使用する(リクエストの承認も行う)方法と、アプリケーションの API キーを使用する方法があります(この 2 つは併用できます)。これらのオプションのどちらを使用するかを決定する方法は次のとおりです。
- リクエストに承認が必要である場合(個人の限定公開データについてのリクエストなど)、アプリケーションはリクエストとともに OAuth 2.0 トークンを提供する必要があります。アプリケーションが API キーも提供することがありますが、これは必須ではありません。
- リクエストに承認が必要でない場合(一般公開データについてのリクエストなど)、アプリケーションは API キーまたは OAuth 2.0 トークンのいずれか、または両方を提供する必要があります。
認証プロトコルについて
アプリケーションは OAuth 2.0 を使用してリクエストを承認する必要があります。これ以外の承認プロトコルはサポートされていません。アプリケーションで「Google でログイン」を使用している場合、承認手続きの一部が自動化されます。
OAuth 2.0 を使用したリクエストの承認
非公開のユーザーデータに対する Resource Manager API へのリクエストは、認証済みユーザーによって承認される必要があります。
OAuth 2.0 の認証プロセス、つまり「フロー」の詳細は、開発するアプリケーションの種類によって若干異なりますが、次の一般的なプロセスは、すべての種類のアプリケーションに当てはまります。
- アプリケーションを作成した場合は、Google Cloud Console を使用してそのアプリケーションを登録します。後で必要になるクライアント ID やクライアント シークレットなどの情報は、Google から提供されます。
- Google Cloud コンソールで Resource Manager API を有効にします(Google Cloud コンソールに API が表示されていない場合は、この手順をスキップしてください)。
- アプリケーションがユーザーデータにアクセスする必要がある場合は、アクセスの範囲を Google にリクエストします。
- データをリクエストするアプリケーションの承認を求める Google の同意画面がユーザーに表示されます。
- ユーザーが承認すると、Google はアプリケーションに有効期間が短いアクセス トークンを付与します。
- アプリケーションはリクエストにそのアクセス トークンを付けて、ユーザーデータをリクエストします。
- Google によりリクエストとトークンが有効であると判断されると、リクエストしたデータが返されます。
新しいアクセス トークンを取得するためにリフレッシュ トークンを使用するなど、承認フローには追加のステップがあります。各種アプリケーションのフローについて詳しくは、Google の OAuth 2.0 ドキュメントをご覧ください。
以下は、Resource Manager API の OAuth 2.0 のスコープに関する情報です。
スコープ | 意味 |
---|---|
https://www.googleapis.com/auth/cloud-platform |
読み取り / 書き込みアクセス。 |
OAuth 2.0 を使用してアクセスをリクエストするには、アプリケーションの登録時に Google より提供された情報(クライアント ID やクライアント シークレットなど)の他に、このスコープの情報が必要です。
ヒント: Google API クライアント ライブラリによって、承認プロセスの一部が処理されることがあります。さまざまなプログラミング言語で利用できます。詳細についてはライブラリとサンプルのページをご覧ください。
API キーの取得と使用
Resource Manager API への一般公開データのリクエストには、識別子(API キーまたはアクセス トークン)が含まれている必要があります。
API キーを取得するには:
- Google Cloud コンソールの認証情報ページを開きます。
-
この API は 2 種類の認証情報をサポートします。プロジェクトに適したいずれかの認証情報を作成します。
-
OAuth 2.0: アプリケーションからユーザーの限定公開データをリクエストする場合は、リクエストとともに OAuth 2.0 トークンを送信する必要があります。アプリケーションは、トークンを取得するためにまずクライアント ID を送信します。場合によってはクライアント シークレットも送信します。ウェブ アプリケーション、サービス アカウント、インストールしたアプリケーションについて OAuth 2.0 認証情報を生成できます。
詳細については、OAuth 2.0 ドキュメントをご覧ください。
-
API キー: OAuth 2.0 トークンが提供されないリクエストでは、API キーを送信する必要があります。 キーによりプロジェクトが識別され、API アクセス、割り当て、レポートが提供されます。
API は、いくつかのタイプの API キーをサポートします。必要とする API キーのタイプが存在しない場合は、[認証情報作成] > [API キー] をクリックして、コンソールで API キーを作成します。本番環境でそれを使用する前にキーを制限するには、[キーを制限] をクリックして、いずれかの制限を選択します。
-
API キーの安全性を保つには、API キーを安全に使用するためのおすすめの方法に従ってください。
API キーを作成したら、アプリケーションですべてのリクエスト URL の末尾にクエリ パラメータ key=yourAPIKey
を追加できます。
API キーは URL に埋め込んでも安全です。エンコーディングの必要はありません。