質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

89.98%

GCP「App Engine default service account」を復元したい

受付中

回答 0

投稿

  • 評価
  • クリップ 0
  • VIEW 463

o3osatoshi

score 4

事象

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」の作成を確認できず

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

まだ回答がついていません

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 89.98%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる