Hay dos formas de utilizar los roles en un entorno de base de datos:
- Roles del usuario
- Roles de aplicación.
Se crea un rol de usuario para un grupo de usuarios de bases de datos que tienen varios requisitos de privilegios en común, como la necesidad de acceder a información confidencial.
Los roles de aplicación se otorgan cuando es necesario para ejecutar una aplicación de base de datos. Los roles de aplicación se pueden otorgar a otros usuarios o roles específicos. La aplicación puede constar de varios roles diferentes, ya que a cada uno se le asignará un conjunto o grupo de privilegios diferente. Al usar la aplicación, estos privilegios pueden permitir acceder a menos o más datos.
Cuando se trata de los mecanismos reales de los roles de la base de datos, pueden funcionar de diferentes maneras:
- A los roles se les pueden otorgar privilegios de esquema o sistema.
- De hecho, se puede otorgar un determinado rol a otro. Sin embargo, existen reglas con esta función, como que no se permite que un rol se le otorgue a sí mismo. Tampoco se puede otorgar circularmente, en otras palabras, el rol X no se puede otorgar al rol Y, si el rol Y ya se ha asignado al rol X.
- Cualquier usuario de la base de datos puede tener cualquier rol.
- En un momento dado, todos los roles que se otorgan a un usuario están deshabilitados o habilitados.
- Un rol que se otorga indirectamente, es decir, un rol que se otorga a otro, se puede habilitar o deshabilitar para cada usuario.
Cada rol que existe dentro de una base de datos debe ser completamente único, es decir, el nombre de usuario y el nombre del rol de cualquier rol no se pueden duplicar. Los roles son lo opuesto a los objetos de esquema, en el sentido de que no pueden estar contenidos dentro de un esquema. Esto significa que el usuario que crea ese rol puede ser eliminado y esto no tendrá ningún efecto en ese rol.