App Engine には、App Engine フレキシブル環境のサービス エージェントという名前のサービス エージェントが含まれます。このサービス エージェントにより、サービスは他の Google Cloud リソースにアクセスする際にユーザーに代わって動作できます。サービス エージェントは変更しないことが大切です。
なお、サービス エージェントは Google Cloud コンソールの [サービス アカウント] ページには表示されず、App Engine のデフォルトのサービス アカウントとの関連はありません。
Google Cloud プロジェクトのサービス エージェントは、最初のサービスをデプロイした後に自動的に作成されます。たとえば、gcloud app
deploy
コマンドを初めて実行して、フレキシブル環境にアプリをデプロイした後に作成されます。
サービス エージェントは、IAM 事前定義ロールの App Engine フレキシブル環境サービス エージェントを使用します。App Engine がアプリを管理するのに必要な権限のセットが含まれるこのロールは、サービス エージェントの作成時に自動的に付与されます。
これらの権限によって、App Engine インスタンスが他の Google Cloud リソース(Cloud Storage バケットなど)にアクセスするために使用するアクセス トークンを Google Cloud プロジェクトで取得したりできます。
重要な制限事項:
- サービス エージェントに付与されているロールを取り消さないでください。
- 関連する App Engine フレキシブル環境サービス エージェントのロールは、他のアカウントに付与しないでください。なお、このロールの権限は予告なく変更されることがあります。
サービス エージェントを確認する
Google Cloud プロジェクトでサービス エージェントに必要なロールが付与されていることを確認するには、次の操作を行います。
Google Cloud コンソールで、[権限] ページに移動します。
[権限] ページの右上にある [Google 提供のロール付与を含める] チェックボックスをオンにします。
[プリンシパル] リストで、次の ID を使用してサービス エージェントを見つけます。
service-PROJECT_NUMBER@gae-api-prod.google.com.iam.gserviceaccount.com
サービス エージェントに App Engine フレキシブル環境のサービス エージェント ロールが付与されていることを確認します。
サービス エージェントに必要なロールを復元する
サービス エージェントに必要な App Engine フレキシブル環境サービス エージェントのロール バインディングを Google Cloud プロジェクトから誤って削除した場合は、次の手順で復元します。
Google Cloud コンソールで、[権限] ページに移動します。
[追加] をクリックします。
サービス エージェント ID を次の形式で入力します。
service-PROJECT_NUMBER@gae-api-prod.google.com.iam.gserviceaccount.com
[App Engine フレキシブル環境のサービス エージェント] ロールを選択します。
[保存] をクリックします。