Полагаю, это сводится к тому, чтобы "не изобретать велосипед" и не использовать эффект "многих глаз".
Используя аутентификацию Windows, вы используете возможности встроенной безопасности Windows, помимо которой вы можете добавлять свои собственные, если хотите. Это уже зрелая система, которая была проверена миллионы раз, избавляя вас от усилий (и от ваших клиентов, от затрат) на то, чтобы делать свои собственные ошибки и обнаруживать / исправлять их позже.
А потом множество людей постоянно сканируют процесс аутентификации Windows, проверяют его на наличие уязвимостей, ищут способы его обойти и т. Д. Когда уязвимость открыто раскрывается и ее исправление создается, ваше приложение просто получает «бесплатное» «Повышение безопасности.
В моей текущей работе группы AD используются как логины SQL, поэтому мы назначаем разрешения SQL на основе членства в группах AD. Таким образом, у всех членов инженерной группы sys есть некоторые разрешения, у администраторов есть другие, обычные пользователи - другие, контролеры - другие и т. Д. Добавление новых пользователей или изменение их разрешений - простая задача, которую можно выполнить только один раз в AD, и они сразу же получают разрешения, которые они должны получить в базе данных.
Редактировать сообщение :
Несколько слов о "изобретении велосипеда". В учетной записи AD я могу отказать в праве войти в систему на определенном компьютере или заблокировать его для каждой машины, за исключением одного или двух. Я могу запретить им входить в систему более чем на 2 рабочих станциях одновременно. Я могу заставить их сменить пароли через некоторое время, а также ввести в них минимальную силу. И некоторые другие приемы, все из которых улучшают безопасность в моей системе.
С пользователями SQL S. у вас ничего этого нет. Я видел людей, которые пытались заставить их выполнять сложные задания SQL или что-то вроде доморощенного демона, который, по моему мнению, изобретает колесо, изобретенное ранее.
И тогда вы не сможете остановить вход SA пользователя (или привилегированного пользователя) с любого компьютера. Однажды мне рассказали о том, как остановить грубую атаку на SQL S. У него был открыт порт для удаленного входа через Интернет - администраторы сайта реализовали задание, которое каждые полчаса меняло пароль SA. Если бы это был SQL + Windows, они могли бы просто сказать, что они хотят, чтобы администратор входил только с определенного ящика, или напрямую использовал только аутентификацию Windows, тем самым заставляя любого сначала пройти через VPN.