¿Qué cuenta de usuario recomendaría ejecutar los servicios SQL Server Express 2008 en un entorno de desarrollo?


La configuración de SQL Server Express 2008 le permite asignar diferentes cuentas de usuario para cada servicio.

Para un entorno de desarrollo, ¿usaría un usuario de dominio, usuario local, NT Authority\NETWORK SERCVICE, NT Authority\Local System o alguna otra cuenta y por qué?

Author: Magnus Lindhe, 2008-09-15

4 answers

No se recomienda el Sistema Local, es una cuenta equivalente al administrador y, por lo tanto, puede conducir a una codificación cuestionable que aprovecha los privilegios de administrador que no se permitirían en un sistema de producción, ya que a los administradores/DBA conscientes de la seguridad realmente no les gusta ejecutar servicios como administrador.

Dependiendo de si la instancia del servidor necesitará acceder a otros recursos de dominio o no, debe determinar en qué tipo de cuenta de privilegios bajos debe ejecutarse.

Si no necesita acceder a ningún recurso de dominio (no anónimo), normalmente creo una cuenta local única de privilegios bajos para que se ejecute con el fin de obtener el beneficio de seguridad adicional de no tener varios servicios que se ejecutan en el mismo contexto de identidad. Tenga en cuenta que la cuenta de Servicio local no es compatible con los servicios SQL Server o SQL Server Agent.

Si necesita acceder a recursos de dominio no anónimos, entonces tiene tres opciones:

  1. Ejecutar como Servicio de Red que también es una cuenta de privilegios bajos, pero que conserva las credenciales de red de los equipos.
  2. Ejecutar bajo una Cuenta de Servicio Local
  3. Se ejecuta bajo una cuenta de dominio personalizada con privilegios locales bajos. Una ventaja de ejecutar bajo la cuenta de desarrolladores es que es más fácil adjuntar depuradores a procesos en su propia identidad sin comprometer la seguridad, por lo que la depuración es más fácil (ya que las cuentas no administradoras no tienen el privilegio de adjuntar un depurador a otro proceso de identidades por defecto). Una desventaja de usar otra cuenta de dominio es la sobrecarga de administrar esas cuentas, especialmente porque cada servicio para cada desarrollador debería tener credenciales únicas para que no tenga fugas si un desarrollador se va.

La mayor parte de lo que tiendo a hacer no requiere el servicio para acceder a los recursos de dominio, por lo que tiendo a usar cuentas locales únicas de bajo privilegio que administro. Yo también corro exclusivamente como usuario no administrador (y lo he hecho bajo XP SP2, Server 2003, Vista y Server 2008 sin problemas mayores), por lo que cuando tengo casos en los que necesito el servicio para acceder a los recursos del dominio, no tengo preocupaciones sobre el uso de mis propias credenciales de dominio (además de esa manera, no tengo que preocupar a los administradores de red sobre la creación/mantenimiento de un montón de identidades de dominio que no son de producción).

 33
Author: Joe Kuemerle,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-06-11 02:37:34

Depende.

  • Sistema local-Nunca, es demasiado alto privilegio.
  • Servicio de Red - Tal vez, si necesita conectarse a recursos de red, pero eso es dudoso.
  • Servicio local-Probablemente la mejor opción, privilegios limitados, no desbloquear conexiones de red
  • ¿Usuario interactivo local? Haciéndolo realmente necesita tener derechos de inicio de sesión, o ¿actuar como usuario?
  • ¿Usuario de dominio? Bondad no, no a menos que estés accediendo unidades de red desde dentro de ella; si Ejecuciones SQL amok entonces un atacante es autenticado contra el dominio.
 14
Author: blowdart,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-15 15:12:54

MS ahora tiene un buen artículo sobre esto: http://msdn.microsoft.com/en-us/library/ms143504 (v = sql.105).aspx

Indican que el Servicio local no está permitido para SQL Server Engine. Personalmente, uso el Sistema local solo para evitar problemas durante el desarrollo, pero en producción, la mejor práctica es crear una cuenta de servicio a nivel de dominio con solo los permisos que necesita para realizar el trabajo.

 4
Author: Schrodo_Baggins,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-10-01 16:34:25

Lo que quiera usar por defecto. Cambiar eso es solo buscar problemas después.

 -3
Author: Joel Coehoorn,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-15 15:19:50