Мне нужна помощь, чтобы определить, является ли моя установка Firebase Cloud Firestore безопасной или уязвимой для хаков.
В базе данных у меня есть одна коллекция под названием userids , которая содержит много документов. Каждый документ содержит данные, относящиеся к пользователю, идентификатор пользователя которого является именем документа. Примером этого является:
userids (collection)
123456 (document)
field1: "..."
field2: "..."
field3: "..."
777777 (document)
field1: "..."
field2: "..."
field3: "..."
999999 (document)
field1: "..."
field2: "..."
field3: "..."
Функциональность, которая мне нужна, имеет следующий вид:
• С учетом идентификатора пользователя, такого как userid=123456
, клиент или сервер должны иметь возможность читатьи записывать данные только в документ с именем, равным 123456 (клиент / сервер не может читать или записывать данные в документы с именами 777777 или 999999 ).
• Ни при каких обстоятельствах никто не может получить доступ к списку Документов, которые существуют в базе данных, или к именам любого из этих Документов.
Правила безопасности, которые я должен применить для этого поведения, в настоящее время:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write;
}
}
}
Теперь предположим, что все userids в базе данных на самом делеХэш-значения SHA256, которые уникально представляют каждого пользователя. Предполагая, что этот хэш SHA256 был известен только пользователю, будет ли эта установка безопасной, поскольку для чтения / записи из документа вам потребуется знать хеш пользователей? Можно ли как-нибудь узнать имена всех Документов в базе данных?