#firebase #google-cloud-firestore #firebase-security
#firebase #google-cloud-firestore #firebase-безопасность
Вопрос:
итак, я пытаюсь понять, как работают правила облачного хранилища firestore, и создал простое приложение, чтобы научиться писать безопасные правила. приложение в основном показывает новости всем пользователям и позволяет пользователям делиться предложениями с администратором без аутентификации пользователя (регистрация не требуется). поэтому я подумал, что если я использую allow write: if true;
для документа, содержащего предложения пользователей, он будет безопасным, но я получаю предупреждение от firebase о том, что мои правила firestore cloud небезопасны. поэтому я подумал, что это небезопасно, потому что, возможно, кто-нибудь может переписать / удалить все данные в users_suggestion
документе. Мне все еще нужно обеспечить безопасные правила без получения аутентификации пользователя, если вы знаете, как, пожалуйста, помогите
вот как выглядят правила:
service cloud.firestore {
match /databases/{database}/documents {
match /users_suggestion/{documents}{
allow read: if request.auth != null
allow write: if true;
}
match /news/{documents}{
allow read;
allow write: if request.auth != null
}
}
}
коллекции: users_suggestion
и news
Комментарии:
1. правила безопасности зависят от приложений. В этом правиле для
/users_suggestion/{documents}
пользователей, прошедших проверку подлинности, разрешеноread
, тогда write — это действие более высокого уровня, и для этого пользователь также должен пройти проверку подлинности.2. надеюсь, вы передали этот хороший документ firebase — firebase.google.com/docs/firestore/security/rules-structure
3. @MuthuThavamani возможно ли разрешить ограниченную запись только для одного документа или поля без аутентификации?
4. @MuthuThavamani я только что закончил читать документы, которыми вы поделились, это очень полезно, кажется невозможным иметь безопасные правила и разрешать запись без аутентификации. спасибо за вашу помощь
5. Рад, что у вас есть представление о правилах. обновлено еще несколько в моем ответе!
Ответ №1:
Правила безопасности варьируются в зависимости от конкретных приложений.
В вашем правиле для /users_suggestion/{documents}
пользователей, прошедших проверку подлинности, разрешено чтение, затем write
выполняется действие более высокого уровня, и для этого пользователь также должен пройти проверку подлинности.
Firebase предоставляет очень гибкие правила безопасности для защиты данных в облачном Firestore, базе данных реального времени и облачном хранилище.
Помимо проверки только аутентификации пользователя, вы должны предоставить ограниченный доступ, используя условия безопасности.
- Доступ на основе ролей
- Доступ на основе атрибутов
- Смешанный общедоступный и частный доступ
Ссылки: