none
Conectar con una cuenta de usuario de Microsoft RRS feed

  • Pregunta

  • Hola,

    Uso seguridad integrada (autenticación Windows). Las bases de datos están en un servidor en red local (PC1\SQLEXPRESS), si en un ordenador de la red, por ejemplo PC2, el usuario usa una cuenta de Microsoft( Usuario@outlook.com) y trata de conectar con una BD, responde con un error "el nombre principal no es correcto. no se puede generar contexto SSPI". Solo conecta si el usuario cambia a una cuenta normal, no de Microsoft. ¿Es esto normal o debo cambiar alguna configuración, sin cambiar la forma de autenticación?

    lunes, 6 de noviembre de 2017 17:46

Respuestas

  • Efectivamente, en un grupo de trabajo tendrias que usar el modo mixto.

    La cuestion es que el servidor tiene que ser capaz de validar la cuenta con la que el usuario accede. Cuando usas el modo mixto, la valida gracias a que contiene su propia tabla con el hash de la contraseña. Cuando usa cuentas de dominio, puede validar el login gracias a que el servidor es miembro del mismo dominio y puede pedirle al controlador de dominio que valide el token de acceso. Pero cuando es una cuenta de Microsoft, el servidor SQL no sabe "pedirle" a Microsoft que valide esa cuenta. No es que no se pueda hacer en teoria (los servidores de Microsoft tienen las APIs para ello), simplemente es que no viene incluida en SQL Server esa funcionalidad de validación contra esos servidores.

    • Propuesto como respuesta Juan MondragónModerator miércoles, 8 de noviembre de 2017 18:05
    • Marcado como respuesta hiperpp miércoles, 8 de noviembre de 2017 22:01
    • Desmarcado como respuesta hiperpp miércoles, 8 de noviembre de 2017 22:04
    • Marcado como respuesta hiperpp miércoles, 8 de noviembre de 2017 22:06
    martes, 7 de noviembre de 2017 12:26

Todas las respuestas

  • Para usar la autenticación integrada hace falta que los dos equipos sean miembros de un mismo árbol de dominios de Directorio Activo, y que se use para hacer login una cuenta del Dominio de directorio activo (que antes tiene que haber sido dada de alta como login en el SQL Server). Si se usa cualquier otro tipo de cuenta (tales como cuentas locales de Windows o cuentas de Microsoft), la solución es habilitar en el SQL Server el Modo Mixto y usar cuentas de SQL Server, en lugar de usar la autenticación integrada.
    • Propuesto como respuesta MarianokMVP lunes, 6 de noviembre de 2017 21:33
    • Votado como útil hiperpp miércoles, 8 de noviembre de 2017 22:01
    lunes, 6 de noviembre de 2017 21:17
  • Gracias Alberto por tu contestación, pero mi pregunta,en esencia, era SI se podía utilizar una cuenta de Microsoft del  tipo "usuario@outlook.com" con autenticación integrada. Deduzco por tu contestación que solo se puede en modo Mixto, ya que no se usa cuenta de dominio , la red esta en grupo de trabajo.
    martes, 7 de noviembre de 2017 12:16
  • Efectivamente, en un grupo de trabajo tendrias que usar el modo mixto.

    La cuestion es que el servidor tiene que ser capaz de validar la cuenta con la que el usuario accede. Cuando usas el modo mixto, la valida gracias a que contiene su propia tabla con el hash de la contraseña. Cuando usa cuentas de dominio, puede validar el login gracias a que el servidor es miembro del mismo dominio y puede pedirle al controlador de dominio que valide el token de acceso. Pero cuando es una cuenta de Microsoft, el servidor SQL no sabe "pedirle" a Microsoft que valide esa cuenta. No es que no se pueda hacer en teoria (los servidores de Microsoft tienen las APIs para ello), simplemente es que no viene incluida en SQL Server esa funcionalidad de validación contra esos servidores.

    • Propuesto como respuesta Juan MondragónModerator miércoles, 8 de noviembre de 2017 18:05
    • Marcado como respuesta hiperpp miércoles, 8 de noviembre de 2017 22:01
    • Desmarcado como respuesta hiperpp miércoles, 8 de noviembre de 2017 22:04
    • Marcado como respuesta hiperpp miércoles, 8 de noviembre de 2017 22:06
    martes, 7 de noviembre de 2017 12:26
  •  Pero cuando es una cuenta de Microsoft, el servidor SQL no sabe "pedirle" a Microsoft que valide esa cuenta. No es que no se pueda hacer en teoria (los servidores de Microsoft tienen las APIs para ello), simplemente es que no viene incluida en SQL Server esa funcionalidad de validación contra esos servidores.

    Con  tu respuesta me queda claro. Curioso que así sea, pero es lo que hay.

    Saludos Alberto

    martes, 7 de noviembre de 2017 14:50