App Engine のデフォルトのサービス アカウントに加えて、App Engine スタンダード環境には App Engine スタンダード環境サービス エージェントが含まれます。サービス エージェントを使用すると、Google Cloud プロジェクトは、他の Google Cloud サービスとは別にアプリのリソースとやりとりできます。
App Engine ツール(gcloud app deploy
コマンドなど)を使用して、プロジェクトの最初のアプリを App Engine スタンダード環境にデプロイすると、このアカウントが自動的に作成されます。
サービス エージェントは、Google Cloud コンソールの [サービス アカウント] ページには表示されません。また、次の制限があります。
- サービス エージェントに付与されているロールを取り消さないでください。
- 関連する App Engine スタンダード環境のサービス エージェントのロールは、他のアカウントに付与しないでください。このロールに含まれる権限は予告なく変更される可能性があるためです。
App Engine スタンダード環境のサービス エージェントの確認
Google Cloud プロジェクトにサービス エージェントが存在することを確認するには、次の手順に沿って操作します。
Google Cloud コンソールを開きます。
[権限] ページの右上にある [Google 提供のロール付与を含みます] チェックボックスをオンにします。
[プリンシパル] リストで、次の ID を使用する App Engine スタンダード環境のサービス エージェントの ID を見つけます。
service-PROJECT_NUMBER@gcp-gae-service.iam.gserviceaccount.com
サービス エージェントに App Engine スタンダード環境のサービス エージェント ロールが付与されていることを確認します。
サービス エージェントのロール
サービス エージェントには、App Engine スタンダード環境のサービス エージェント ロールが付与されています。このロールには、スタンダード環境アプリを管理するために PHP 5 スタンダード環境が必要とする一連の権限が含まれています。たとえば、このロールには次のタスクを実行するための権限があります。
- App Engine インスタンスが Cloud Storage バケットなどの他の Google Cloud リソースにアクセスするために、アクセス トークンを取得します。
- 以前の App Engine バンドル サービスの Blobstore API を使用します。
App Engine スタンダード環境のサービス エージェント ロールは、サービス エージェント用に予約されています。この IAM ロールを他のアカウントに付与しないでください。このロールに含まれる権限は予告なく変更される可能性があるためです。
削除されたサービス エージェントの復元
App Engine スタンダード環境のサービス エージェントを誤って削除した場合は、次の手順で復元します。
Google Cloud コンソールを開きます。
[追加] をクリックします。
次の形式でサービス エージェント ID を入力します。
service-PROJECT_NUMBER@gcp-gae-service.iam.gserviceaccount.com
App Engine スタンダード環境のサービス エージェント ロールを選択します。
[保存] をクリックします。