Мы планируем переместить большую часть нашей базы данных на сервер SQL нашего веб-хоста. Сервер SQL доступен только через логины SQL. Есть ли способ настроить что-то локально, чтобы распознавать учетные данные пользователей Windows и автоматически предоставлять им доступ к удаленной базе данных?
Это упростило бы задачу для пользователей, поскольку им не нужно было бы придумывать еще один набор учетных данных для входа, а для меня это было бы проще, поскольку мне не пришлось бы поддерживать их отдельно.
Самым простым решением, которое я придумал, было бы хранить учетные данные для входа в какое-то общее место, доступное только людям, которым должен быть разрешен доступ к базе данных. Однако это кажется мне крайне наивным решением и, возможно, полным дыр в безопасности.
Еще один вариант, который пришел мне в голову, - использовать веб-интерфейс, размещенный на нашем основном сервере. Тогда только этому сайту потребуются учетные данные для входа. Однако это не сработало бы, если бы мы хотели сделать что-то более продвинутое (например, приложение Windows Forms или отчеты на основе Access).
В идеале мне нужен какой-то прокси-сервер SQL, но Google не очень помогает в этом отношении.
Есть предположения?
Если у вас все еще есть SQL Server в вашем домене, вы можете использовать связанный сервер в качестве своего рода прокси. Вы можете определить сопоставления удаленного входа в систему в определении связанного сервера, чтобы вы могли сопоставить локальные учетные записи Windows с их удаленными аналогами с аутентификацией SQL.
Я не знаю, почему вы не включаете смешанный режим аутентификации. Это решит вашу проблему, ИМХО, без требования домена.
После включения смешанного режима вы отключаете учетную запись «sa», включаете прослушиватель порта 1433 tcp / ip, затем добавляете учетные записи пользователей NT в качестве пользователей в SQL, а затем редактируете роль «общедоступного» сервера, а затем добавляете пользователей NT в роль «public» на сервере sql с разрешением «connect» (как и у пользователя «sa»). Наконец, убедитесь, что администратор, которому принадлежит SQL-сервер, заблокирован, чтобы никто не мог войти в систему, кроме администратора.