Ограничить доступ к базе данных Firebase одним приложением Android

Я работаю над приложением для Android, которое читает из базы данных Firebase. Пользователи приложения не будут входить в систему или изменять базу данных. Все пользователи приложения будут смотреть на одни и те же данные; Я использую Firebase для его обновления в реальном времени.

В идеале я хотел бы ограничить доступ к базе данных, чтобы только мое приложение могло читать данные.

Я знаю о нескольких вещах, которые я мог сделать:

1. Напишите правила безопасности, которые позволяют любому читать, то есть

{
  "rules": {
     ".read": true,
     ".write": false
  }
}

Con: Любой может читать:(

2. Напишите правила безопасности, которые позволяют аутентифицированным пользователям читать, а затем жестко закодировать имя пользователя и пароль в приложение.

{
  "rules": {
    "$user_id":{
       ".read": "auth.uid === $user_id",
       ".write": false
    }
  }
}

Против: Жесткое кодирование имени пользователя и пароля в приложении кажется очень неправильным. Кроме того, он на самом деле не блокирует базу данных, поскольку любой может декомпилировать приложение, взять google-services.json и жестко запрограммированное имя пользователя / пароль, и написать свое собственное приложение, которое поделится моим именем пакета.

Гугл показал это, что характерно для письма, и это, что говорит "нет", но ему несколько лет.

Какой правильный подход ограничивает доступ к базе данных? Я подхожу к этому с неправильного направления?

2 ответа

3. Используйте FirebaseAuth а также signInAnonymously() метод

ссылка: https://firebase.google.com/docs/auth/android/anonymous-auth

Затем настройте правила безопасности:

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

Против: несколько учетных записей используются только для чтения одних и тех же данных

Когда вы добавляете свое приложение в проект Firebase, вы должны указать сертификат своего приложения SHA1, чтобы никто, кроме вас, не мог получить доступ к вашим данным.

Другие вопросы по тегам