Manejo de logines y usuarios

16/12/2003 - 20:53 por Hernán Rado | Informe spam
Que tal Gente !

Necesito que un grupo de usuarios puedan dar de alta logines y usuarios en
las bases de datos, que puedan darles permisos a objetos y agregarlos a los
roles y cambiar contraseñas.

Esto resulta sencillo si agregamos al usuario/s al role fijo de servidor
securityadmin y dentro de cada base de usuario agregarlo/s al los roles
fijos de base db_securityadmin y al db_accessadmin (tal como lo recomiendan
los manuales)

Pero de esta forma NO PUEDO CAMBIAR LA CONTRASEÑA DE LOS LOGINES (ya que
pide la contraseña vieja), NO PUEDO CAMBIAR LA BASE POR DEFECTO NI AGREGAR A
UN USUARIO A UN ROL FIJO DE BASE DE DATOS. (Ej: no puedo agregar a un
usuario al rol db_datareader)

¿Alguién pudo lograr esto?

Desde ya muchas gracias y espero que alguno de ustes me de una mano

Saludos

Hernán

Preguntas similare

Leer las respuestas

#6 Javier Loria
19/12/2003 - 00:22 | Informe spam
Hola Hernan:
Efectivamente probe y pude cambiarlo, como lo estas haciendo con el
Enterprise Manager o con procedimientos?
Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.
Hernán Rado escribio:
Que tal Javier, gracias por contestar, pero te comento que no puedo
lograr que un usuario que pertenezca al role de servidor
SecurityAdmin no puede cambiar contraseñas, sin saber la contraseña
vieja. (la base por defecto SI la puede cambiar, ya lo probe)

Por otro lado, como vos decís, puedo solventar el no poder agregar a
los usuarios a los roles fijos de la base, creando roles de usuario y
asignándolos a los roles fijos.

En concreto lo único que me faltaría para se una persona feliz, es
poder cambiar la contraseña de los usuarios perteneciendo al
SecurityAdmin sin saber la contraseña vieja. ¿vos lo probaste,
pudiste?

Nuevamente agradezco tu respuesta




"Javier Loria" escribió en el mensaje
news:
Hola Hernan:
No se si entendi, pero si un Login pertenece al Rol de Servidor
SecurityAdmin SI PUEDE:
- Cambiar la Contrasena de los Logines SIN SABER LA
CONTRASENA VIEJA
- Puede CAMBIAR LA BASE DE DATOS POR DEFECTO de un usuario.
Si adicionalmente el Login esta asociado con un Usuario en la BD
que pertence a los roles de db_AccessAdmin y db_SecurityAdmin podra
agregar usuarios a la BD y agregarlo a Roles de la BD, lo UNICO que
no puede hacer es agregarlo a los Roles FIJOS de la BD (db_reader,
db_writer, etc.) Esto puede facilmente sobrepasarse si creas tus
propios roles de BD (Ejemplo: Lector, LectorEscritor) y estos roles
puede el Administrador o DBO hacerlos miembros de los roles fijos de
BD. De esta manera automaticamente con hacerlos miembros de tus
roles adquieren los permisos de los roles fijos.
Algo que NO pueden hacer estos roles es administrar a los DBO o
SYSADMIN. Si necesitas un paso a paso en T-SQL, con gusto lo escribo.
Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.

Hernán Rado escribio:
Gracias Ulises !!!
Yo quería lograr esto sin tener que agregar al usuario al rol
db_owner de la base, ya que no quiero que pueda hacer ciertas cosas
que este role permite, pero veo que no hay otro camino, no ??

Agradezco tu respuesta

"ulises" escribió en el mensaje
news:1541701c3c42b$36f80e90$
Vas a necesitar que los usuarios que manejen los logins
tengan permisos de securityadmin y db_owner en la base de
datos que puedan modificar.

Por ejemplo, si creas una base de datos test y en ella
ejecutas lo siguiente :

USE test
exec sp_addlogin usuario1, 'password1'
go
exec sp_addlogin usuario2, 'password2'
go
exec sp_grantdbaccess usuario1, usuario1
go
exec sp_grantdbaccess usuario2, usuario2
go
exec sp_addsrvrolemember usuario1, 'securityadmin'
go
exec sp_addrolemember 'db_owner', usuario1
go

tendrás dos usuarios : usuario1 que tiene los permisos
indicados y usuario2 que será un usuario común, luego de
ello si te conectas con usuario1 puedes modificar los
parámetros de usuario2 de la siguiente manera :

sp_password NULL, 'otropass', usuario2
go
sp_addrolemember 'db_datareader',usuario2
go
sp_defaultdb usuario2, 'pubs'
go
Password changed.
'usuario2' added to role 'db_datareader'.
Default database changed.

Saludos,
Ulises

Que tal Gente !

Necesito que un grupo de usuarios puedan dar de alta


logines y usuarios en
las bases de datos, que puedan darles permisos a objetos


y agregarlos a los
roles y cambiar contraseñas.

Esto resulta sencillo si agregamos al usuario/s al role


fijo de servidor
securityadmin y dentro de cada base de usuario


agregarlo/s al los roles
fijos de base db_securityadmin y al db_accessadmin (tal


como lo recomiendan
los manuales)

Pero de esta forma NO PUEDO CAMBIAR LA CONTRASEÑA DE LOS


LOGINES (ya que
pide la contraseña vieja), NO PUEDO CAMBIAR LA BASE POR


DEFECTO NI AGREGAR A
UN USUARIO A UN ROL FIJO DE BASE DE DATOS. (Ej: no puedo


agregar a un
usuario al rol db_datareader)

¿Alguién pudo lograr esto?

Desde ya muchas gracias y espero que alguno de ustes me


de una mano

Saludos

Hernán


.
Respuesta Responder a este mensaje
#7 Hernán Rado
19/12/2003 - 15:25 | Informe spam
Por cualquiera de los dos métodos.

Lo probe en un SQL 2000 y no tuve probemas, el tema está en los SQL 7.0, te
paso los permisos para el role fijo SecurityAdmin: (se puede apreciar que en
el SQL 7 no tiene el sp_password)

Nuevamente gracias

Si ejecuto el sp_srvrolepermission para ver los permisos de el role, se
puede apreciar lo siguiente en un SQL 7.0 :

EXEC sp_srvrolepermission 'securityadmin'

ServerRole Permission


securityadmin Add member to securityadmin

securityadmin Grant/deny/revoke CREATE DATABASE

securityadmin Read the error log

securityadmin sp_addlinkedsrvlogin

securityadmin sp_addlogin

securityadmin sp_defaultdb

securityadmin sp_defaultlanguage

securityadmin sp_denylogin

securityadmin sp_droplinkedsrvlogin

securityadmin sp_droplogin

securityadmin sp_grantlogin

securityadmin sp_helplogins

securityadmin sp_remoteoption update part

securityadmin sp_revokelogin

(14 row(s) affected)



En un SQL2000:

ServerRole Permission


securityadmin Add member to securityadmin

securityadmin Grant/deny/revoke CREATE DATABASE

securityadmin Read the error log

securityadmin sp_addlinkedsrvlogin

securityadmin sp_addlogin

securityadmin sp_defaultdb

securityadmin sp_defaultlanguage

securityadmin sp_denylogin

securityadmin sp_droplinkedsrvlogin

securityadmin sp_droplogin

securityadmin sp_dropremotelogin

securityadmin sp_grantlogin

securityadmin sp_helplogins

securityadmin sp_password

securityadmin sp_remoteoption (update)

securityadmin sp_revokelogin

(16 row(s) affected)




"Javier Loria" escribió en el mensaje
news:
Hola Hernan:
Efectivamente probe y pude cambiarlo, como lo estas haciendo con el
Enterprise Manager o con procedimientos?
Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.
Hernán Rado escribio:
> Que tal Javier, gracias por contestar, pero te comento que no puedo
> lograr que un usuario que pertenezca al role de servidor
> SecurityAdmin no puede cambiar contraseñas, sin saber la contraseña
> vieja. (la base por defecto SI la puede cambiar, ya lo probe)
>
> Por otro lado, como vos decís, puedo solventar el no poder agregar a
> los usuarios a los roles fijos de la base, creando roles de usuario y
> asignándolos a los roles fijos.
>
> En concreto lo único que me faltaría para se una persona feliz, es
> poder cambiar la contraseña de los usuarios perteneciendo al
> SecurityAdmin sin saber la contraseña vieja. ¿vos lo probaste,
> pudiste?
>
> Nuevamente agradezco tu respuesta
>
>
>
>
> "Javier Loria" escribió en el mensaje
> news:
>> Hola Hernan:
>> No se si entendi, pero si un Login pertenece al Rol de Servidor
>> SecurityAdmin SI PUEDE:
>> - Cambiar la Contrasena de los Logines SIN SABER LA
>> CONTRASENA VIEJA
>> - Puede CAMBIAR LA BASE DE DATOS POR DEFECTO de un usuario.
>> Si adicionalmente el Login esta asociado con un Usuario en la BD
>> que pertence a los roles de db_AccessAdmin y db_SecurityAdmin podra
>> agregar usuarios a la BD y agregarlo a Roles de la BD, lo UNICO que
>> no puede hacer es agregarlo a los Roles FIJOS de la BD (db_reader,
>> db_writer, etc.) Esto puede facilmente sobrepasarse si creas tus
>> propios roles de BD (Ejemplo: Lector, LectorEscritor) y estos roles
>> puede el Administrador o DBO hacerlos miembros de los roles fijos de
>> BD. De esta manera automaticamente con hacerlos miembros de tus
>> roles adquieren los permisos de los roles fijos.
>> Algo que NO pueden hacer estos roles es administrar a los DBO o
>> SYSADMIN. Si necesitas un paso a paso en T-SQL, con gusto lo escribo.
>> Saludos,
>>
>>
>> Javier Loria
>> Costa Rica
>> Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
>> que pueda ser copiado y pegado al Query Analizer.
>> La version de SQL y Service Pack tambien ayuda.
>>
>> Hernán Rado escribio:
>>> Gracias Ulises !!!
>>> Yo quería lograr esto sin tener que agregar al usuario al rol
>>> db_owner de la base, ya que no quiero que pueda hacer ciertas cosas
>>> que este role permite, pero veo que no hay otro camino, no ??
>>>
>>> Agradezco tu respuesta
>>>
>>> "ulises" escribió en el mensaje
>>> news:1541701c3c42b$36f80e90$
>>> Vas a necesitar que los usuarios que manejen los logins
>>> tengan permisos de securityadmin y db_owner en la base de
>>> datos que puedan modificar.
>>>
>>> Por ejemplo, si creas una base de datos test y en ella
>>> ejecutas lo siguiente :
>>>
>>> USE test
>>> exec sp_addlogin usuario1, 'password1'
>>> go
>>> exec sp_addlogin usuario2, 'password2'
>>> go
>>> exec sp_grantdbaccess usuario1, usuario1
>>> go
>>> exec sp_grantdbaccess usuario2, usuario2
>>> go
>>> exec sp_addsrvrolemember usuario1, 'securityadmin'
>>> go
>>> exec sp_addrolemember 'db_owner', usuario1
>>> go
>>>
>>> tendrás dos usuarios : usuario1 que tiene los permisos
>>> indicados y usuario2 que será un usuario común, luego de
>>> ello si te conectas con usuario1 puedes modificar los
>>> parámetros de usuario2 de la siguiente manera :
>>>
>>> sp_password NULL, 'otropass', usuario2
>>> go
>>> sp_addrolemember 'db_datareader',usuario2
>>> go
>>> sp_defaultdb usuario2, 'pubs'
>>> go
>>> Password changed.
>>> 'usuario2' added to role 'db_datareader'.
>>> Default database changed.
>>>
>>> Saludos,
>>> Ulises
>>>
>>>> Que tal Gente !
>>>>
>>>> Necesito que un grupo de usuarios puedan dar de alta
>>> logines y usuarios en
>>>> las bases de datos, que puedan darles permisos a objetos
>>> y agregarlos a los
>>>> roles y cambiar contraseñas.
>>>>
>>>> Esto resulta sencillo si agregamos al usuario/s al role
>>> fijo de servidor
>>>> securityadmin y dentro de cada base de usuario
>>> agregarlo/s al los roles
>>>> fijos de base db_securityadmin y al db_accessadmin (tal
>>> como lo recomiendan
>>>> los manuales)
>>>>
>>>> Pero de esta forma NO PUEDO CAMBIAR LA CONTRASEÑA DE LOS
>>> LOGINES (ya que
>>>> pide la contraseña vieja), NO PUEDO CAMBIAR LA BASE POR
>>> DEFECTO NI AGREGAR A
>>>> UN USUARIO A UN ROL FIJO DE BASE DE DATOS. (Ej: no puedo
>>> agregar a un
>>>> usuario al rol db_datareader)
>>>>
>>>> ¿Alguién pudo lograr esto?
>>>>
>>>> Desde ya muchas gracias y espero que alguno de ustes me
>>> de una mano
>>>>
>>>> Saludos
>>>>
>>>> Hernán
>>>>
>>>>
>>>> .


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida