Admin API へのアクセス

ユーザーまたはアプリケーションが App Engine Admin API を使用できるようにするには、Google Cloud のプロジェクト オーナーは、プロジェクト内で API を有効にしてから、ユーザーまたはアプリケーションが HTTP リクエストの認証に使用できる認証情報を作成します。

たとえば、Admin API に HTTP リクエストを送信できるようにするには、オーナーが最初に Google Cloud プロジェクトを作成し、そのプロジェクトの認証情報を作成する必要があります。オーナーが初期プロジェクトを設定し構成すると、そのプロジェクトを管理目的に使用して、他のリソースをプログラムによって作成し管理できるようになります。たとえば、次のことができます。

  • 他の Google Cloud プロジェクトを作成する。
  • 新しく作成したすべてのプロジェクトで App Engine アプリケーションを作成する。
  • 新しく作成した App Engine アプリケーションにアプリのバージョンをデプロイする。
  • デプロイしたすべてのバージョンでリソースを管理する。

始める前に

次のタスクを完了するには、アクセスするユーザーとアプリケーション用に Admin API を有効にする Google Cloud プロジェクトのオーナーである必要があります。

プロジェクトの構成と認証情報の作成

Google Cloud プロジェクトを構成して認証情報を作成するには:

  1. Google Cloud プロジェクトで App Engine Admin API と Cloud Storage API の両方を有効にします。

    両方の API を有効にする

  2. ユーザーとアプリケーションがプロジェクト内の Admin API へのアクセスに使用する認証情報を作成します。

    認証情報を作成する場合は、Google Cloud Platform Auth ガイドを確認し、アプリの要件に適合する OAuth 2.0 の承認フローを選択します。

認証フローを示すために、以下の例ではクライアント側 OAuth 2.0 フローを使用してトークンを取得しています。このトークンは、cURL コマンドライン ツールを使用して Admin API へのリクエストを承認し、プロジェクト [MY_PROJECT_ID] の App Engine アプリケーションにサンプルアプリをデプロイするために使用されます。

認証の例

この例の暗黙的な認可フローと呼ばれるクライアント側の承認フローでは、ユーザーに代わって Admin API にアクセスすることをクライアント アプリケーションを承認することがユーザーに要求されます。返されたアクセス トークンは、約 60 分間、または一般的にユーザーがアプリケーションでアクティブである間は有効です。

HTTP リクエスト

次の URL では、Google Cloud Console で作成されたクライアント ID を使用してアクセス トークンをリクエストし、アプリがトークンを受信する承認済み URI にユーザーをリダイレクトします。

https://accounts.google.com/o/oauth2/v2/auth?
  response_type=token&
  client_id=[MY_CLIENT_ID].apps.googleusercontent.com&
  scope=https://www.googleapis.com/auth/cloud-platform&
  redirect_uri=[MY_REDIRECT_URI]

ここで

  • [MY_CLIENT_ID] は、Google Cloud コンソール内のいずれかの認証情報から取得したクライアント ID です。
  • [MY_REDIRECT_URI] は、Google Cloud コンソール内の同じ認証情報から取得した、対応する承認済みリダイレクト URI です。リダイレクト URI が指定されていない場合は、信頼できる URI(例: https://www.google.com)を指定する必要があります。リダイレクト URI は、HTTP レスポンスの送信先を定義します。本番環境では、OAuth 2.0 サーバーからのレスポンスを処理するアプリケーションの認証エンドポイントを指定する必要があります。詳しくは、ウェブサーバー アプリケーションに OAuth 2.0 を使用するをご覧ください。

HTTP レスポンス

アプリケーションが URL を使用して承認をリクエストすると、以下のようにレスポンスでアクセス トークンが返されます。

https://www.google.com/#access_token=[MY_ACCESS_TOKEN]&
  token_type=Bearer&
  expires_in=3600

[MY_ACCESS_TOKEN] は、リクエストに応じて返されたアクセス トークンです。

アクセス トークンを取得したら、トークンを使用して Admin API にアクセスできます。たとえば、アプリケーションの認証エンドポイントは、レスポンスからアクセス トークンをプログラムで抽出できます。cURL コマンドで手動でトークンを使用する方法については、次のコマンドをご覧ください。

cURL を使用した HTTP リクエストの例

次の cURL コマンドは、[MY_ACCESS_TOKEN] アクセス トークンを使用して HTTP POST リクエストを作成する方法を示しています。この cURL コマンドは、app.json 構成ファイルで定義されたリソースをプロジェクト MY_PROJECT_ID のアプリケーションにある default サービスの v1 バージョンにデプロイします。

curl -X POST -T "app.json" -H "Content-Type: application/json" -H "Authorization: Bearer [MY_ACCESS_TOKEN]" https://appengine.googleapis.com/v1/apps/[MY_PROJECT_ID]/services/default/versions

次のステップ