KDC_ERR_C_PRINCIPAL_UNKNOWN devuelto en la solicitud S4U2Self

En este artículo se proporciona ayuda para resolver un problema en el que las solicitudes S4U2Self producen un error con el error KDC_ERR_C_PRINCIPAL_UNKNOWN.

Se aplica a: Windows Server 2012 R2
Número de KB original: 2009157

Síntomas

Está ejecutando un servidor de aplicaciones que necesita autorizar a los usuarios que no tienen un inicio de sesión con el servidor para realizar comprobaciones basadas en roles mediante pertenencias a grupos de seguridad de Active Directory. Está usando la API de AuthZ para realizar este trabajo. Otro escenario en el que puede producirse este problema es un servidor que acepta certificados de usuario para el inicio de sesión, por ejemplo, un servidor web como Internet Information Server (IIS). Para recuperar la información necesaria para las comprobaciones de acceso en los recursos locales, LSASS realiza una transacción Kerberos S4U2Self. Pero se produce un error y el usuario no puede iniciar sesión o no puede comprobar el rol del usuario.

En un seguimiento de red, puede ver varias solicitudes con padata tipo PA-PAC-REQUEST (tipo 128) que producen errores KDC_ERR_C_PRINCIPAL_UNKNOWN (código de error 6) o KDC_ERR_PREAUTH_REQUIRED (25). Pero no son fatales. El código de error 6 para estos significa que el controlador de dominio en el que se realizó la solicitud no hospeda la cuenta y el cliente debe elegir un controlador de dominio diferente. El código de error 25 significa que el cliente no puede recuperar el certificado de atributo de privilegios (PAC) del usuario sin la validación adecuada. A continuación, el cliente obtiene un vale adecuado para el centro de distribución de claves de dominio (KDC) del usuario.

A continuación, la última solicitud se envía con el tipo PaData PA-FOR-USER (tipo 129) con el nombre principal del servicio host del servidor de aplicaciones (SPN) como SName y el nombre principal de usuario (UPN) del usuario en la rama PaForUser del marco. El cliente de la solicitud es el servidor de aplicaciones.

Esta solicitud ahora también produce un error KDC_ERR_C_PRINCIPAL_UNKNOWN (código de error 6). Se trata de un error irrecuperable.

Nota:

Será útil ejecutar el seguimiento de red a través del reensamblado de fotogramas en Network Monitor 3.x.

Causa

El error kerberos es realmente un error de acceso denegado para leer este atributo. La solicitud S4U2Self tiene acceso al atributo construido por el usuario TokenGroupsGlobalAndUniversal y requiere permisos para hacerlo. De forma predeterminada, los usuarios autenticados tienen estos permisos.

Solución

Si estos permisos se han cambiado o revocado, deberá agregar las cuentas solicitantes al grupo de acceso de autorización de Windows. De forma predeterminada, este grupo tiene el acceso necesario en todas las cuentas de usuario y equipo. Si también ha cambiado los permisos del grupo de acceso de autorización de Windows, debe construir los permisos o usar un grupo personalizado para conceder los permisos.

Más información

Este comportamiento es independiente de cómo se configura la infraestructura de clave pública (PKI) para el caso de inicio de sesión del certificado. También es independiente de si tanto el servidor como el usuario están en el mismo bosque o en bosques diferentes. Si están en bosques diferentes, funcionaría con o sin la autenticación selectiva habilitada. El usuario necesita acceso "permitido para autenticar" para el servidor si la autenticación selectiva está habilitada.

En el caso de inicio de sesión de certificado, la aplicación de servidor obtendría un identificador a un token de acceso cuando la transacción kerberos se realiza correctamente. Este token de acceso no es bueno para la delegación de Kerberos.

Puede obtener el identificador de evento 25 de advertencia de KDC cuando se produce un error en la solicitud S4U2Self. Debe establecer KdcExtraLogLevelen 0x08. Para obtener más información sobre esta entrada del Registro, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
837361 entradas del registro del protocolo Kerberos y claves de configuración de KDC en Windows Server 2003