Sybase SQL Anywhere - Usuarios y sus privilegios

 
Vista:

Usuarios y sus privilegios

Publicado por CriRamLem (1 intervención) el 02/07/2017 07:53:30
Hola a todos

He creado un usuario para conectarme a una BD SQL ANYWHERE 12 aparte del DBA, este usuario solo tiene permiso para realizar SELECT a ciertas tablas, lo único que puede ejecutar es un SP del cual es dueño, pero tengo el problema que puede mirar las definiciones de tablas (campos) de todas las demás tablas pero no los datos, solo puede mirar todos los datos de la tabla que le tengo asignado el permiso de select que también no debería ser, ademas puede mirar todos los otros objetos, los SP los puede visualizar pero no ejecutar, etc., todo esto crea una vulnerabilidad para la conexión con este usuario.

Como podría inhabilitar que este usuario puede ver los otros objetos ?

muchas gracias por sus respuestas.
Atte.
CRL.
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
Imágen de perfil de Alejandro

Restricción de visibilidad de objetos para usuario específico

Publicado por Alejandro (46 intervenciones) el 20/02/2024 23:26:54
Para restringir la visibilidad de objetos en Sybase SQL Anywhere 12 para un usuario específico y abordar los problemas que has mencionado, puedes seguir estos pasos:

1. Revoca privilegios de visualización:
Revoca los privilegios que permiten al usuario ver los objetos a los que no debería acceder. Utiliza el siguiente tipo de declaración para revocar el privilegio de visualización de objetos:

1
REVOKE SELECT, REFERENCES ON [NombreObjeto] FROM [Usuario];

Reemplaza `[NombreObjeto]` con el nombre del objeto específico al que deseas restringir el acceso y `[Usuario]` con el nombre del usuario.

2. Revoca privilegios de ejecución:
Para evitar que el usuario ejecute procedimientos almacenados, puedes revocar el privilegio de ejecución. Por ejemplo:

1
REVOKE EXECUTE ON PROCEDURE [NombreProcedimiento] FROM [Usuario];

Sustituye `[NombreProcedimiento]` por el nombre del procedimiento almacenado y `[Usuario]` por el nombre del usuario.

3. Restricción de visualización de tablas:
Para limitar la visualización de datos en una tabla específica, puedes usar una vista y restringir el acceso a la vista en lugar de la tabla directamente. Asegúrate de que el usuario solo tenga permisos SELECT en la vista y no en la tabla subyacente.

4. Privilegios a nivel de esquema:
Puedes utilizar la opción `GRANT` y `REVOKE` a nivel de esquema para conceder o revocar privilegios a todos los objetos de un esquema en lugar de hacerlo objeto por objeto. Esto facilita la administración de permisos.

1
REVOKE ALL PRIVILEGES ON SCHEMA [NombreEsquema] FROM [Usuario];

Ajusta `[NombreEsquema]` y `[Usuario]` según tus necesidades.

5. Privilegios adicionales:
Considera otorgar solo los privilegios necesarios para realizar las operaciones deseadas. Evita otorgar privilegios innecesarios, como la capacidad de ver definiciones de objetos que no deberían ser accesibles.

Recuerda siempre verificar y probar cuidadosamente cualquier cambio en los permisos para asegurarte de que el usuario tenga exactamente el nivel de acceso requerido y no más.
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