Foros del Web » Administración de Sistemas » Seguridad y redes » Administración de redes corporativas »

Acceder a SQL por medio de Active Directory

Estas en el tema de Acceder a SQL por medio de Active Directory en el foro de Administración de redes corporativas en Foros del Web. Hola chicos y chicas, Necesito acceder a SQL 2005 por medio de los usuarios de mi dominio de active directory. Hasta ahora accedian todos mediante ...
  #1 (permalink)  
Antiguo 02/07/2009, 08:29
 
Fecha de Ingreso: abril-2009
Mensajes: 35
Antigüedad: 15 años, 7 meses
Puntos: 0
Acceder a SQL por medio de Active Directory

Hola chicos y chicas,

Necesito acceder a SQL 2005 por medio de los usuarios de mi dominio de active directory.

Hasta ahora accedian todos mediante sa, pero conlleva muchos problemas de seguridad.

¿Hay alguna forma de acceder con el active directory?

Un saludo y muchas gracias.
  #2 (permalink)  
Antiguo 02/07/2009, 16:04
Avatar de bufom  
Fecha de Ingreso: enero-2008
Ubicación: Panamá
Mensajes: 1.384
Antigüedad: 16 años, 10 meses
Puntos: 13
Respuesta: Acceder a SQL por medio de Active Directory

Sospecho que es asunto para la Rutina en SQL SERVER llamada Grant_Tablas_Usuarios es una rutina que le da privilegios a los usuarios del AD sobre las tablas de la aplicación.


saludos...
__________________
“La experiencia es simplemente el nombre que le damos a nuestros errores”
  #3 (permalink)  
Antiguo 03/07/2009, 00:37
 
Fecha de Ingreso: abril-2009
Mensajes: 35
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Acceder a SQL por medio de Active Directory

He buscado Grant_Tablas_Usuarios en google, porque no lo se usar, y no me salen resultados. ¿Podrías explicarme un poco su funcionamiento?

Muchas gracias.
  #4 (permalink)  
Antiguo 03/07/2009, 16:27
Avatar de bufom  
Fecha de Ingreso: enero-2008
Ubicación: Panamá
Mensajes: 1.384
Antigüedad: 16 años, 10 meses
Puntos: 13
De acuerdo Respuesta: Acceder a SQL por medio de Active Directory

Muy buenas copia este query en el analizador de consultas de SQL Server donde dice JPINZON pones el nombre de la cuenta de inicio de sesion de ACTIVE DIRECTORY y lo corres...
a mi me sirvio...


saludos...

/* Rutina creada GRANT TABLE USER -- 30 de septiembre del 2002 -- UP */


declare @name as varchar(255)
declare @owner as varchar(255)
declare @usuario as varchar(255)

set @usuario = 'JPINZON'

exec (' GRANT ALL TO ['+ @usuario + '] ')

declare tablas cursor local for select name, uid from sysobjects where OBJECTPROPERTY ( sysobjects.id ,'ISUSERTABLE') = 1 and OBJECTPROPERTY ( sysobjects.id ,'OwnerId') = user_id('dbo') order by name
OPEN tablas
FETCH tablas INTO @name, @owner
print '<< TABLAS >>'
while @@fetch_status = 0
begin
print @name + ', ' + @owner
exec (' GRANT SELECT, INSERT, UPDATE, DELETE ON [' + @name + '] to ['+ @usuario + ']')
FETCH tablas INTO @name, @owner
end
CLOSE tablas
DEALLOCATE tablas
print ' '
print ' '


declare vistas cursor local for select name, uid from sysobjects where OBJECTPROPERTY ( sysobjects.id ,'IsView') = 1 and OBJECTPROPERTY ( sysobjects.id ,'OwnerId') = user_id('dbo') order by name
OPEN vistas
FETCH vistas INTO @name, @owner
print '<< VISTAS >>'
while @@fetch_status = 0
begin
print @name + ', ' + @owner
exec (' GRANT SELECT, INSERT, UPDATE, DELETE ON [' + @name + '] to ['+ @usuario + ']')
FETCH vistas INTO @name, @owner
end
CLOSE vistas
print ' '
print ' '
DEALLOCATE vistas


declare procedimientos cursor local for select name, uid from sysobjects where OBJECTPROPERTY ( sysobjects.id ,'IsProcedure') = 1 and OBJECTPROPERTY ( sysobjects.id ,'OwnerId') = user_id('dbo') order by name
OPEN procedimientos
FETCH procedimientos INTO @name, @owner
print '<< PROCEDIMIENTOS >>'
while @@fetch_status = 0
begin
print @name + ', ' + @owner
exec (' GRANT EXECUTE ON [' + @name + '] to ['+ @usuario + ']')
FETCH procedimientos INTO @name, @owner
end
CLOSE procedimientos
print ' '
print ' '
DEALLOCATE procedimientos


declare funcionescalar cursor local for select name, uid from sysobjects where OBJECTPROPERTY ( sysobjects.id ,'IsScalarFunction') = 1 and OBJECTPROPERTY ( sysobjects.id ,'OwnerId') = user_id('dbo') order by name
OPEN funcionescalar
FETCH funcionescalar INTO @name, @owner
print '<< FUNCIONES >>'
while @@fetch_status = 0
begin
print @name + ', ' + @owner
exec (' GRANT EXECUTE ON [' + @name + '] to ['+ @usuario + ']')
FETCH funcionescalar INTO @name, @owner
end
CLOSE funcionescalar
print ' '
print ' '
DEALLOCATE funcionescalar


declare funcionestable cursor local for select name, uid from sysobjects where OBJECTPROPERTY ( sysobjects.id ,'IsTableFunction') = 1 and OBJECTPROPERTY ( sysobjects.id ,'OwnerId') = user_id('dbo') order by name
OPEN funcionestable
FETCH funcionestable INTO @name, @owner
print '<< FUNCIONES >>'
while @@fetch_status = 0
begin
print @name + ', ' + @owner
exec (' GRANT SELECT, INSERT, UPDATE, DELETE ON [' + @name + '] to ['+ @usuario + ']')
FETCH funcionestable INTO @name, @owner
end
CLOSE funcionestable
print ' '
print ' '
DEALLOCATE funcionestable
__________________
“La experiencia es simplemente el nombre que le damos a nuestros errores”

Última edición por bufom; 04/07/2009 a las 07:32
  #5 (permalink)  
Antiguo 07/07/2009, 00:51
 
Fecha de Ingreso: abril-2009
Mensajes: 35
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Acceder a SQL por medio de Active Directory

Muy buenas bufom,

tengo entendido que GRANT TABLE USER es para dar permisos a los usuarios. Creo que me he explicado mal, ya que yo no estoy buscando eso.

Lo que necesito es que cuando yo note algún cambio en alguna tabla, vista, procedimiento, etc... lanzar una traza y ver quien a tenido acceso a esa tabla, vista, procedimiento... y lo ha modificado.

Espero que puedas ayudarme.

Muchas gracias y un saludo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:03.