【FlutterFlow】Firestore Rules SetupでWarningsが出る場合の対処法

  • URLをコピーしました!

FlutterFlowでスマホアプリを開発して、Firebaseのデータベース機能Firestoreとの繋ぎ込みが完了すると、以下の画像のようにWarnings(警告)が出てしまいます。

この場合にどのように対処するのが良いのかをまとめます。

参考程度にFirestoreはFirebase公式に以下のような説明があります。

Cloud Firestore は、モバイルアプリやウェブアプリのデータの保存、同期、照会がグローバル スケールで簡単にできる NoSQL ドキュメント データベースです。

https://firebase.google.com/products/firestore?hl=ja#:~:text=Cloud%20Firestore%20%E3%81%AF%E3%80%81%E3%83%A2%E3%83%90%E3%82%A4%E3%83%AB%E3%82%A2%E3%83%97%E3%83%AA,%E3%81%A7%E3%81%8D%E3%82%8B%20NoSQL%20%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88%20%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E3%81%A7%E3%81%99%E3%80%82
目次

Warningsの内容

先ほどの画像には以下の警告内容が表示されています。

Firestore security rules may be too open. Click here to view the rules. You can suppress this warning by unchecking “Has Private Data” for affected collections.

直訳すると「Firestoreのセキュリティルールがオープンすぎる可能性があります。ルールを表示するには、ここをクリックしてください。この警告は、影響を受けるコレクションの[Has Private Data]のチェックを外すことで抑制することができます。」です。

Firestoreのセキュリティが緩いですよ、と言われています。

対処方法

警告メッセージ通りですが、Firestore Rulesの設定部分からHas Privateのチェックを外すことで警告自体は無くすことができます。

この件、FlutterFlow Communityでのディスカッションが行われています。内容としては上記で書いたように「チェックボクスを外す」に着地しています。

FlutterFLow上ではHas Privateに関して以下の説明があります。

コレクションに機密データや個人データがあるなら、そのデータに関連するユーザのみがアクセスできるようにする必要があります。

この内容的に少なくともusersコレクションには個人情報が含まれるのでHas Privateにチェックはつけたままにする必要がありますが、

  • Create
  • Read
  • Write
  • Delete

「Users Collection」を指定すれば警告は消えます。
(削除できなかったり、編集できなかったりする場合とかは「No One」でOK)

各アクションでのルールとして選択できる項目は以下に書かれています。

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

ブログを開設するなら「SWELL」が絶対オススメ!

コメント

コメントする

目次