Я хочу, чтобы мои приложения подключались к SQL-серверу с помощью учетной записи службы, а не передавали учетные данные пользователя домена. При прохождении необходимо предоставить конкретным пользователям доступ для чтения/записи к базе данных, который я считаю дырой в безопасности.SQL Server: определение пользователя домена при использовании учетной записи службы
Мой вопрос: если я устанавливаю соединение с SQL-сервером с использованием учетных данных служебной учетной записи, все еще можно определить фактического пользователя, который инициировал запрос? Например, Джон Смит, пользователь домена, посещает веб-сайт и выполняет некоторые действия. Соединение с базой данных устанавливается с учетными данными безопасности некоторой учетной записи службы, однако имя johh smith все еще передается на SQL-сервер. SQL будет использовать имя этого человека в некотором роде - например, хранить его в таблице аудита и т. д.
Можно ли это сделать? Является ли это лучшей практикой, учитывая, что мне нужно каким-то образом получить имя исходного пользователя на SQL-сервер?
Что случилось с использованием проверки подлинности Windows, с группами безопасности? То есть предоставлять доступ к группам, а не отдельным пользователям. –
Потому что это позволяет им выполнять запросы непосредственно к базе данных, минуя правила приложения. Причины, по которым вы можете остановить это, - это то же самое, что и причина защиты вашего приложения от SQL-инъекции. – Trent