У меня есть учетная запись пользователя домена (скажем, на mydomain.com), которая настроена как учетная запись для входа в многочисленные экземпляры SQL Server 2005 на нескольких машинах. Я хочу, чтобы эта учетная запись домена (а не учетные записи компьютеров) была доверенной для делегирования, в первую очередь для выполнения двухэтапной аутентификации между серверами SQL через связанные серверы. Безопасность связанного сервера будет настроена на использование контекста существующего соединения, и все экземпляры SQL Server работают в контексте указанной учетной записи домена.
В качестве аргумента это будут имена экземпляров экземпляров SQL: svra (экземпляр sql по умолчанию) svra \ inst2 (именованный экземпляр sql) svrb (экземпляр sql по умолчанию)
Тогда я думаю, что SPN, которые я хочу зарегистрировать в Active Directory, будут MSSQLSvc / svra.mydomain.com: 1433 MSSQLSvc / svrb.mydomain.com: 1433
Мне не нужен третий экземпляр для именованного экземпляра в svra, не так ли?
Может ли кто-нибудь подтвердить, что это правильный формат для SPN? Кроме того, это позволит IIS, работающему под той же учетной записью домена, выполнять двухэтапную аутентификацию для экземпляров SQL, правильно?
Вам нужно SPN для каждого экземпляра, а порт в конце SPN обозначает экземпляр на машинах с несколькими экземплярами. В некоторых средах вам может потребоваться SPN как для netbios, так и для FQDN. Имя участника-службы должно принадлежать текущей учетной записи службы, а не какой-либо другой учетной записи. См. KB 811889 Как устранить неполадки с сообщением об ошибке «Не удается создать контекст SSPI»
Кроме того, использование одной и той же учетной записи для нескольких служб противоречит лучшим практикам безопасности.
Это не касается части делегирования, но охватывает настройку аутентификации и получение правильных имен SPN:
Обычно вам необходимо зарегистрировать как полное доменное имя SPN, так и имя Netbios SPN: MSSQLSvc / svra.mydomain.com: 1433 И MSSQLSvc / svra: 1433
Для вторичного экземпляра (inst2) вам потребуется SPN для TCP-порта этого экземпляра MSSQLSvc / svra: 1500 (например)
Кроме того, если процесс службы SQL Server выполняется под учетной записью домена, вам также необходимо указать это, например
MSSQLSvc / svra.mydomain.com: 1433
Обратите внимание, что если вы запускаете сервисный процесс SQL Server как LOCALSYSTEM, эти SPN создаются автоматически.
Наконец, вам необходимо установить флаг «Доверено для делегирования» в учетной записи компьютера сервера IIS в домене.