Closed8
vercelにfirebaseのcredentialどう食わせるか問題
- vercelのenvironmentは4KBが上限
- Lambdaの上限から来てるらしい
- このため、vercel側で解消する可能性が低そう
- https://vercel.com/docs/environment-variables
- 一方Firebaseのcredential=GCPのIAMキーはデカイ
- うかつに入れるとすぐ一杯になってしまう
- issues
案
- 素直にenvに突っ込む -> ⚠️ 同上、envが一杯になる危険性アリ
- 一部を限定してenvを突っ込む -> 6割ぐらいにはなるが、デカイことには変わりなさそう
- credentialファイルを生で上げる -> ⚠️ 普通に危なそう
- credentialを暗号化する -> ちょっと面倒
- vercelにgithub連携をせず、ignoreを駆使してリポジトリに含めずvercelにだけアップする -> 出来るけど色々マイナス面多い
- 諦めてCloud Runにする -> Cloud Runめんどい・・・Cloud Build遅い・・・
- KMSとか使う
- すでにfirebaseに連携してるサービスからカスタムトークンを発行してもらう -> https://zenn.dev/terrierscript/articles/2021-02-05-firestore-like-a-service-account
Lambdaの場合はどうしてる?
vercelの問題起因がlambdaであれば、lambda -> GCPのようなことをしたときに同じような困りごとが発生するはずだが、見てると普通にソースとして生で取り込んでる系が多い。
- https://blog.tech-monex.com/entry/2020/01/31/163001
- https://qiita.com/Bacchus/items/c99c2fba0ebf633cfb0b
- https://dev.classmethod.jp/articles/ocr-with-lambda-using-cloud-vision-api/
Lambdaのソースが漏れることそうそうないでしょということかもしれない。それは確かに(といいつつリスクレベルでいうとリポジトリアップロードと変わらない気もする・・・)
credentialが漏洩した場合
- firestoreの場合細かい権限が設定できないので、全部アクセスできてしまう
- つまり全データを消去される・改ざんされてもおかしくない・・・
4. credentialを暗号化
あんまりコレというライブラリがnodeだとなさそう・・・
このスクラップは2021/02/18にクローズされました