お手軽につかえるFirebaseですが、お手軽に削除するといやなので保護の方法をチェック。
GCPの方でLien(リーエン)というのを使ってプロジェクトを保護する方法があるのは知っていましたが、Firebaseで使えるのかチェックします。
2019年12月現在ではUIではできないみたい。
Lien: 先取特権、留置権という意味らしい。知らんかった。
準備
gcloudコマンドを使うので、インストールがまだならインストールしておく。
で、適切なアカウントでログイン。以下のコマンドを利用するとWebが起動し、アカウントを選択できる。
gcloud auth login
管理下のプロジェクトのリストを確認。
gcloud projects list
どのプロジェクトがデフォルトになっているか等を確認。
gcloud config list
必要なら操作対象のプロジェクトを設定。
gcloud config set project [PROJECT_ID]
Lien(リーエン)の設定
選択されたプロジェクトにLienを設定してみます(--projectで明示することも可能みたい)。
作成
2019年12月現在、制限できるのはdeleteのみらしい。まあ用は足ります。
gcloud alpha resource-manager liens create \
> --restrictions=resourcemanager.projects.delete \
> --reason="Important Project"
確認
設定されたか確認。
gcloud alpha resource-manager liens list
削除
今は削除しませんが、後々。
gcloud alpha resource-manager liens delete [LIEN_NAME]
動作確認
Firebaseにてプロジェクトを削除してみる。
下記のような画面がでて削除できません。成功です!
これで不用意に本番プロジェクトを消すことは防止できそうです。
以上です。