質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

2回答

1672閲覧

RealtimeDatabaseでのルール変更

globalplus

総合スコア119

Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

1クリップ

投稿2019/12/12 08:38

昨日Firebaseから以下の様なメールが届きました。

お客様はテストモードで開発を開始しました。そのため、Cloud Firestore データベースがインターネットに完全に公開された状態になっています。お客様のアプリは攻撃に対して脆弱であるため、最初の 30 日間が過ぎるとリクエストが許可されなくなるように Firestore セキュリティ ルールが構成されました。

3 日後に、Firestore データベースに対するクライアント リクエストはすべて拒否されるようになります。この期限までに強力なセキュリティ ルールを記述して、データを適切に保護しながらアプリが機能できるようにしてください。分析は 1 日 1 回実行されます。ルールを変更してから 24 時間以内の場合、変更がまだ反映されていない可能性があります。

今まではrealtimedatabse内のルールは全てtrueにして誰でも見れる様な状態で開発していました。
そしてメール確認後ルールを

"rules": { ".read": "auth != null", ".write": "auth != null" }

に変えましたが書き込み、読み込みの両方が出来なくなりました。(おそらくユーザー認証機能を実装していないため?)
そこで、質問なのですが認証機能無しでも使えるルールはなにかありますか?
認証機能があるとややこしくなってしまうので無しで書き出し、読み込みしたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

Realtime Databaseを使っているとのことですが、メールはCloud Firestoreに対する警告です。最近Cloud Firestoreをお試し的に使って、そのまま放置しているということはないでしょうか? この警告に対応してルール設定を変更するなら、Cloud Firestoreのルール設定を変更しなければならないように思います。

Realtime Databaseのルール設定は、今まで何の警告もなかったのなら今まで通りに戻してもいいのかもしれませんが、少なくとも、全ての領域を認証無しで読み書き可能にするのではなく、全体は読み書き不可(false)とし、特定のフォルダだけ認証なし読み書き可能にする(認証なしユーザーは、その特定フォルダ内で読み書きする)ことをお勧めします。

投稿2019/12/12 14:40

TakeOne

総合スコア6299

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

結論から言うと、ないと思います。

その理由としては、認証なしのままだと、
アプリからだけでなく、URLにアクセスすれば、誰でも値を読み取れるし、簡単に書き込みでき、
悪意のあるユーザーが誤ったデータを山のように書き込んでサービスをダメにしたり、
場合によっては、通信量を膨大に増やし、無料枠を超え、高額な請求が
ある日突然globalplusさんに来る事態になることも考えられます。

なので、データベース利用にauthenticationは必須になっていると思います。

認証機能があるとややこしくなるとありますが、
ユーザーが登録等の面倒な作業を行わなくていいものとしては、
「匿名」ログインを実装すればいいと思います。

何のデータを扱っているか分かりませんが、
誰が書き込んだデータで、誰が編集権限を持つとかはいらない?んですか?

投稿2019/12/12 12:25

編集2019/12/12 12:27
hameji

総合スコア1380

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問