В традиционном трехуровневом приложении у вас будет сервер, расположенный между вашей базой данных и устройствами пользователя. Ваш код на этом сервере будет выполнять такие действия, как вход пользователя в систему, обеспечение его авторизации для операции, которую он пытается выполнить, а затем выполнение этой операции.
С Firebase многие из ваших операций могут выполняться путем прямого взаимодействия устройств с серверными службами (такими как база данных или хранилище файлов). Это означает, что вы переместите фактическую бизнес-логику c своей операции в клиентский код. А с Firebase Authentication вход в систему также осуществляется без вашего серверного кода. Но тогда где же проверка авторизации пользователя go?
Здесь вступают в силу правила безопасности Firebase. Они похожи на препроцессор на сервере, который обеспечивает выполнение операции, которую пытается выполнить пользователь. Perform авторизован в соответствии с указанными вами правилами.
Члены вашей группы разработчиков, скорее всего, будут сотрудниками проекта Firebase и будут использовать механизм, который обходит правила безопасности для доступа к внутренним службам (например, консоль Firebase, или один из Admin SDK, который запускается с правами администратора).
Я настоятельно рекомендую прочитать документацию Firebase по правилам безопасности , которая содержит следующее простое заявление об этом:
Правила безопасности Firebase стоят между вашими данными и злоумышленниками.