inpersonificacion de store procedures

29/04/2005 - 09:48 por .·:m·a·r·l·a:·. | Informe spam
Hola a todos:

quisiera preguntar si hay alguna opcion de inpersonificar el acesso a los
store procedures, creo que se dice a si

el caso es que tengo store procedures que usan tablas y vistas incluso de
otras bases de datos (en el mismo server), pero si intento llamar este
estore procedure desde alguna aplicacion no funciona a menos que autorize a
dicho usuario acesso a las tablas y vistas que usa el store procedure

cuando lo que quiero es hace estos store procedures para "dar" al usuario
solamente estos para entrada de daots y vistas para salida de datos

supongo que sea possible, pero no se como hacerlo

gracias pro adelantado

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
29/04/2005 - 14:14 | Informe spam
1 - Estas usando sql dinamico para acceder esas tablas dentro del
procedimiento almacenado?

2 - Estas qualificando todos los objetos referenciados dentro del
procedimeinto con el nombre del dueño del objeto?, por ejemplo [dbo].[orders]


AMB

".·:m·a·r·l·a:·." wrote:

Hola a todos:

quisiera preguntar si hay alguna opcion de inpersonificar el acesso a los
store procedures, creo que se dice a si

el caso es que tengo store procedures que usan tablas y vistas incluso de
otras bases de datos (en el mismo server), pero si intento llamar este
estore procedure desde alguna aplicacion no funciona a menos que autorize a
dicho usuario acesso a las tablas y vistas que usa el store procedure

cuando lo que quiero es hace estos store procedures para "dar" al usuario
solamente estos para entrada de daots y vistas para salida de datos

supongo que sea possible, pero no se como hacerlo

gracias pro adelantado




Respuesta Responder a este mensaje
#2 .·:m·a·r·l·a:·.
29/04/2005 - 18:44 | Informe spam
2 - todas las llamadas a vistas y tablas estan tal que dbo.nombredelavista

1 - perdona pero no se muy bien a que te refieres con sql dinamico, he
intentado buscar en los bol y no he encontrado nada

explico lo que realiza el sp, dicho sp lo utilizo para crear los clientes
-parametros de entrada: nombre, telefono, pais, tipo cliente...
- busco en vistas de la misma base de daots (pero que dependen de otras
bases de datos) valores clave para pais o tipo de cliente (codigo numerico)
- alguna modificacion de variables internas al sp para crear el codigo del
cliente (este tiene una logica que depende de que tipo de cliente es
- escritura de todos los datos del cliente en una tabla de la misma base de
datos
- borrado de contenido y escritura en otra tabla de la misma base de datos
tb el codigo de cliente creado
fin

o sea que las unicas llamadas (selects) que se realizan son a vistas las
cuales conectan a otras bases de datos

he provado a quitar permisos (crucecita roja) en todos y cada un de los
objetos de las otras bases de datos y entonces si funciona, o sea que
necesita simplemente como usuario de la base de datos aunque no tenga ningun
permiso


"Alejandro Mesa" wrote in message
news:
1 - Estas usando sql dinamico para acceder esas tablas dentro del
procedimiento almacenado?

2 - Estas qualificando todos los objetos referenciados dentro del
procedimeinto con el nombre del dueño del objeto?, por ejemplo


[dbo].[orders]


AMB

".·:m·a·r·l·a:·." wrote:

> Hola a todos:
>
> quisiera preguntar si hay alguna opcion de inpersonificar el acesso a


los
> store procedures, creo que se dice a si
>
> el caso es que tengo store procedures que usan tablas y vistas incluso


de
> otras bases de datos (en el mismo server), pero si intento llamar este
> estore procedure desde alguna aplicacion no funciona a menos que


autorize a
> dicho usuario acesso a las tablas y vistas que usa el store procedure
>
> cuando lo que quiero es hace estos store procedures para "dar" al


usuario
> solamente estos para entrada de daots y vistas para salida de datos
>
> supongo que sea possible, pero no se como hacerlo
>
> gracias pro adelantado
>
>
>
>
Respuesta Responder a este mensaje
#3 Alejandro Mesa
29/04/2005 - 19:24 | Informe spam
Cuando executas el sp tambien lo qualificas con su dueño?

Ejemplo:

exec dbo.usp_proc1


AMB

".·:m·a·r·l·a:·." wrote:

2 - todas las llamadas a vistas y tablas estan tal que dbo.nombredelavista

1 - perdona pero no se muy bien a que te refieres con sql dinamico, he
intentado buscar en los bol y no he encontrado nada

explico lo que realiza el sp, dicho sp lo utilizo para crear los clientes
-parametros de entrada: nombre, telefono, pais, tipo cliente...
- busco en vistas de la misma base de daots (pero que dependen de otras
bases de datos) valores clave para pais o tipo de cliente (codigo numerico)
- alguna modificacion de variables internas al sp para crear el codigo del
cliente (este tiene una logica que depende de que tipo de cliente es
- escritura de todos los datos del cliente en una tabla de la misma base de
datos
- borrado de contenido y escritura en otra tabla de la misma base de datos
tb el codigo de cliente creado
fin

o sea que las unicas llamadas (selects) que se realizan son a vistas las
cuales conectan a otras bases de datos

he provado a quitar permisos (crucecita roja) en todos y cada un de los
objetos de las otras bases de datos y entonces si funciona, o sea que
necesita simplemente como usuario de la base de datos aunque no tenga ningun
permiso


"Alejandro Mesa" wrote in message
news:
> 1 - Estas usando sql dinamico para acceder esas tablas dentro del
> procedimiento almacenado?
>
> 2 - Estas qualificando todos los objetos referenciados dentro del
> procedimeinto con el nombre del dueño del objeto?, por ejemplo
[dbo].[orders]
>
>
> AMB
>
> ".·:m·a·r·l·a:·." wrote:
>
> > Hola a todos:
> >
> > quisiera preguntar si hay alguna opcion de inpersonificar el acesso a
los
> > store procedures, creo que se dice a si
> >
> > el caso es que tengo store procedures que usan tablas y vistas incluso
de
> > otras bases de datos (en el mismo server), pero si intento llamar este
> > estore procedure desde alguna aplicacion no funciona a menos que
autorize a
> > dicho usuario acesso a las tablas y vistas que usa el store procedure
> >
> > cuando lo que quiero es hace estos store procedures para "dar" al
usuario
> > solamente estos para entrada de daots y vistas para salida de datos
> >
> > supongo que sea possible, pero no se como hacerlo
> >
> > gracias pro adelantado
> >
> >
> >
> >



Respuesta Responder a este mensaje
#4 qwalgrande
02/05/2005 - 23:21 | Informe spam
Hola.

2 comentarios al respecto de lo que comentas.

1.- Échale un ojo a este link
http://msdn.microsoft.com/library/d..._1cj5.asp,
en el que se habla de ownership chaining (no sé si traducirlo como cadena de
propiedad).
2.- La impersonación de stores procedures viene implementada en SQL Server
2005, con lo que podrás definir las credenciales con las que ejecutar
determinados procedimientos almacenados (es decir, yo que soy usu1 ejecuto
este sp como si fuera usu2). Es un concepto curioso y requiere de unos
permisos elevados para ser usado, pero por la novedad es cuando menos
interesante. Al menos, a mí me lo ha parecido.

qwalgrande


".·:m·a·r·l·a:·." escribió en el mensaje
news:OH%
2 - todas las llamadas a vistas y tablas estan tal que dbo.nombredelavista

1 - perdona pero no se muy bien a que te refieres con sql dinamico, he
intentado buscar en los bol y no he encontrado nada

explico lo que realiza el sp, dicho sp lo utilizo para crear los clientes
-parametros de entrada: nombre, telefono, pais, tipo cliente...
- busco en vistas de la misma base de daots (pero que dependen de otras
bases de datos) valores clave para pais o tipo de cliente (codigo
numerico)
- alguna modificacion de variables internas al sp para crear el codigo del
cliente (este tiene una logica que depende de que tipo de cliente es
- escritura de todos los datos del cliente en una tabla de la misma base
de
datos
- borrado de contenido y escritura en otra tabla de la misma base de datos
tb el codigo de cliente creado
fin

o sea que las unicas llamadas (selects) que se realizan son a vistas las
cuales conectan a otras bases de datos

he provado a quitar permisos (crucecita roja) en todos y cada un de los
objetos de las otras bases de datos y entonces si funciona, o sea que
necesita simplemente como usuario de la base de datos aunque no tenga
ningun
permiso


"Alejandro Mesa" wrote in
message
news:
1 - Estas usando sql dinamico para acceder esas tablas dentro del
procedimiento almacenado?

2 - Estas qualificando todos los objetos referenciados dentro del
procedimeinto con el nombre del dueño del objeto?, por ejemplo


[dbo].[orders]


AMB

".·:m·a·r·l·a:·." wrote:

> Hola a todos:
>
> quisiera preguntar si hay alguna opcion de inpersonificar el acesso a


los
> store procedures, creo que se dice a si
>
> el caso es que tengo store procedures que usan tablas y vistas incluso


de
> otras bases de datos (en el mismo server), pero si intento llamar este
> estore procedure desde alguna aplicacion no funciona a menos que


autorize a
> dicho usuario acesso a las tablas y vistas que usa el store procedure
>
> cuando lo que quiero es hace estos store procedures para "dar" al


usuario
> solamente estos para entrada de daots y vistas para salida de datos
>
> supongo que sea possible, pero no se como hacerlo
>
> gracias pro adelantado
>
>
>
>




Respuesta Responder a este mensaje
#5 .·:m·a·r·l·a:·.
11/05/2005 - 12:18 | Informe spam
Hola de nuevo

uso 2000 SP3 y me he leido el articulo que comentas

he experimentado tambien que si en una base de datos hago referencia a
tablas de otras bases de datos en el mismo server me da error de permisos
simepre que no tenga el usuario en ambas bases de datos y con permisos
"VIEW" a la tabla usada

entiendo pues que debo ejecutar EXEC sp_configure 'Cross DB Ownership
Chaining', '1' para quela referencia otraBaseDeDatos.dbo.nombreTabla
funcione sin problemas, no es asi ?

gracias por el tiempo empleado

"qwalgrande" wrote in message
news:
Hola.

2 comentarios al respecto de lo que comentas.

1.- Échale un ojo a este link



http://msdn.microsoft.com/library/d..._1cj5.asp,
en el que se habla de ownership chaining (no sé si traducirlo como cadena


de
propiedad).
2.- La impersonación de stores procedures viene implementada en SQL Server
2005, con lo que podrás definir las credenciales con las que ejecutar
determinados procedimientos almacenados (es decir, yo que soy usu1 ejecuto
este sp como si fuera usu2). Es un concepto curioso y requiere de unos
permisos elevados para ser usado, pero por la novedad es cuando menos
interesante. Al menos, a mí me lo ha parecido.

qwalgrande


".·:m·a·r·l·a:·." escribió en el mensaje
news:OH%
>2 - todas las llamadas a vistas y tablas estan tal que


dbo.nombredelavista
>
> 1 - perdona pero no se muy bien a que te refieres con sql dinamico, he
> intentado buscar en los bol y no he encontrado nada
>
> explico lo que realiza el sp, dicho sp lo utilizo para crear los


clientes
> -parametros de entrada: nombre, telefono, pais, tipo cliente...
> - busco en vistas de la misma base de daots (pero que dependen de otras
> bases de datos) valores clave para pais o tipo de cliente (codigo
> numerico)
> - alguna modificacion de variables internas al sp para crear el codigo


del
> cliente (este tiene una logica que depende de que tipo de cliente es
> - escritura de todos los datos del cliente en una tabla de la misma base
> de
> datos
> - borrado de contenido y escritura en otra tabla de la misma base de


datos
> tb el codigo de cliente creado
> fin
>
> o sea que las unicas llamadas (selects) que se realizan son a vistas las
> cuales conectan a otras bases de datos
>
> he provado a quitar permisos (crucecita roja) en todos y cada un de los
> objetos de las otras bases de datos y entonces si funciona, o sea que
> necesita simplemente como usuario de la base de datos aunque no tenga
> ningun
> permiso
>
>
> "Alejandro Mesa" wrote in
> message
> news:
>> 1 - Estas usando sql dinamico para acceder esas tablas dentro del
>> procedimiento almacenado?
>>
>> 2 - Estas qualificando todos los objetos referenciados dentro del
>> procedimeinto con el nombre del dueño del objeto?, por ejemplo
> [dbo].[orders]
>>
>>
>> AMB
>>
>> ".·:m·a·r·l·a:·." wrote:
>>
>> > Hola a todos:
>> >
>> > quisiera preguntar si hay alguna opcion de inpersonificar el acesso a
> los
>> > store procedures, creo que se dice a si
>> >
>> > el caso es que tengo store procedures que usan tablas y vistas


incluso
> de
>> > otras bases de datos (en el mismo server), pero si intento llamar


este
>> > estore procedure desde alguna aplicacion no funciona a menos que
> autorize a
>> > dicho usuario acesso a las tablas y vistas que usa el store procedure
>> >
>> > cuando lo que quiero es hace estos store procedures para "dar" al
> usuario
>> > solamente estos para entrada de daots y vistas para salida de datos
>> >
>> > supongo que sea possible, pero no se como hacerlo
>> >
>> > gracias pro adelantado
>> >
>> >
>> >
>> >
>
>


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida