firestoreのrequest.auth.uidのリクエストは安全か?
例えば、Postsというコレクションを作って、そのコレクションが、
{ user_id: "ユーザー自身のuid", content: "userのpostの内容" }
のようなデータ構造を取ったとします。
そして、Firesotereのroleは
service cloud.firestore { match /databases/{database}/documents { match /users/{userId} { allow read, write: if request.auth.uid == userId; } } }
であるとします。
この場合、Postsの一覧をGETする時、他人のUIDもGETできるわけですが、これを自分自身のrequest.auth.uidとして利用すれば、他の人のUsersのドキュメントにアクセスできてしまうのではと懸念しています。
request.auth.uidに当たるauthオブジェクトをクライアント側で書き換えることができない?ならば、他人のUIDを知っていても、
そのuidをrequest.auth.uidの中に入れてリクエストすることはできないので、問題ないと思います。
また、firebase認証を利用しgoogleなどのプロバイダーからGETできるUIDをUsersドキュメントのIDにした時に、
上記のようにPostsの一覧をGETする時、ユーザーのgoogleアカウントのUIDが露出したことになる?が、
ユーザーのgoogleアカウントの脆弱性が高まるなど、プライバシー、セキュリティ的にも問題ないのか?
簡潔に言うと、
他人のUIDをGetできるようなデータ構造はセキュリティ的に問題ないか?
他人のUIDをGetできるようなデータ構造は利用しているプロバイダー含むユーザーアカウントの脆弱性が高まるのではないか?
の2点です。
いかがなものでしょうか。
よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。