Udemyのオススメ講座はこちら 詳細を見てみる

【FlutterFlow】Firebaseから「Cloud Firestore データベースへのクライアント アクセスがまもなく期限切れになります」というメールがきた

  • URLをコピーしました!

FlutterFlowででスマホアプリを開発する際にバックエンドとして使うFirebaseからこのようなメールが来ることがあります。

[Firebase] Cloud Firestore データベースへのクライアント アクセスが 2 日後に期限切れになります

お客様はテストモードで開発を開始しました。そのため、Cloud Firestore データベースがインターネットに完全に公開された状態になっています。お客様のアプリは攻撃に対して脆弱であるため、最初の 30 日間が過ぎるとリクエストが許可されなくなるように Firestore セキュリティ ルールが構成されました。
2 日後に、Firestore データベースに対するクライアント リクエストはすべて拒否されるようになります。この期限までに強力なセキュリティ ルールを記述して、データを適切に保護しながらアプリが機能できるようにしてください。分析は 1 日 1 回実行されます。ルールを変更してから 24 時間以内の場合、変更がまだ反映されていない可能性があります。

このメールが来た際の対処法を解説します。

この記事はこんな人にオススメ
  • FlutterFlowでスマホアプリ開発をしている人
  • Firebaseから同様のメールが来てどうすれば良いかわからなくて困っている人
目次

結論

Firestoreのルールを設定しているコードから以下のコードを消しましょう。

    match /{document=**} {
      allow read, write: if
          request.time < timestamp.date(2022, 10, 11);
    }

なぜこのようなメールが来るのか?

メール文面のここに注目です。

お客様はテストモードで開発を開始しました。そのため、Cloud Firestore データベースがインターネットに完全に公開された状態になっています。

「テストモード」という言葉ができましたが、

モバイルアプリやウェブアプリのデータの保存、同期、照会がグローバル スケールで簡単にできるNoSQLデータベースであるFirestoreを構築する際、「テストモード」「本番モード」から選択することができます。

2つのモードの違いは以下のとおりです。

  • テストモード:全てのユーザーにアクセスが許可されている
  • 本番モード:全てのアクセスが制限されている(自分でルールを編集して許可するアクセスを設定する必要あり)

実際にFirebaseコンソールでFirestoreのルールを確認すると以下のコードがありました。

    match /{document=**} {
      allow read, write: if
          request.time < timestamp.date(2022, 10, 11);
    }

これは先ほど説明したとおりですが、全てのユーザーがデータ(document)にアクセスすることができることを意味しています。

じゃあどうすれば良いの?

記事の冒頭に書いた「結論」の通りですが、以下のコードを消して公開すればOKです。

    match /{document=**} {
      allow read, write: if
          request.time < timestamp.date(2022, 10, 11);
    }

今から書く内容はFlutterFlow開発でのちょっとした落とし穴なのですが、FlutterFlowの開発画面の

サイドメニュー > Firestore > Firestore Settings > Firestore Rules

からルールをチェックボックスで選択して設定、Firestoreに反映(FlutterFlowではDeployと書かれている)できますが、そうしても上記のコードが残ったまま、追加でルールが設定される形になります。

なので、FlutterFlow上からルールを設定してDeployする場合、まずはFirestoreのコンソールから上記コードを消す必要があります。

最後に

FlutterFlowでの開発にFirebase(Firestore)周りを触ることは避けられないですが、一定の知識や使い方を知る必要があるので要注意です。

以下、関連記事なのでご参考にしてください。

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

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

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

この記事を書いた人

大学院(機械工学)→重工業→エンジニア→プロダクトマネージャー(PdM)

神戸で「つながる勉強会」を運営↓
https://tsunagaru-kobe.connpass.com/

神戸グルメのインスタアカウントを運用しています↓
https://www.instagram.com/kobe_gourmet_life/

登壇実績↓
https://speakerdeck.com/shimotaroo

コメント

コメントする

目次