logo
MyWebStudies - Página de inicio
INGRESAR

REGISTRARSE
Buscador

Privilegios

Selecciona el idioma :

Este video solo está disponible para los alumnos que han adquirido el curso

Privilegios


Por seguridad nadie puede hacer nada en una BD Oracle, a menos que se le otorgue los privilegios con anterioridad.

Por defecto, ni si quiera se permite la conexión a una base de datos si no se tiene los privilegios apropiados.

Las únicas cuentas de usuarios a los que no hay que otorgarles permisos previos son los DBAs (SYS y SYSTEM), ya que los tienen desde su creación.

Los privilegios solo pueden ser otorgados por:

  • El DBA.
  • Usuarios a los que se le ha otorgado el privilegio de conceder privilegios.
  • Todos los usuarios pueden conceder privilegios sobre sus propios objetos.

Los privilegios se pueden otorgar o quitar a las cuentas de usuario o roles con los comandos:

  • GRANT: Otorga privilegios.
  • REVOKE: Elimina privilegios.

Existe 2 grupos de privilegios:

  • Privilegios de sistema: Estos privilegios afectan a las operativas que se pueden hacer en el sistema o a objetos.
  • Privilegios de objetos: Estos privilegios solo afectan a los objetos de la base de datos.

Privilegios de sistema

Hay unos 200 privilegios de sistema y la mayoría de estos permisos permiten acciones que afectan al Diccionario de Datos, el resto a la BD o instancia.

Los privilegios más usados son:

  • CREATE SESSION: Permite al usuario poder conectarse a la base de datos, un usuario puede tener una cuenta de usuario sin este privilegio, por lo que no podrá conectarse a la base de datos.
  • RESTRICTED SESSION: Si la base de datos es comenzada con STARTUP RESTRICT, o con ALTER SYSTEM ENABLE RESTRICTED SESSION, solo los usuarios con este privilegio serán capaces de conectar.
  • ALTER DATABASE: Permite modificar las estructuras físicas de la base de datos.
  • ALTER SYSTEM: Permite modificar las estructuras de memoria y los parámetros de instancias.
  • CREATE TABLESPACE: Permite crear un tablespaces.
  • CREATE TABLE: Permite crear una tabla.
  • GRANT ANY OBJECT PRIVILEGE: Permite conceder permisos a otros usuarios sobre cualquier objeto de esquema.
  • [CREATE | DROP | INSERT | UPDATE | DELETE | SELECT] ANY TABLE. Permite realizar estas operaciones sobre cualquier tabla.

Sintaxis para conceder y eliminar privilegios de sistema:

  • GRANT privilegio1, privilegio2… TO usuario/rol
  • REVOKE privilegio1, privilegio2… FROM usuario/rol

Ejemplo de conceder el permiso de crear una sesión:

  • GRANT create session TO user1

Ejemplo de eliminar el permiso de crear tablas:

  • REVOKE create table FROM user1

Los privilegios de un usuario se pueden ver en la tabla DBA_SYS_PRIVS:

  • SELECT PRIVILEGE FROM DBA_SYS_PRIVS WHERE GRANTEE=[user1]

Privilegios de objeto

Estos permisos habilitan la realización de comandos DML (Select, Insert, Update, Delete) contra un objeto de esquema y ejecución de objetos PL/SQL específicos, esto permisos se aplican a un único objeto de un esquema.

Los privilegios son:

  • SELECT: Permite al usuario realizar una consulta a las tablas, vistas, secuencias y sinónimos de un esquema.
  • INSERT / UPDATE / DELETE: Permite al usuario realizar estas operaciones DML a las tablas, vistas y sinónimos de un esquema.


privilegios

Publicaciones Recientes de oracle dba

¿Hay algún error o mejora?

¿Dónde está el error?

¿Cúal es el error?