Принцип наименьших привилегий
Каждому компоненту и пользователю выдаётся минимум прав, необходимых для работы.
Сигнатура
Principle of Least PrivilegeПринцип наименьших привилегий гласит: субъект (пользователь, сервис, процесс) должен иметь только те права, которые нужны для выполнения его задачи, и не более. Это ограничивает ущерб при компрометации.
Как применять: заводите отдельные учётки БД с правами только на нужные операции, не запускайте сервисы под root, разделяйте роли, регулярно пересматривайте и отзывайте лишние права, применяйте сегментацию сети.
# Пример: учётка БД только для чтения отчётов
# GRANT SELECT ON reports TO 'report_reader';
# Никаких INSERT/UPDATE/DELETE/DROP — минимум нужного
# Приложение использует разные подключения под разные задачи
readonly_conn = connect(user="report_reader")