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
次のステップ
サービス アカウントを操作するためのベスト プラクティスを実践する。