Posted at

Google Cloud のデフォルトサービスアカウントの復元?

More than 1 year has passed since last update.

Google Cloud Consoleにて、不用意にデフォルトのサービスアカウントキーを削除しました。

そのため、GAEから、Cloud SQLに接続できなくなりました。

有料のサポートを受けていますが、土日祝日はお休みの為、

サポートに連絡をしても、返事がこず。

いろいろと調べいるうちに、App Engine Admin API なるものを発見。

こんなメソッドがあったので、ダメ元で試してみました。

https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps/repair

ログイン

$ gcloud auth application-default login
アクセストークンの取得
$ gcloud auth application-default print-access-token
yaxfeajiewafieofjw......(省略)
リペア
$ curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer yaxfeajiewafieofjw......(省略)" https://appengine.googleapis.com/v1/apps/プロジェクトID:repair
{
"name": "apps/プロジェクトID/operations/069xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"metadata": {
"@type": "type.googleapis.com/google.appengine.v1.OperationMetadataV1",
"method": "google.appengine.v1.Applications.RepairApplication",
"insertTime": "2018-09-17T05:00:24.972Z",
"user": "自分のメアド",
"target": "apps/プロジェクトID"
}
}

無事、復旧しました!

サービスアカウントキーは不用意に削除するものじゃないですね。。。。