

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 を用いた復元方法】  
［実行したコマンド］

[code]

    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
    
[/code]

［curlのレスポンス］

[code]

    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}"
      }
    }
    
[/code]

［実行結果］

[code]

    「IAMと管理 > サービスアカウント」と「IAMと管理 > IAM」上では、「App Engine default service account」の作成を確認できず
    
[/code]

【gcloud コマンドを利用した復元方法】  
［実行したコマンド］

[code]

    gcloud config set project {project-id}
    gcloud beta app repair
    
[/code]

［最後のコマンドの実行結果］

[code]

    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.
    
[/code]

［実行結果］

[code]

    「IAMと管理 > サービスアカウント」と「IAMと管理 > IAM」上では、「App Engine default service account」の作成を確認できず
    
[/code]


CC BY-SA 4.0
2019-01-08T02:24:23.057
51811
2019-01-30T03:40:47.307
2019-01-08T02:28:19.380
29826
23560
question
google-app-engine google-cloud
GCP「App Engine default service account」の復元方法を教えてください


ちょうど同じ状態になっていたので回答しておきます。

以下のissueにあるように、1/8時点でknown
issueとして対応中とのことでしたが、現在1/30時点で進捗がなさそうなので、現状は新たにprojectを作成しなおすしかないと思います。

> This is a known issue, and Engineering is already working towards a fix. No
> estimated time to resolution has been set. Meanwhile, you may follow
> developments in this thread.

see: <https://issuetracker.google.com/issues/122163562>

F.Y.I. ちなみにgcpugのslackで質問したら親切な人達が秒で教えてくれました。


CC BY-SA 4.0
2019-01-30T03:40:47.307
52412
2019-01-30T03:40:47.307
31982
51811
answer