はじめに
本稿は ディップ Advent Calendar 2020 の10日目の投稿です。
弊社メンバーが色々書いているのでぜひ見ていってください!
Firebaseのユーザ管理について
アプリ開発のmBaaSとしてFirebaseがよく選択肢として挙がると思います。
運用していく中でユーザ管理をしていく必要があるわけですが、この管理がなかなかの難題です。
複数プロジェクト x 複数環境 x 入退場者といった感じで作業がかなり多くなります。
弊チームでは、メールエイリアスを作成して、そこにユーザを紐づけることで権限を簡単に変更することができるようにしました。
メールエイリアスの落とし穴
メールエイリアスで簡単に管理できる!やったね!
と一瞬なったのですが、メールエイリアスには大きな落とし穴がありました。
それはメールエイリアスは社内の別の部門が管理しており、申請するためにはExcelでの申請書が必要だったのです。
Excelの申請書を提出する際にはいくつかマクロを実行する必要があります。
そのマクロがなんと...macでは動かない...。
仕方なく申請する時にはWindowsを起動することにしたのですが、
いくつか申請が溜まってからまとめて申請するようになってしまいました。
これでは「権限を簡単に変更する」ことができてませんね...。
落とし穴その2
運用をしておおよそ1年ほど経過した頃にあることに気付きました。
自分が想像しているレベルでの人の出入りおよび権限変更の必要がなかったのです!
FirebaseはAnalyticsやCloudMessageを使用しているのみで、多くのメンバーは閲覧権限すら必要がありませんでした...。
これは運用を考えている時には全く思いつかなかった問題です。
今後の対処法
「メールエイリアスでの権限変更を取りやめて、APIなどを使用して個別に設定する」
もしくは
「メールエイリアスの申請をmacでできるように管理部門と協議してプロセスを変更する」
線で検討していこうと思います。
反省
権限変更がしやすいように設計したつもりが、自分のリサーチ不足で苦しい選択肢となってしまっていました...(トホホ...)
ユーザ管理は奥が深いので、実際に運用を始める前にしっかりとユースケースを定義して設計することが重要だなと再認識しました。
この失敗を2度と起こさないように気をつけていきたいですね。