critical
Firebase のセキュリティルールを安全にする方法
何が問題か
Firebase のデータ漏洩の第 1 の原因は、ルールがテストモード(「allow read, write: if true」)のまま残されていることで、これはデータベース全体を公開状態にします。安全なルールは、すべての読み書きを認証済み・認可済みのユーザーに制限します。
ステップ・バイ・ステップ
- 1
テストモードから抜け出す
「allow read, write: if true」を、認証を必須とするルールに置き換えてください。ロックされたデフォルトは「allow read, write: if false」で、そこから意図的にパスを開いていきます。
- 2
認証と所有権を必須にする
request.auth != null でアクセスを制限し、ドキュメントの所有者と照合してください。例:allow read, write: if request.auth.uid == resource.data.ownerId。
- 3
書き込みを検証する
ルールを使って形を検証し、ユーザーが書き込むべきでないフィールド(ロール、残高)の書き込みを止めてください。Firestore、Realtime Database、Storage はそれぞれ別々に対応します。
- 4
ルールのプレイグラウンドでテストする
Firebase のルールシミュレーターを使って、公開前に匿名アクセスが拒否され、ユーザーが自分のデータにのみ到達できることを確認してください。
修正するだけでなく、検証もしてほしいですか?
修正は第一歩にすぎません。ClearedToShip のレビューなら、修正が本当に有効かを確認し、ローンチのための署名入り・保険付きのクリアランスを発行します。早期アクセスに参加: