como hacer DENY

08/02/2007 - 13:03 por DarthSidious | Informe spam
buenos dias,

estoy queriendo denegar permisos de insert, update, select, etc sobre todas
las tablas y vistas y demas en una base de datos (para luego solo habilitar
las pocas tablas en las que si puede operar), y he visto que se hace con un
DENY ALL
pero no logro encontrar la forma de hacerlo.

yo hago un DENY ALL ON BaseDeDatos TO usuario

pero me da error en el objeto BaseDeDatos.
si lo hago para una tabla individual si funciona, pero no puedo andar
poniendo el nombre de cada tabla y hacer un deny por cada una
como hago para referirme a TODO lo que hay en esa base de datos X ???

gracias!!

Preguntas similare

Leer las respuestas

#1 Gustavo Larriera (MVP)
08/02/2007 - 13:44 | Informe spam
Entiendo que lo que deseas es que los usuarios no puedan modificar datos
en una base. No es más simple que pongas a los usuarios en el rol
DenyDataWriter?

O también puedes configurar a la base en modo read-only.

Por cierto... estaría bueno que dijeras la versión de SQL a la que te
refieres.

Gustavo Larriera, MVP
Solid Quality
MVP profile: http://aspnet2.com/mvp.ashx?GustavoLarriera
Blog: http://solidqualitylearning.com/blogs/glarriera/
Este mensaje se proporciona tal como es, sin garantías de ninguna clase
/ This message is provided "AS IS" with no warranties expressed or
implied, and confers no rights.

DarthSidious wrote:
buenos dias,

estoy queriendo denegar permisos de insert, update, select, etc sobre todas
las tablas y vistas y demas en una base de datos (para luego solo habilitar
las pocas tablas en las que si puede operar), y he visto que se hace con un
DENY ALL
pero no logro encontrar la forma de hacerlo.

yo hago un DENY ALL ON BaseDeDatos TO usuario

pero me da error en el objeto BaseDeDatos.
si lo hago para una tabla individual si funciona, pero no puedo andar
poniendo el nombre de cada tabla y hacer un deny por cada una
como hago para referirme a TODO lo que hay en esa base de datos X ???

gracias!!
Respuesta Responder a este mensaje
#2 DarthSidious
09/02/2007 - 11:40 | Informe spam
si, pero si los pongo en el rol denydatawriter, lo unico que impido es que
puedan escribir en la base de datos. Yo deseo que a determinadas tablas,
vistas o lo que sea, ni siquiera puedan acceder. Se que se puede hacer
manualmente seleccionando al usuario y llendo al boton "permisos" donde
marcas todo con cruz, tilde o nada en cada objeto de la base de datos, o lo
podes hacer por comando con DENY. Precisamente esto ultimo es lo que
necesito, denegar todo por comando, asi luego solo le asigno solo aquellas
pocas tablas a las que si tiene acceso es mas facil asi que ir a
"permisos" y estar poniendo cruces rojas para denegar en cada objeto de la
base. por cierto es un sql server 2000, aunque estimo que para 2005 el
comando debe ser mas o menos igual.

Desde ya muchas gracias por tu tiempo!!!

:-)

"Gustavo Larriera (MVP)" wrote:

Entiendo que lo que deseas es que los usuarios no puedan modificar datos
en una base. No es más simple que pongas a los usuarios en el rol
DenyDataWriter?

O también puedes configurar a la base en modo read-only.

Por cierto... estaría bueno que dijeras la versión de SQL a la que te
refieres.

Gustavo Larriera, MVP
Solid Quality
MVP profile: http://aspnet2.com/mvp.ashx?GustavoLarriera
Blog: http://solidqualitylearning.com/blogs/glarriera/
Este mensaje se proporciona tal como es, sin garantías de ninguna clase
/ This message is provided "AS IS" with no warranties expressed or
implied, and confers no rights.

DarthSidious wrote:
> buenos dias,
>
> estoy queriendo denegar permisos de insert, update, select, etc sobre todas
> las tablas y vistas y demas en una base de datos (para luego solo habilitar
> las pocas tablas en las que si puede operar), y he visto que se hace con un
> DENY ALL
> pero no logro encontrar la forma de hacerlo.
>
> yo hago un DENY ALL ON BaseDeDatos TO usuario
>
> pero me da error en el objeto BaseDeDatos.
> si lo hago para una tabla individual si funciona, pero no puedo andar
> poniendo el nombre de cada tabla y hacer un deny por cada una
> como hago para referirme a TODO lo que hay en esa base de datos X ???
>
> gracias!!

Respuesta Responder a este mensaje
#3 Gustavo Larriera (MVP)
09/02/2007 - 15:04 | Informe spam
Personalmete tiendo a resolver estos tipos de problemas usando roles de la
base de datos, evitando dar comandos individuales sobre usuarios o sobre
objetos.

Mira si puedes jugar con el rol Public y acondicionarlo a tus necesidades,
según este buen artículo (en inglés) de Andy Warren:

Using the Public Role to Manage Permissions
http://www.sqlservercentral.com/col...icrole.asp

-
Gustavo Larriera, MVP | Solid Quality Mentors [www.solidq.com]
Este mensaje se proporciona tal como es, sin garantías de ninguna clase



"DarthSidious" wrote:

si, pero si los pongo en el rol denydatawriter, lo unico que impido es que
puedan escribir en la base de datos. Yo deseo que a determinadas tablas,
vistas o lo que sea, ni siquiera puedan acceder. Se que se puede hacer
manualmente seleccionando al usuario y llendo al boton "permisos" donde
marcas todo con cruz, tilde o nada en cada objeto de la base de datos, o lo
podes hacer por comando con DENY. Precisamente esto ultimo es lo que
necesito, denegar todo por comando, asi luego solo le asigno solo aquellas
pocas tablas a las que si tiene acceso es mas facil asi que ir a
"permisos" y estar poniendo cruces rojas para denegar en cada objeto de la
base. por cierto es un sql server 2000, aunque estimo que para 2005 el
comando debe ser mas o menos igual.

Desde ya muchas gracias por tu tiempo!!!

:-)

"Gustavo Larriera (MVP)" wrote:

> Entiendo que lo que deseas es que los usuarios no puedan modificar datos
> en una base. No es más simple que pongas a los usuarios en el rol
> DenyDataWriter?
>
> O también puedes configurar a la base en modo read-only.
>
> Por cierto... estaría bueno que dijeras la versión de SQL a la que te
> refieres.
>
> Gustavo Larriera, MVP
> Solid Quality
> MVP profile: http://aspnet2.com/mvp.ashx?GustavoLarriera
> Blog: http://solidqualitylearning.com/blogs/glarriera/
> Este mensaje se proporciona tal como es, sin garantías de ninguna clase
> / This message is provided "AS IS" with no warranties expressed or
> implied, and confers no rights.
>
> DarthSidious wrote:
> > buenos dias,
> >
> > estoy queriendo denegar permisos de insert, update, select, etc sobre todas
> > las tablas y vistas y demas en una base de datos (para luego solo habilitar
> > las pocas tablas en las que si puede operar), y he visto que se hace con un
> > DENY ALL
> > pero no logro encontrar la forma de hacerlo.
> >
> > yo hago un DENY ALL ON BaseDeDatos TO usuario
> >
> > pero me da error en el objeto BaseDeDatos.
> > si lo hago para una tabla individual si funciona, pero no puedo andar
> > poniendo el nombre de cada tabla y hacer un deny por cada una
> > como hago para referirme a TODO lo que hay en esa base de datos X ???
> >
> > gracias!!
>
Respuesta Responder a este mensaje
#4 lic-zamudio
12/10/2013 - 08:17 | Informe spam
DarthSidious escribió el 08/02/2007 13:03 :
buenos dias,

estoy queriendo denegar permisos de insert, update, select, etc sobre todas
las tablas y vistas y demas en una base de datos (para luego solo habilitar
las pocas tablas en las que si puede operar), y he visto que se hace con un
DENY ALL
pero no logro encontrar la forma de hacerlo.

yo hago un DENY ALL ON BaseDeDatos TO usuario

pero me da error en el objeto BaseDeDatos.
si lo hago para una tabla individual si funciona, pero no puedo andar
poniendo el nombre de cada tabla y hacer un deny por cada una
como hago para referirme a TODO lo que hay en esa base de datos X ???

gracias!!


utilizando sql server 2005
puedes usar la instrucción

use master
create login [Usuario] with password = '****'
use [base de datos a restringir]
create user [Usuario] for login [Usuario]
revoke all from [Usuario]
revoke insert,update,delete from [Usuario]
grant select to [Usuario]
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida