Я думаю, что встроенная защита хороша, если она используется правильно. По какой-то причине я не могу понять, что многие компании, в которых я работал, не используют AD, разрешения SQL и модель безопасности IIS.
Если бы вам пришлось проектировать систему разрешений SQL Server с ключевым требованием, чтобы она была интегрирована в AD, вы, вероятно, могли бы придумать нечто очень похожее. ИМХО.
Мне нравится группировать пользователей в группы AD, а затем создавать групповые имена входа на SQL Server с различными разрешениями. Люди не должны иметь больше доступа к данным только потому, что у них есть инструменты для подключения к базе данных. Они должны иметь одинаковые права доступа к данным независимо от того, как они подключаются.
Гостевые пользователи (как и у анонимных веб-пользователей) должны быть в группе AD сами, в соответствии с рекомендациями по настройке IIS. Предоставление этой группе только доступа к тому, к чему они должны иметь доступ в базе данных, может однажды спасти данные от катастрофы. Трудно прочитать исходный код, чтобы узнать, защищены ли данные, гораздо проще изучить разрешения базы данных и конфигурацию безопасности.
Кроме того, неинтегрированная безопасность вредна, потому что пароли всегда распространяются, помещаются в конфигурационные файлы и т. Д.