Запутанность правил безопасности Firebase - PullRequest
0 голосов
/ 28 марта 2020

У меня есть приложение, которое использует файлы PDF и видео. Я поместил эти файлы в хранилище Firebase и поместил URL-адрес этих файлов в коллекции баз данных, чтобы использовать их в своем приложении. Я не хочу никакой аутентификации по электронной почте и паролю в моем приложении. Защищены ли мои pdf и видео файлы? Кто-нибудь может получить к ним доступ или получить их? Это мои правила для базы данных:

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write;
    }
  }
}

Это мои правила для хранения в Firebase:

service firebase.storage {
  match /b/{bucket}/o {
    match /{allPaths=**} {
      allow read, write;
    }
  }
}

Ответы [ 2 ]

2 голосов
/ 28 марта 2020

Если вы не хотите, чтобы ваши пользователи вводили учетные данные, но все же хотите немного повысить безопасность, рассмотрите возможность использования поставщика анонимной аутентификации Firebase. Из документации:

Вы можете использовать Аутентификацию Firebase для создания и использования временных анонимных учетных записей для аутентификации в Firebase. Эти временные анонимные учетные записи могут использоваться, чтобы позволить пользователям, которые еще не зарегистрировались в вашем приложении, работать с данными, защищенными правилами безопасности. Если анонимный пользователь решит зарегистрироваться в вашем приложении, вы можете связать свои учетные данные для входа с анонимной учетной записью , чтобы они могли продолжать работать со своими защищенными данными в будущих сеансах.


Конечно, если вы не хотите связывать свои файлы или данные с конкретным c пользователем, то анонимная аутентификация также довольно бессмысленна. Но в этот момент вы действительно хотите разрешить чистый неопознанный доступ publi c. Это также может быть хорошим вариантом, если вы понимаете, что с вашего проекта будет взиматься плата за любые операции чтения / записи, сделанные любыми пользователями.


Если вам нужны какие-либо пользователи, без их идентификации или предоставления учетных данных, чтобы иметь возможность читать данные / файлы, но не записывать какие-либо собственные данные / файлы, вам нужны правила только для чтения:

allow read; if true;
allow write: if false;

Или более короткие, но менее явные для чтения:

allow read
2 голосов
/ 28 марта 2020

Ваши правила позволяют любому читать, изменять или удалять ваши файлы, поэтому нет, ваши файлы вообще не безопасны. Если вы хотите, чтобы ваши файлы были в безопасности, вы должны предусмотреть некоторую аутентификацию и установить соответствующие правила, чтобы только вы или определенная группа пользователей могли иметь доступ к вашим файлам.

Вы можете прочитать больше о настройке правил в документации Firebase .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...