Está en la página 1de 15

Sesin 13:

Structure Query Language (SQL)


Data Control Language-DCL
Ing. Mario Traverzo Vila
Lima-2008

SQL-Lenguaje de Control de Datos

Objetivos
Conocer el uso de las sentencias SQL para
Controlar el Acceso a Datos (DCL)
Conocer como otorgar y revocar permisos a
usuarios o roles

FIIS - Base de Datos


Ing. Mario T. Traverzo Vila

SQL-Lenguaje de Control de Datos

Contenido

Permisos

Manejo de Usuarios
Manejo de Roles
Permisos de Sistema
Permisos de Objetos
Ver Informacin de permisos
FIIS - Base de Datos
Ing. Mario T. Traverzo Vila

SQL-Lenguaje de Control de Datos

Structure Query Language


Es un lenguaje estndar (ANSI/ISO) para
interactuar con un SGBDR, permitiendo:
Administrar (crear , modificar y eliminar) los
distintos tipos de objetos del SGBD.
Manipular (insertar, actualizar y eliminar) la
data.
Controlar el acceso (permitir, denegar,
revocar) a la data y tareas administrativas.
FIIS - Base de Datos
Ing. Mario T. Traverzo Vila

SQL-Lenguaje de Control de Datos

Structure Query Language


Este lenguaje se subdivide en:
DDL - Data Definition Language.
CREATE; ALTER; DROP;

DML - Data Manipulation Languaje.


SELECT; INSERT; UPDATE; DELETE;

DCL Data Control Language.


GRANT; REVOKE; DENY;

FIIS - Base de Datos


Ing. Mario T. Traverzo Vila

SQL-Lenguaje de Control de Datos

Permisos
La seguridad en la SGBDR se divide en:
Seguridad de sistema
Seguridad de data

Permisos de sistema: permite accesos a BD


Permisos de objeto: permite manipulacin del
contenido de los objetos de la BD
Esquema:
coleccin
de
objetos
pertenecientes a un mismo usuario
FIIS - Base de Datos
Ing. Mario T. Traverzo Vila

SQL-Lenguaje de Control de Datos

Manejo de Usuarios
Creacin de usuarios:
CREATE USER usuario IDENTIFIED BY
clave;
Crear un usuario:
CREATE USER us1 IDENTIFIED BY ab12;
Cambiar su clave:
ALTER USER us1 IDENTIFIED BY cd34;

FIIS - Base de Datos


Ing. Mario T. Traverzo Vila

SQL-Lenguaje de Control de Datos

Manejo de Usuarios
Otorgar permisos de sistema:
GRANT
permiso[,]
{usuario|rol}[,];

TO

Ejm:
GRANT connect, resource TO us1;

FIIS - Base de Datos


Ing. Mario T. Traverzo Vila

SQL-Lenguaje de Control de Datos

Permisos de sistema
Permiso \ Descripcin

CREATE
CREATE
CREATE
CREATE
CREATE

SESSION
TABLE
SEQUENCE
VIEW
PROCEDURE

FIIS - Base de Datos


Ing. Mario T. Traverzo Vila

Descripcin
Crear sesiones
Crear tablas
Crear secuencias
Crear vistas
Creare procedimientos

SQL-Lenguaje de Control de Datos

Manejo de Roles
Crear Roles:
CREATE ROLE adm;
Otorgar permisos a un rol:
GRANT connect, resource TO adm;
Otorgar un rol a usuarios:
GRANT adm TO us1,us2,us3;

FIIS - Base de Datos


Ing. Mario T. Traverzo Vila

10

SQL-Lenguaje de Control de Datos

Permisos de Objetos
Los permisos varan entre objetos
El dueo del objeto tiene todo los
permisos sobre el objeto.
Un dueo puede otorgar permisos
sobre sus objetos
GRANT
permiso(columnas)
ON
objeto TO {usuario|rol|PUBLIC}
[WITH GRANT OPTION];
FIIS - Base de Datos
Ing. Mario T. Traverzo Vila

11

SQL-Lenguaje de Control de Datos

Permisos de Objetos
Permiso\O TABLE VIEW SEQUENCE PROCEDURE
ALTER
INDEX
REFERENCES
EXECUTE
SELECT
INSERT
UPDATE
DELETE
FIIS - Base de Datos
Ing. Mario T. Traverzo Vila

OK

OK

OK
OK
OK
OK

OK

OK

OK

OK

OK

OK

OK

OK

12

SQL-Lenguaje de Control de Datos

Permisos de Objetos
Los permisos varan entre objetos
GRANT
UPDATE(veh_nombre),
SELECT, INSERT, DELETE
ON vehiculo TO us1,us2,adm;

FIIS - Base de Datos


Ing. Mario T. Traverzo Vila

13

SQL-Lenguaje de Control de Datos

Permisos de Objetos
Revocando los permisos de objetos
REVOKE {permiso[,]|ALL}
ON objeto FROM {usuario[,]|rol}
[CASCADE CONSTRAINTS];

Ejm:
REVOKE ALL
ON vehiculo FROM us1,us2,adm;
FIIS - Base de Datos
Ing. Mario T. Traverzo Vila

14

SQL-Lenguaje de Control de Datos

Ver Informacin de permisos


Vista

Descripcin

ROLE_SYS_PRIVS

Permisos de sistema otorgado a roles

ROLE_TAB_PRIVS

Permisos de objeto otorgado a roles

USER_ROLE_PRIVS

Roles otorgados al usuario

USER_TAB_PRIVS_MADE

Permisos de objeto otorgado sobre los


objetos del usuario

USER_TAB_PRIVS_RECD

Permisos de objeto otorgado al usuario

USER_COL_PRIVS_MADE

Permisos de objeto otorgado sobre


columnas de objetos del usuario

USER_COL_PRIVS_RECD

Permisos de objeto otorgado al usuario


sobre especificas columnas

USER_SYS_PRIVS

Permisos de sistema otorgado al usuario

FIIS - Base de Datos


Ing. Mario T. Traverzo Vila

15