ClearedToShip
critical

Firebase のセキュリティルールを安全にする方法

何が問題か

Firebase のデータ漏洩の第 1 の原因は、ルールがテストモード(「allow read, write: if true」)のまま残されていることで、これはデータベース全体を公開状態にします。安全なルールは、すべての読み書きを認証済み・認可済みのユーザーに制限します。

ステップ・バイ・ステップ

  1. 1

    テストモードから抜け出す

    「allow read, write: if true」を、認証を必須とするルールに置き換えてください。ロックされたデフォルトは「allow read, write: if false」で、そこから意図的にパスを開いていきます。

  2. 2

    認証と所有権を必須にする

    request.auth != null でアクセスを制限し、ドキュメントの所有者と照合してください。例:allow read, write: if request.auth.uid == resource.data.ownerId。

  3. 3

    書き込みを検証する

    ルールを使って形を検証し、ユーザーが書き込むべきでないフィールド(ロール、残高)の書き込みを止めてください。Firestore、Realtime Database、Storage はそれぞれ別々に対応します。

  4. 4

    ルールのプレイグラウンドでテストする

    Firebase のルールシミュレーターを使って、公開前に匿名アクセスが拒否され、ユーザーが自分のデータにのみ到達できることを確認してください。

修正するだけでなく、検証もしてほしいですか?

修正は第一歩にすぎません。ClearedToShip のレビューなら、修正が本当に有効かを確認し、ローンチのための署名入り・保険付きのクリアランスを発行します。早期アクセスに参加:

無料ローンチ準備スキャン
無料スキャンを受ける