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

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

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

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

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

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

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

gcloudappengine-web.xml

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

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

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

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

次のステップ

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