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

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

app.yaml

app.yaml ファイルで、service_account 要素を追加してサービス アカウントを指定します。

service_account: SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com

次のステップ

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