
Estoy creando una instancia de SQL Server para fines de generación de informes. Mi plan es utilizar grupos de AD para inicios de sesión en servidores y bases de datos. Tengo varios grupos con diferentes roles (administrador, desarrollador, usuario, etc.) y me gustaría asignar estos roles a los roles de la base de datos de SQL Server (db_owner, db_datawriter, etc.). ¿Cuáles son las ventajas y desventajas de utilizar grupos de AD para iniciar sesión? ¿Qué tipo de problemas has notado?
Respuesta1
Aparte de los gastos generales de tener que gestionar AD en primer lugar, no creo que haya ninguna desventaja. El uso de credenciales de inicio de sesión de Windows para SQL Server, particularmente en la forma en que habla con grupos de roles organizados, es sin duda una recomendación de mejores prácticas de Microsoft. Si se salieran con la suya, eliminarían por completo la opción de autenticación de SQL Server.
Apéndice:
Si está utilizando SQL 2005 o superior, utilice la opción Esquema predeterminado (no crea que existe una opción GUI para esto), de la siguiente manera:
ALTER USER userName
WITH <set_item> [ ,...n ]
<set_item> ::=
NAME = newUserName
| DEFAULT_SCHEMA = schemaName
| LOGIN = loginName
es decir:
ALTER USER DOMAIN\UserName DEFAULT_SCHEMA = dbo;
GO
Respuesta2
La administración de grupos de Active Directory también se puede delegar a administradores que no sean de Active Directory, lo que puede ser una característica útil además de una herramienta de administración de aplicaciones.
Respuesta3
La mayor desventaja con la que me he topado son las aplicaciones de terceros que no admiten la autenticación AD e insisten en usar la autenticación SQL, generalmente con inicios de sesión creativos como admin/admin; salvo eso, el único otro problema es que no tiene visibilidad total en el servidor SQL de quién tiene acceso a las bases de datos, solo ve el grupo o ve a los usuarios cuando están activos o si poseen objetos. Pero mientras su DBA tenga acceso a Active Directory si necesita información a nivel de usuario, es un problema menor.