permiso de ejecución procedimientos almacenados y de crear tablas sin ser propietario de las mismas.

05/04/2006 - 01:24 por Raúl Martín | Informe spam
Buenas

Desearia saber como puedo crear un usuario y concederle exclusivamente
permisos de ejecución de TODOS los procedimientos almacenados habidos y por
haber en una base de datos y donde pueda crear tablas sin ser propietario de
las mismas. Dichos procedimientos hacen select´s update´s insert´s ¿tendria
que darle permisos específicos de select update e insert de dichas tablas, o
al darle permiso de ejecución de dichos procedimientos no es necesario?. Una
cosa importante es que aunque pueda ejecutar el procedimiento no deseo que
pueda ver su contenido y menos modificarlo. Tambien desearía que no tuviese
ningun otro permiso como de administración, backups etc.

¿esto es posible? Actualmente la base de datos está en sql-server 2000
aunque en "breve" lo pasaré a 2005.

Un saludo y gracias de antemano.
Raul M.

Preguntas similare

Leer las respuestas

#1 Maxi [MVP]
05/04/2006 - 01:36 | Informe spam
Claro, de hecho asi funcionan los SP, solo deberias darle permisos de
EXECUTE para cada Store.
Un temita, si usas SQL dinamico y SQLserver2000 el usuario tendra que tener
ademas de permisos sobre el Store, permisos sobre los objetos del SQL
dinamico


Salu2
-
[MVP] SQL Server
Orador para Culminis Latam
www.sqlgurus.org

MSN:

"Raúl Martín" escribió en el mensaje
news:

Buenas

Desearia saber como puedo crear un usuario y concederle exclusivamente
permisos de ejecución de TODOS los procedimientos almacenados habidos y
por haber en una base de datos y donde pueda crear tablas sin ser
propietario de las mismas. Dichos procedimientos hacen select´s update´s
insert´s ¿tendria que darle permisos específicos de select update e insert
de dichas tablas, o al darle permiso de ejecución de dichos procedimientos
no es necesario?. Una cosa importante es que aunque pueda ejecutar el
procedimiento no deseo que pueda ver su contenido y menos modificarlo.
Tambien desearía que no tuviese ningun otro permiso como de
administración, backups etc.

¿esto es posible? Actualmente la base de datos está en sql-server 2000
aunque en "breve" lo pasaré a 2005.

Un saludo y gracias de antemano.
Raul M.

Respuesta Responder a este mensaje
#2 Raúl Martín
05/04/2006 - 01:53 | Informe spam
Alguna vez he tratado de unicamente darle permisos de execute a los
procedimientos, y clasificar al usuario como "public" pero al hacer esto
tambien pueden ver su contenido y eso es lo que echaba para atras. Ademas,
no habria una forma de darle permisos para todos los SP que se creen despues
(por ejemplo, todos aquellos sp con un determinado prefijo?. Respecto a los
permisos sobre los objetos del sql dinámico como se dan?, porque como has
deducido muchos de mis sp son dinámicos.

Gracias de antemano de nuevo.


"Maxi [MVP]" escribió en el mensaje
news:
Claro, de hecho asi funcionan los SP, solo deberias darle permisos de
EXECUTE para cada Store.
Un temita, si usas SQL dinamico y SQLserver2000 el usuario tendra que
tener ademas de permisos sobre el Store, permisos sobre los objetos del
SQL dinamico


Salu2
-
[MVP] SQL Server
Orador para Culminis Latam
www.sqlgurus.org

MSN:

"Raúl Martín" escribió en el mensaje
news:

Buenas

Desearia saber como puedo crear un usuario y concederle exclusivamente
permisos de ejecución de TODOS los procedimientos almacenados habidos y
por haber en una base de datos y donde pueda crear tablas sin ser
propietario de las mismas. Dichos procedimientos hacen select´s update´s
insert´s ¿tendria que darle permisos específicos de select update e
insert de dichas tablas, o al darle permiso de ejecución de dichos
procedimientos no es necesario?. Una cosa importante es que aunque pueda
ejecutar el procedimiento no deseo que pueda ver su contenido y menos
modificarlo. Tambien desearía que no tuviese ningun otro permiso como de
administración, backups etc.

¿esto es posible? Actualmente la base de datos está en sql-server 2000
aunque en "breve" lo pasaré a 2005.

Un saludo y gracias de antemano.
Raul M.





Respuesta Responder a este mensaje
#3 Maxi [MVP]
05/04/2006 - 02:01 | Informe spam
Hola, viste como sabia que usas SQL-dinamico ;-) el tema es este:

Si usas SQL dinamico no te alcanza con darle permisos al sp sino que tambien
a los elementos que use el sql-dinamico (esto es una de las razones por las
cuales no hay que usar SQL-Dinamico)

Si no usas SQL-dinamico, dale solo permisos a execute como te dije y listo,
ahora bien, si queres hacerlo para una serie de SP podes hacer algunasd
cosas

1) Armar una herramienta que lo ejecute
2) armarte un Script o funcion que si utilice SQL-dinamico para ejecutar
esto

Yo te recomendaria que leas bien tus libros on line en la seccion de
seguridad y te daras cuenta lo que te comento


Salu2
-
[MVP] SQL Server
Orador para Culminis Latam
www.sqlgurus.org

MSN:

"Raúl Martín" escribió en el mensaje
news:
Alguna vez he tratado de unicamente darle permisos de execute a los
procedimientos, y clasificar al usuario como "public" pero al hacer esto
tambien pueden ver su contenido y eso es lo que echaba para atras. Ademas,
no habria una forma de darle permisos para todos los SP que se creen
despues (por ejemplo, todos aquellos sp con un determinado prefijo?.
Respecto a los permisos sobre los objetos del sql dinámico como se dan?,
porque como has deducido muchos de mis sp son dinámicos.

Gracias de antemano de nuevo.


"Maxi [MVP]" escribió en el mensaje
news:
Claro, de hecho asi funcionan los SP, solo deberias darle permisos de
EXECUTE para cada Store.
Un temita, si usas SQL dinamico y SQLserver2000 el usuario tendra que
tener ademas de permisos sobre el Store, permisos sobre los objetos del
SQL dinamico


Salu2
-
[MVP] SQL Server
Orador para Culminis Latam
www.sqlgurus.org

MSN:

"Raúl Martín" escribió en el mensaje
news:

Buenas

Desearia saber como puedo crear un usuario y concederle
exclusivamente permisos de ejecución de TODOS los procedimientos
almacenados habidos y por haber en una base de datos y donde pueda crear
tablas sin ser propietario de las mismas. Dichos procedimientos hacen
select´s update´s insert´s ¿tendria que darle permisos específicos de
select update e insert de dichas tablas, o al darle permiso de ejecución
de dichos procedimientos no es necesario?. Una cosa importante es que
aunque pueda ejecutar el procedimiento no deseo que pueda ver su
contenido y menos modificarlo. Tambien desearía que no tuviese ningun
otro permiso como de administración, backups etc.

¿esto es posible? Actualmente la base de datos está en sql-server 2000
aunque en "breve" lo pasaré a 2005.

Un saludo y gracias de antemano.
Raul M.









Respuesta Responder a este mensaje
#4 Raúl Martín
05/04/2006 - 02:15 | Informe spam
Maxi, perdona pero me has dejado casi casi igual que al principio.

el punto 1 y 2 no me ha quedado nada claro.
Respecto a lo de mirar los libros on line en la sección de seguridad, los
leo y releo pero debo ser muy torpe porque no me aclaro desde hace varias
horas.

Dame alguna pista por donde buscar, porque por ejemplo he estado viendo la
función GRANT pero mieeeedo me da usarla. Supuestamente con el permiso
"public" ¿a que está limitado el usuario?. Se que soy muy pesado pero si no
me puedes orientar algo mejor indicame al menos una web para torpes como yo
o dame al menos algunas funciones que me mire bien la declaración para poder
conseguir mi proposito.

Gracias


Si usas SQL dinamico no te alcanza con darle permisos al sp sino que
tambien a los elementos que use el sql-dinamico (esto es una de las
razones por las cuales no hay que usar SQL-Dinamico)

ahora bien, si queres hacerlo para una serie de SP podes hacer algunasd
cosas
1) Armar una herramienta que lo ejecute
2) armarte un Script o funcion que si utilice SQL-dinamico para ejecutar
esto

Yo te recomendaria que leas bien tus libros on line en la seccion de
seguridad y te daras cuenta lo que te comento

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