Сохранение конфиденциальности информации даже от пользователей базы данных

У меня уникальный вариант использования. Я хочу создать интерфейсную систему для управления оплатой труда сотрудников. У меня будет профиль для каждого сотрудника и его почасовая оплата, сохраненная для просмотра / обновления в будущем.

С разрешениями пользователей мы можем заблокировать определенных людей, чтобы увидеть оплату в веб-интерфейсе.

Моя задача в том, что я хочу, чтобы разработчики не открывали базу данных и не просматривали оплату.

Первоначальная мысль заключалась в том, чтобы подделать плату против моего пароля. Я уверен, что есть реверс-инжиниринг, который можно использовать для получения выплаты, но это будет не так просто.

Открыт для размышлений о том, как это могло быть возможно.

СУБД получили права доступа, представления и хранимые процедуры для защиты данных. Разработчики выполняют разработку в системе разработки (или datanbabse), где фактическая оплата зашифрована / рандомизирована. Администратор базы данных развертывает в производственной среде.

dnoeth 23.04.2018 22:28
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
1
1
31
1

Ответы 1

Это ни в коем случае не исчерпывающий ответ, но я хотел указать по крайней мере на пару вещей:

  • В этом случае нужно контролировать безопасность на уровне сервера. Попытка контролировать безопасность на уровне браузера с использованием Javascript (или любого подобного фреймворка, такого как ReactJs) ведет к проигрышной битве. Это всегда будет небезопасно, поскольку любой (при наличии необходимого времени и ресурсов) в конце концов узнает, как его сломать, и увидит (и, возможно, даже изменит) всю базу данных.

  • Кроме того, если вам нужна среда с безопасностью, вам нужно отделить разработчиков от производственной среды. Они могут играть в среде разработки и, возможно, в среде обеспечения качества, но ни в коем случае не в производственной среде. Даже доступ только для чтения. Отдельная команда контролирует производство (доступ, пароли, брандмауэры и т. д.) И развертывает в нем - используя инструкции, предоставленные разработчиками.

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

bdizzle 23.04.2018 22:34

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