Oracle - Ayuda sobre los permisos de usuario sobre tablas

 
Vista:

Ayuda sobre los permisos de usuario sobre tablas

Publicado por Walther (11 intervenciones) el 16/01/2002 20:42:33
Tengo un gran problema,
En un sistema, todas las tablas fueron creadas bajo el usuario 'programador', pero el que va a usar el sistema es otro rol, tentativamente llamado 'cliente', pero resulta que para que el cliente pueda ver las tablas, tiene que especficar quién creó la tabla. hay alguna manera de evitar esto? Porque sería un grán trabajo cambiar todos los 'Select tabla1' por 'Select "programador".tabla1, que se puede hacer?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda sobre los permisos de usuario sobre tabla

Publicado por DACH (258 intervenciones) el 16/01/2002 20:57:15
No te ahogues en un vaso de agua, la solución no es tan complicada.
Cuando tienes Objetos que serán utilizados por otros usuarios puedes hacer varias cosas, crear: Sinonimos, Sinonimos Publicos o dar permisos a un usuario en particular.
Si no sabes del tema comunicate a
[email protected]

Salu2.-
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda sobre los permisos de usuario sobre tabla

Publicado por Harold (697 intervenciones) el 16/01/2002 23:04:56
La solucion es sensilla, conectado como DBA tienes que crear sinonimos publicos de cada una de las tablas que necesita que el rol Cliente accese de la siguiente forma:

Create public synonym tabla1 for programador.tabla1;

Tienes que tener mucho cuidado a la hora de crear el nombre del sinonimo ya que tiene que coincidir con el nombre del objeto que necesitas crear para que las consultas puedan funcionar.

Luego tiene que crear el rol para los accesos:

Create role role1;

Luego conectado como el dueño del objeto (seria como programador) das:

Grant select, insert, update, delete on tabla1 to role1;

Esto lo haces por cada objeto del dueño (tablas, packages, procedures, triggers)

Creas esto para dar los accesos solamente una vez por que este trabajo es medio cansado, entonces cuando tengas que crear mas usuarios unicamente le asignas el rol creado, con esto te resuelves ese problema.

Grant role1 to user1;

Saludes

Harold

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar