Quiero dar diferentes niveles de acceso en tablas a diferentes usuarios según su departamento. ¿Debo usar Schema o Roles para este propósito?¿Debo usar Roles o Esquemas para dar acceso a los usuarios según su departamento?
Respuesta
Roles sería el camino a seguir aquí. Las funciones se deben usar cada vez que tenga grupos (es decir, depts. En su caso) que necesiten derechos de usuario específicos para las tablas independientemente del esquema en el que se encuentren. Esto evita errores y facilita mucho el trabajo del administrador de BD.
Considere los roles como agrupaciones para usuarios y los derechos asociados para ese grupo de usuarios, mientras que los esquemas son para la agrupación lógica de conjuntos de datos.
Editar basado en comentario de usuario:
Puede, pero para limitar el acceso a una tabla en particular el uso de esquema no es tal vez la mejor manera de pensar en ello. Los esquemas se utilizan para agrupar datos. Entonces, puede tener un esquema de "ventas" que tenga tablas, procedimientos, etc. que el equipo de ventas necesita. Luego puede decir GRANT SELECT ON SCHEMA::sales TO salesRole;
donde está usando un esquema como atajo para otorgar permisos a un grupo de usuarios donde cada vendedor le otorgó el rol de SalesRole. Cualquier tabla que luego se cree en el esquema de ventas también será seleccionable por los usuarios con ese rol. Si el equipo de ventas solo usa esta función y no tiene otros permisos, los usuarios no podrán usar una tabla creada en otro esquema. Si eso es lo que quiere decir con "restringir el acceso usando el esquema", entonces sí, pero prefiero considerarlo como el usuario que no tiene derechos otorgados a través de un rol o una concesión explícita. Espero que esto ayude a aclarar.
Puede usar una combinación de ambos. Utiliza el esquema para separar objetos que lógicamente pueden agruparse. Utiliza roles para crear diferentes configuraciones de acceso y otorgar acceso en los esquemas a los roles que ya ha creado (de acuerdo con su lógica comercial).
- 1. Forma correcta de dar a los usuarios el acceso a los esquemas adicionales en Oracle
- 2. Roles, esquemas, usuarios del servidor SQL
- 3. Otorgando acceso a un db a usuarios/roles de otro
- 4. Según mis requisitos, ¿debo usar NSIS o jprofiler/install4j
- 5. Concesión de permiso a los usuarios en diferentes esquemas de
- 6. ¿Cómo insta a los usuarios a completar su perfil?
- 7. ¿Cómo dar acceso al servicio web WCF alojado en IIS solo para usuarios específicos?
- 8. Java EE 6 grupos, usuarios y roles -vs- de Shiro roles, usuarios y permisos
- 9. Generando 'vecinos' para usuarios según la clasificación
- 10. Cómo redirigir a diferentes URL según los roles en Symfony 2
- 11. Debo usar el nombre de usuario o la identificación del usuario para hacer referencia a los usuarios autenticados en ASP.NET
- 12. Cómo usar <seg: autorizar acceso = "hasRole ('ROLES)"> para verificar múltiples Roles?
- 13. ¿Cómo dar acceso a un usuario Linux sudo?
- 14. ¿Debo usar siempre TryGetValue para acceder a los diccionarios .net?
- 15. Spring Security (Acegi) y grupos de usuarios (frente a Roles)
- 16. Almacenar/asignar roles de usuarios autenticados
- 17. ¿Debo usar JSON o AJAX para los datos de respuesta?
- 18. cómo restringir o filtrar el acceso a la base de datos según los atributos de usuario de la aplicación
- 19. Symfony2: almacenamiento de usuarios, roles, jerarquía de roles y controles de acceso en la base de datos
- 20. ¿Debo usar em o px?
- 21. Cómo ordenar los LI según su ID
- 22. Debo usar ipairs o un ciclo para
- 23. ¿Debo usar StringBuilder o StringBuffer para webapps?
- 24. ¿Debo usar Flash o Flex?
- 25. Seguridad que permite a los usuarios usar comodines
- 26. ¿Debo usar herencia o composición?
- 27. ¿Debo usar CouchDB o SimpleDB?
- 28. ¿Debo usar multiplicación o división?
- 29. Mostrar el tiempo según la ubicación de los usuarios
- 30. ¿Puedo usar AccountManager para permitir que los usuarios inicien sesión con su cuenta de Google?
Entender, gracias. ¿Puedo restringir que un usuario acceda a una tabla en particular solo mediante el uso de Schema? –