デフォルトの App Engine サービス アカウントの使用

App Engine アプリケーションを作成すると、App Engine のデフォルトのサービス アカウントが作成され、App Engine サービスの ID として使用されます。App Engine のデフォルトのサービス アカウントは GCP プロジェクトに関連付けられていて、App Engine で実行中のアプリに代わってタスクを実行します。

デフォルトでは、App Engine のデフォルトのサービス アカウントにはプロジェクトの編集者の役割が付与されています。つまり、GCP プロジェクトに変更をデプロイするための十分な権限を持つすべてのユーザー アカウントは、プロジェクト内のすべてのリソースに対する読み取り / 書き込みアクセス権を持つコードを実行できます。

サービス アカウントの権限の変更

サービス アカウントの権限は、GCP Console で変更できます。たとえば、App Engine のデフォルトのサービス アカウントを編集者の役割から App Engine アプリケーションのアクセスニーズに最も適する役割に変更することで、その権限をダウングレードできます。

サービス アカウントの権限を変更するには:

  1. GCP Console を開きます。

    [権限] ページに移動

  2. [メンバー] リストで、App Engine のデフォルトのサービス アカウントの ID を見つけます。

    App Engine のデフォルトのサービス アカウントは、次のメンバー ID を使用しています。
    YOUR_PROJECT_ID@appspot.gserviceaccount.com

  3. プルダウン メニューを使用して、サービス アカウントに割り当てられている役割を変更できます。

デフォルトのサービス アカウントの使用

App Engine アプリは、デフォルトで App Engine サービス アカウントの認証情報を使用します。詳細については、Cloud サービスへのアクセスのアプリへの付与をご覧ください。

削除されたデフォルトのサービス アカウントの復元

App Engine のデフォルトのサービス アカウントを削除すると、App Engine アプリケーションが破損して、Cloud Datastore などの他の GCP サービスにアクセスできなくなる可能性があります。

App Engine から削除されたデフォルトのサービス アカウントは、以下の gcloud beta app repair コマンドで復元できます。

# Set your gcloud project
gcloud config set project <project-id>

# Restore your default service account
gcloud beta app repair

サービス アカウントの詳細