ユーザー管理のサービス アカウントの使用

App Engine アプリが他の Google Cloud サービスにアクセスしてタスクを実行するには、サービス アカウントが必要です。デフォルトでは、App Engine のデフォルトのサービス アカウントが App Engine アプリの ID として使用されます。別のユーザー管理のサービス アカウントを指定し、特定バージョンの App Engine アプリで使用する ID とすることもできます。これにより、各バージョンで実行する特定のタスクに基づいて、バージョンごとに異なる権限を付与できるので、不要な権限の付与を防止できます。

このガイドでは、新しいバージョンをデプロイするときに、それまでとは異なるユーザー管理のサービス アカウントを指定する方法について説明します。特定のバージョンのアプリをデプロイする際に別のサービス アカウントを作成する必要がない場合は、サービス アカウントを指定しないことによって、デフォルトのサービス アカウントを引き続き使用できます。

ユーザー管理のサービス アカウントを作成する

ユーザー管理のサービス アカウントを作成するには、こちらの手順をご覧ください。サービス アカウントに付与する Identity and Access Management(IAM)ロールを定義する場合は、App Engine へのアクセスを許可するロールをご覧ください。

サービス アカウントを作成する前に IAM のコンセプトを確認する必要がある場合は、IAM のコンセプトの概要サービス アカウントのガイドをご覧ください。

アプリのデプロイ時にサービス アカウントを指定する

gcloud

gcloud app deploy コマンドを実行して、サービス アカウントを指定します。

gcloud app deploy --service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com

appengine-web.xml

appengine-web.xml ファイルで、<service-account> 要素を追加してサービス アカウントを指定します。

<service-account>SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com</service-account>

次のステップ

サービス アカウントを操作するためのベスト プラクティスを実践する。