He luchado con los nombres principales de servicio varias veces y la explicación de Microsoft simplemente no es suficiente. Estoy configurando una aplicación IIS para que funcione en nuestro dominio y parece que algunos de mis problemas están relacionados con mi necesidad de configurar SPN específicos de http en la cuenta de servicio de Windows que ejecuta el grupo de aplicaciones que aloja mi sitio.
Todo esto me ha hecho darme cuenta de que no entiendo completamente la relación entre los tipos de servicio (MSSQL, http, host, termsrv, wsman, etc.), la autenticación Kerberos, las cuentas de computadora del directorio activo (PCName $), las cuentas de servicios de Windows, SPN y la cuenta de usuario que estoy usando para intentar acceder a un servicio.
¿Alguien puede explicar los nombres principales de servicio de Windows (SPN) sin simplificar demasiado la explicación?
Puntos de bonificación para una analogía creativa que resonaría con un administrador / desarrollador de sistemas con experiencia moderada.
fuente
Respuestas:
Un nombre principal de servicio es un concepto de
Kerberos
. Es un identificador para un servicio particular ofrecido por un host particular dentro de un dominio de autenticación. La forma común para los SPN esservice class
/fqdn
@REALM
(por ejemploIMAP/[email protected]
). También hay nombres de usuario principal que identifican a los usuarios, en forma deuser
@REALM
(ouser1
/user2
@REALM
, que identifica un habla-de relación). Seservice class
puede considerar libremente como el protocolo para el servicio. La lista de clases de servicio integradas en Windows se enumera en este artículo de Microsoft .Cada SPN debe estar registrada en el
REALM
's Key Distribution Center (KDC) y emitió una clave de servicio . Lasetspn.exe
utilidad que está disponible en la\Support\Tools
carpeta en los medios de instalación de Windows o como una descarga del Kit de recursos, manipula las asignaciones de SPN a la computadora u otras cuentas en el AD.Cuando un usuario accede a un servicio que usa Kerberos para la autenticación (un servicio "Kerberizado") presenta un ticket cifrado obtenido de KDC (en un entorno Windows, un controlador de dominio de Active Directory). El ticket está encriptado con la clave de servicio . Al descifrar el ticket, el servicio demuestra que posee la clave para el SPN dado. Los servicios que se ejecutan en hosts de Windows usan la clave asociada con la cuenta de computadora AD, pero para cumplir con el protocolo Kerberos, los SPN deben agregarse al Active Directory para cada servicio kerberizado que se ejecuta en el host, excepto los SPN incorporados mencionados anteriormente. En Active Directory, los SPN se almacenan en el
servicePrincipalName
atributo del objeto de computadora del host.Para obtener más información, consulte: artículo de Microsoft TechNet sobre SPN , Preguntas frecuentes sobre Kerberos de Ken Hornstein
fuente
La respuesta de yarek fue excelente, y la voté, pero también quería darle un poco más de información específica de Windows sobre el tema, o más bien desde la perspectiva de alguien que esté más familiarizado con AD que solo Kerberos en general, solo porque este es un tema que me interesa mucho.
Sentí que este tipo hizo un excelente trabajo al explicarlo, y le recomiendo que lea su artículo, pero aquí hay un párrafo especialmente conciso sobre su pregunta:
El artículo completo está aquí: http://blogs.technet.com/b/askds/archive/2008/03/06/kerberos-for-the-busy-admin.aspx
fuente