Me gustaría utilizar la seguridad integrada con mi aplicación interna que está en un dominio. Desafortunadamente, nunca he podido hacer que esto funcione bien. Me gustaría asignar a un grupo completo de Exchange (Active Directory) un rol en SQL Server para el acceso de lectura / escritura a ciertas tablas. De esa manera no tendría que crear un operador cada vez que se contrata a alguien o eliminar un operador cada vez que se despide a alguien. es posible? ¿Qué pasos tomaría para hacer esto?
sql-server
sql-server-2008
security
role
active-directory
Michael Hedgpeth
fuente
fuente
Otorgar los permisos dentro de SQL Server a un grupo de AD es relativamente sencillo. Se puede hacer a través de T-SQL o Management Studio.
Por ejemplo, si tiene un grupo de AD llamado
MYDOMAIN\APPLICATION SUPPORT
, crearía el inicio de sesión en el nivel del servidor y luego usaría asignaciones a bases de datos individuales para otorgar permisos ligeramente más granulares, como el lector de datos.Idealmente, todo el acceso a la aplicación debe ser a través de procedimientos almacenados *, por lo que solo se requieren permisos de ejecución en esos procedimientos almacenados en esa base de datos.
* Desde el punto de vista de la seguridad, para permitir que un usuario en particular vea algunos datos específicos, puede crear un procedimiento y otorgarle al usuario permiso para ejecutar ese procedimiento, y nada más. Permitir que el usuario realice consultas directamente significaría otorgar un permiso de selección en todas las tablas involucradas. También es más fácil trabajar con procedimientos y más fácil de depurar.
Los procedimientos almacenados resumen el acceso a la tabla y limitan el acceso. Para los tipos de DBA, es como "déjame ver todas tus variables de instancia: no quiero usar métodos, captadores o establecedores".
fuente
De marc_s respondiendo "Cómo agregar un grupo de usuarios de Active Directory como inicio de sesión en SQL Server" :
En SQL Server Management Studio, vaya
Object Explorer > (your server) > Security > Logins
y haga clic con el botón derechoNew Login
:Luego, en el cuadro de diálogo que aparece, seleccione los tipos de objetos que desea ver (
Groups
está deshabilitado de forma predeterminada, ¡compruébelo!) Y elija la ubicación donde desea buscar sus objetos (por ejemplo, usarEntire Directory
) y luego encuentre su grupo de AD .Ahora tiene un inicio de sesión de SQL Server regular, al igual que cuando crea uno para un solo usuario de AD. Dele a ese nuevo inicio de sesión los permisos en las bases de datos que necesita, ¡y listo!
Cualquier miembro de ese grupo de AD ahora puede iniciar sesión en SQL Server y usar su base de datos.
fuente
Si el usuario es miembro de un DOMAIN \ SecurityGroup que tiene autorización de Sysadmin en SQL, se usará al acceder a las bases de datos. De lo contrario, debe ver qué DOMINIO \ Grupo (s) de seguridad han otorgado autoridad en cada base de datos. Si el usuario es miembro de 2 SecurityGroups, con SecGroupA con autoridad de selección y SecGroupB con autoridad de inserción, el usuario puede seleccionar e insertar.
fuente