Firestoreを使用して、自分のサイトに表示されるコンテンツを保存したい小さな学習者プロジェクトを構築しています。すべてのユーザーがサインインせずにこの情報にアクセスできるようにしたいと思います(allow read: if true
関連するコレクションで単純なルールを使用します)。これにより、Firebaseから「安全でないルール」の警告がトリガーされます。だから、私の質問は、この設定はセキュリティリスクを開く悪い考えですか?もしそうなら、私は何をすべきですか....異なるルール設定、または完全に異なるdbソリューションを検討する必要がありますか?
いくつかの追加情報:
基本的に、私のプロジェクトはブログのようなもので、データベースにデータを保存したいので、ユーザーはサインインしなくてもデータを表示できます(編集はできません)。
私が保存しているデータの量はごくわずかです。Firestoreを使用しているのは、管理者がすべてを再デプロイすることなく、サイトに表示されるコンテンツにアクセスして編集できるシステムを作成したいからです。
ここにfirebaser
ありますたくさん自分のデータを保護するために失敗があってFirebase / Firestoreデータベースのは。その後、時間の経過とともにデータ量が増加し、ある時点で個人を特定できる情報(PII)が含まれることがよくあります。しかし、それまでに、多くの開発者はデータを(保護する)ことを考えなくなり、ユーザーを危険にさらします。そして、これはあなたには起こらないと思うかもしれませんが、それらの他のデータベースの開発者のほとんどもそうしました。
私の推奨事項は常に同じです。セキュリティルールでは、コードが絶対に必要とするアクセスのみを許可する必要があります。
したがってblogs
、コードが読み取る必要のあるコレクションがデータベースにある場合、最初のステップはblogs
、データベース全体ではなく、読み取り許可のみを許可することです。
次のステップは、コードが実際にすべてのブログ投稿ドキュメントを読み取るのか、それともそれらのサブセットのみを読み取るのかを検討することです。ドキュメントのサブセットのみを読み取る場合は、セキュリティルールでもそのロジックをキャプチャできるかどうかを検討してください。
次に、各ドキュメントのデータについて同じことを行います。アプリケーションは各フィールドを表示しますか?そうでない場合は、実際にこれらすべてのフィールドにアクセスできる必要がありますか?一部のフィールドを、アプリが(簡単に)読み取れない別のコレクションに移動できるかどうかを検討してください。
最初のステップでさえ、Firebaseからのアラートが届かないようにしますが、さらに重要なことは、これらの各ステップにより、侵入者からのデータの安全性が高まります。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加