Войти

Показать полную графическую версию : Kerberos аутентификация для SQL-сервера в доверенном домене.


cool_tiger
30-03-2017, 13:36
Добрый день.
Есть домен А и домен В. Между ними сделаны двухсторонние транзитивные доверительные отношения. Есть SQL-сервер версии 2012 в домене А, к которому необходимо подключаться используя MS SQL Management Studio через windows аутентификацию пользователям из домена А и В. Пользователи из домена А подключаются без проблем, используется проверка подлинности Kerberos (проверка исуществляется командой select auth_scheme from sys.dm_exec_connections where session_id=@@spid).
Пользователи домена В заходя под своими учётными записями, не могут подключиться к SQL серверу через windows аутентификацию, происходит ошибка: Cannot generate SSPI context. Учетные записи пользователей домена В сответсвенно добавлены на SQL-сервер. При этом имя sql сервера нормально резолвится, но если при подключении Management Studio задать не имя сервера а его IP то windows аутентификация работает, но проверка подлинности используется NTLM (опять же видно командой select auth_scheme from sys.dm_exec_connections where session_id=@@spid).
Если на компьютере в домене В зайти под учётной записью пользователя домена А, то на сервер заходит как по IP так и по имени сервера, но всё равно проверка подлинности NTLM. Пользователи домена А подключаются без проблем к серверу, проверка подлинности Kerberos. Из домена А видится запись SPN для данного SQL сервера:
setspn -L SQL-server.xxxx.xxx.xx
Зарегистрирован ServicePrincipalNames для CN=SQL-server,OU=Servers,DC=xxxx,DC=xxx,DC=xx:
MSSQLSvc/SQL-server.xxxx.xxx.xx
MSSQLSvc/SQL-server.xxxx.xxx.xx:1433

Из домена В делаю такую же проверку
setspn -L SQL-server.xxxx.xxx.xx
FindDomainForAccount: ошибка вызова DsGetDcNameWithAccountW с возвращаемым значнием 0x00000525
Не удалось найти учетную запись SQL-server.xxxx.xxx.xx

Судя по поиску в интернете подсказывают что SPN запись должна определяться в локальном домене, а уже потом проходить проверку подлинности в другом домене, но как создать эту запись? При попытке в домене В зарегистировать SPN командой setspn -A MSSQLSvc/SQL-server.xxxx.xxx.xx SQL-server$@xxxx.xxx.xx получаю ошибку:
FindDomainForAccount: ошибка вызова DsGetDcNameWithAccountW с возвращаемым значением 0x00000525
Не удается найти учетную запись SQL-server$@xxxx.xxx.xx

Помогите пожалуйста, как решить проблему аутентификации на sql-сервере, пользователей в доверенном домене.




© OSzone.net 2001-2012