Проблема в том, что если кто-то уже имеет полный доступ к базе данных, то это всего лишь вопрос времени, прежде чем они свяжут записи с конкретными людьми. Где-то в вашей базе данных (или в самом приложении) вам нужно будет установить связь между пользователем и элементами. Если у кого-то есть полный доступ, тогда у них будет доступ к этому механизму.
Нет абсолютно никакого способа предотвратить это.
Реальность заключается в том, что, имея полный доступ, мы находимся в состоянии доверия. Это означает, что менеджеры компании должны доверять тому, что, хотя вы можете видеть данные, вы никоим образом не будете действовать. Именно здесь в игру вступают мелочи, такие как этика.
Теперь, говоря, что многие компании отделяют персонал по разработке и производству. Цель состоит в том, чтобы удалить Development из прямого контакта с живыми (то есть реальными) данными. Это имеет ряд преимуществ: безопасность и надежность данных находятся на вершине кучи.
Единственный реальный недостаток заключается в том, что разработчики считают, что они не могут устранить проблему без доступа к продукции. Однако это просто неверно.
Производственный персонал тогда будет единственным, у которого есть доступ к живым серверам. Обычно они будут проверяться в большей степени (криминальная история и другие фоновые проверки), которые соразмерно типу данных, которые вы должны защитить.
Суть всего в том, что это кадровая проблема; и не тот, который действительно может быть разрешен с помощью технических средств.
UPDATE
Другие здесь, кажется, не хватает очень важного и важная часть головоломки. А именно, что данные вводятся в систему по какой-либо причине. Эта причина почти повсеместно, поэтому ее можно разделить. В случае отчета о расходах эти данные вводятся так, что учет может знать, кто должен окупиться.
Это означает, что система, на каком-то уровне, должны соответствовать пользователям и элементы без ввода данных человека (т.е. продавец) после входа в систему
И потому, что данные должны быть связаны друг с другом без. все стороны, участвующие там, чтобы ввести код безопасности для «освобождения» данных, тогда администратор базы данных сможет полностью просмотреть журналы запросов, чтобы выяснить, кто есть кто. И очень легко я могу добавить, независимо от того, сколько хэш-меток вы хотите выбросить в него. Triple DES не спасет вас.
В конце концов, все, что вы сделали, это сделать сложнее с абсолютно нулевой безопасностью. Я не могу подчеркнуть это достаточно: единственный способ скрыть данные от dba будет либо для 1., что данные до только будут доступны самому человеку, который ввел его, или 2. для того, чтобы его не существовало в первую очередь ,
Относительно варианта 1, если единственным человеком, который может когда-либо получить доступ к нему, является человек, который его ввел .. ну, нет смысла, чтобы он находился в корпоративной базе данных.
Что такое «информационное наполнение»? ;) – MPelletier
Спасибо, исправлена опечатка. –
Пожалуйста, не стесняйтесь спросить, недостаточно ли достаточно вопросов. Или если вы думаете/чувствуете/предполагаете, что, вероятно, нет решения этой проблемы: продолжайте и говорите так. –