Firestore の管理画面、便利なんですがボタンポチポチでデータ変えられてしまうので本番環境では Read Only にしたいです。
Cloud Functions の deploy も開発者のローカルからやらせたくありません。
GCP の権限
画面左上のユーザと権限から GCP に飛んで

権限を 参照者 にします。

これで OK。
本当に参照のみになっているか

なってる!
$ firebase deploy --only functions:hoge
Error: Unable to authorize access to project project-hoge
Cloud Functions の deploy もエラーになりました。
閲覧者は書き込みできる
最初は閲覧者というロールで参照のみになると思ったんですが、閲覧者だと編集できてしまいました...。

Google Cloud Platform での権限の設定 | ドキュメント | Google Cloud Platform を見ても参照者という用語は見つからず、よくわからない。