GCP「App Engine default service account」の復元方法を教えてください
GCPで「App Engine default service account」(appspot.gserviceaccount.comドメインのアカウント)を「IAMと管理 > サービスアカウント」と「IAMと管理 > IAM」から誤って削除してしまいました。
GAE絡みのサービスが何も利用できなくなってしまったため、同サービスアカウントを復元したいのですが、うまく復元できておりません。
復元までのご助言をいただけないでしょうか?
以下に自分が試みた復元方法とその結果を示します。
1. 参考にしたサイト
以下のサイト等を参考に、2パターンの復元方法を試みました
【REST API の repair API を用いた復元方法】
Google Cloud のデフォルトサービスアカウントの復元?
https://qiita.com/v-o-v/items/cc036061d153aa1210cc
Google App Engine Deploy Error Code 9
https://stackoverflow.com/questions/44676231/google-app-engine-deploy-error-code-9
https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps/repair
【gcloud コマンドを利用した復元方法】
削除されたデフォルトのサービス アカウントの復元
https://cloud.google.com/appengine/docs/flexible/python/access-control?hl=JA#repair-service-account
https://cloud.google.com/sdk/gcloud/reference/beta/app/repair?hl=JA
2. 実行結果
【REST API の repair API を用いた復元方法】
[実行したコマンド]
gcloud auth application-default login
gcloud auth application-default print-access-token
curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer ya2...YkZ" https://appengine.googleapis.com/v1/apps/{project-id}:repair
[curlのレスポンス]
HTTP/2 200
{
"name": "apps/{project-id}/operations/34b...845",
"metadata": {
"@type": "type.googleapis.com/google.appengine.v1.OperationMetadataV1",
"method": "google.appengine.v1.Applications.RepairApplication",
"insertTime": "2019-01-08T01:19:48.709Z",
"user": "{email}",
"target": "apps/{project-id}"
}
}
[実行結果]
「IAMと管理 > サービスアカウント」と「IAMと管理 > IAM」上では、「App Engine default service account」の作成を確認できず
【gcloud コマンドを利用した復元方法】
[実行したコマンド]
gcloud config set project {project-id}
gcloud beta app repair
[最後のコマンドの実行結果]
Waiting for operation [apps/{project-id}/operations/047...3ad] to complete...failed.
Repairing the app [{project-id}]...failed.
ERROR: (gcloud.beta.app.repair) Error Response: [13] An internal error occurred while ensuring the default service account exists.
[実行結果]
「IAMと管理 > サービスアカウント」と「IAMと管理 > IAM」上では、「App Engine default service account」の作成を確認できず