Está en la página 1de 14

UNIVERSIDAD ALAS PERUANAS ESCUELA DE INGENIERÍA DE SISTEMAS E INFORMATICA

PRÁCTICA DE LABORATORIO N° 9

GESTION DE USUARIOS Y PRIVILEGIOS

1.- TEMA:

Gestión de Usuarios y Privilegios de la base de datos Oracle 11 XE

2.- OBJETIVOS:


Adiestrar al alumno en la administración de usuarios, gestión de privilegios
y asignación de recursos para interactuar con la base de datos Oracle.

3.- FUNDAMENTO TEÓRICO:

Control de Acceso a la Base de Datos

Todo acceso a una base de datos requiere conectar mediante un usuario y


contraseña. Dicho usuario dará derecho a utilizar ciertos objetos de la base de
datos, pero se puede restringir el uso de otros.
A los usuarios se les asigna una serie de privilegios que son los que dan
permiso de uso a ciertos objetos. Para organizarse mejor la mayoría de
Sistemas Gestores de Bases de Datos permiten agrupar permisos que
normalmente se aplican conjuntamente en estructuras llamadas perfiles y
roles, que en definitiva son un conjunto de permisos.

Cuentas Administrativas
Durante la instalación de Oracle se instalan dos cuentas administrativas y
otras dos con permisos especiales para tareas de optimización y
monitorización de la base de datos:
SYS. Inicialmente posee la contraseña CHANGE_ON_INSTALL que,
lógicamente hay que cambiar inmediatamente en la instalación. SYS toma rol

BASE DE DATOS ~1~ CICLO VIII


UNIVERSIDAD ALAS PERUANAS ESCUELA DE INGENIERÍA DE SISTEMAS E INFORMATICA

de DBA y en su esquema se crea el diccionario de datos, por lo que no


conviene de ninguna manera crear otro tipo de elementos en su esquema.

SYSTEM. Posee también el rol DBA y se crea durante la instalación. Como


antes, la contraseña MANAGER que tiene por defecto se debería cambiar en
la instalación. En su esquema se suelen crear tablas y vistas administrativas
(pero no se deberían crear otro tipo de tablas).

SYSMAN. Usado para realizar tareas administrativas con la aplicación


Enterprise Manager.

DBSMNP. Monitoriza Enterprise Manager.

Privilegios Administrativos

Oracle posee dos privilegios de sistema asociados a tareas administrativas,


son:
SYSDBA. Con capacidad de parar e iniciar (instrucciones SHUTDOWN y
STARTUP) la instancia de base de datos; modificar la base de datos (ALTER
DATABASE), crear y borrar bases de datos (CREATE y DROP DATABASE),
Crear el archivo de parámetros (CREATE SPFILE), cambiar el modo de
archivado de la base de datos, recuperar la base de datos y además incluye
el privilegio de sistema RESTRICTED SESSION. En la práctica es usar el
usuario SYS.

SYSOPER. Permite lo mismo que el anterior salvo: crear y borrar la base de


datos y recuperar en todas las formas la base de datos (hay modos de
recuperación que requieren el privilegio anterior).
La vista V$PWFILE_USERS nos permite examinar a los usuarios
administrativos.

Creación de Usuarios

BASE DE DATOS ~2~ CICLO VIII


UNIVERSIDAD ALAS PERUANAS ESCUELA DE INGENIERÍA DE SISTEMAS E INFORMATICA

El DBA crea al usuario ejecutando la sentencia CREATE USER. El usuario no


tiene ningún privilegio en este momento. A continuación, el DBA puede
otorgar privilegios al usuario que determinan qué puede hacer el usuario en el
nivel de base de datos.

Sintaxis:
SQL>CREATE USER user IDENTIFIED BY password;

Los usuarios pueden cambiar sus propias claves, para ello es necesario el
privilegio “ALTER USER”.
Sintaxis:
SQL> ALTER USER <usuario>
IDENTIFIED BY <contraseña>/EXTERNALLY
DEFAULT TABLESPACE <espacio>
TEMPORARY TABLESPACE <espacio>/<grupo_espacios>
QUOTA <xx>/UNLIMITED ON <espacio>
DEFAULT ROLE <role>/ALL/ALL EXCEPT <role>/NONE
PROFILE <perfil>
PASSWORD EXPIRE
ACCOUNT LOCK/UNLOCK;

Al borrar un usuario el esquema asociado, con todos sus objetos,


desaparecen.
• Una posible solución para que permanezca el usuario y los objetos pero
impedir la conexión es revocar el privilegio “CREATE SESSION”.
• No es posible eliminar un usuario que permanezca conectado a la base de
datos. Debe esperarse a que concluya o forzar su terminación (ALTER
SYSTEM KILL SESSION).
• Es necesario tener el privilegio de sistemas “DROP USER”.

BASE DE DATOS ~3~ CICLO VIII


UNIVERSIDAD ALAS PERUANAS ESCUELA DE INGENIERÍA DE SISTEMAS E INFORMATICA

Control de Privilegios

Una vez creado un usuario, el DBA puede otorgarle privilegios específicos del
sistema.

Sintaxis:
GRANT <privilegio>/ALL PRIVILEGES TO
<usuario>/<rol>/PUBLIC

Un desarrollador de aplicaciones, por ejemplo, puede tener los siguientes


privilegios del sistema:
CREATE SESSION
CREATE TABLE
CREATE SEQUENCE
CREATE VIEW
CREATE PROCEDURE

Roles

Es un grupo de privilegios, de sistema o sobre objetos, a los que se les da un


nombre y pueden ser asignados a otros usuarios y roles.
• Características:
- Pueden otorgarse a cualquier usuario o rol, pero no a si mismo.
- Pueden tener contraseña.
- Su nombre es único en la bd, distinto a cualquier otro nombre de usuario o
rol.
- No pertenecen a ningún esquema.

BASE DE DATOS ~4~ CICLO VIII


UNIVERSIDAD ALAS PERUANAS ESCUELA DE INGENIERÍA DE SISTEMAS E INFORMATICA

Creación de Roles

Debe poseerse el privilegio CREATE ROLE.


• El nombre debe ser diferente a cualquier nombre de rol o usuario existente.
• Sintaxis:
CREATE ROLE <rol> IDENTIFIED BY <contraseña>;
CREATE ROLE <rol> NOT IDENTIFIED/<>;

• La cláusula IDENTIFIED BY indica como debe ser autorizado antes de


usarse por un usuario al que se la ha otorgado.

Asignación de Roles a Usuarios

•Sintaxis:
GRANT <rol> TO <usuario>/<rol>/PUBLIC;
GRANT <rol> TO <usuario>/<rol>/PUBLIC WITH ADMIN OPTION;

BASE DE DATOS ~5~ CICLO VIII


UNIVERSIDAD ALAS PERUANAS ESCUELA DE INGENIERÍA DE SISTEMAS E INFORMATICA

• Para que un usuario pueda otorgar un rol debe habérsele concedido con
ADMIN OPTION, poseer el privilegio GRANT ANY ROLE, o haberlo creado.
• El usuario que crea el rol implícitamente lo tiene asignado con ADMIN
OPTION.

Vistas
• DATABASE_PROPERTIES Propiedades de la bd.
• DBA_USERS Usuarios de la bd.
• DBA_ROLES Roles existentes en la bd.
• DBA_ROLE_PRIVS Roles concedidos a usuarios y roles.
• DBA_SYS_PRIVS Privilegios de sistema a usuarios y roles.
• DBA_TAB_PRIVS Permisos sobre objetos en la bd.
• DBA_TABLESPACE_GROUPS Grupos de espacios temporales.
• DBA_COL_PRIVS Permisos sobre columnas de objetos bd.
• DBA_TS_QUOTAS Cuotas de espacio para usuarios.
• DBA_PROFILES Perfiles en la bd.
• ROLE_ROLE_PRIVS Roles concedidos a otros roles.
• ROLE_SYS_PRIVS Privilegios de sistema concedidos a roles.
• ROLE_TAB_PRIVS Privilegios sobre objetos concedidos roles.
• DBA_CONNECT_ROLE_GRANTEES Usuarios con privilegio CONNECT.
• USER_PASSWORD_LIMITS Parámetros contraseña usuario.
• USER_RESOURCE_LIMITS Límites de recursos por usuario.
• SESSION_PRIVS Privilegios disponibles en la sesión.
• SESSION_ROLES Roles activos en la sesión.
• V$SESSION Información de sesión.

Perfiles

• Está constituido por un conjunto de límites de recursos de la base de datos.


Diferentes perfiles pueden ser asignados a diferentes usuarios.

BASE DE DATOS ~6~ CICLO VIII


UNIVERSIDAD ALAS PERUANAS ESCUELA DE INGENIERÍA DE SISTEMAS E INFORMATICA

• Habilitar o deshabilitar la limitación de recursos mediante perfiles puede


hacerse (no aplicable a los parámetros de contraseña que siempre están
habilitados):
- Mediante el parámetro de inicialización
RESOURCE_LIMIT (init.ora), asignando valores TRUE o FALSE (por
defecto).
- Mediante la sentencia
ALTER SYSTEM SET RESOURCE_LIMIT = TRUE/FALSE.

Creación de Perfiles

Es necesario el privilegio de sistema “CREATE PROFILE”.


• Existe un perfil por defecto o DEFAULT. Inicialmente todos los recursos
designados en él tienen valor UNLIMITED, por lo que es conveniente
modificarlo (sentencia ALTER PROFILE).
• Un usuario al que no se le asigna perfil posee el perfil DEFAULT.
• Aquellos recursos para los que en el perfil asignado no se ha definido un
valor, o se ha indicado DEFAULT, toman el valor designado en el perfil por
defecto.
• Sintaxis:
CREATE PROFILE <nombre_perfil> LIMIT <parámetros>
<valor>/UNLIMITED/DEFAULT;

Parámetros de recursos básicos:


– SESSIONS_PER_USER. Número de sesiones concurrentes.
– CPU_PER_SESSION. Tiempo de UCP por sesión (centésimas de
segundo).
– CPU_PER_CALL. Tiempo de UCP para una llamada (parse,
execute, o fetch) en centésimas de segundo.
– CONNECT_TIME. Tiempo total para una sesión (minutos).
– IDLE_TIME. Tiempo de inactividad continua en una sesión

BASE DE DATOS ~7~ CICLO VIII


UNIVERSIDAD ALAS PERUANAS ESCUELA DE INGENIERÍA DE SISTEMAS E INFORMATICA

(minutos).

4.- MATERIALES:

4.1
Computadora Personal

4.2
Sistema Operativo Windows

4.3
Software SGBD ORACLE 11 XE

4.4
Aplicación: TOAD for Oracle.

5.- PROCEDIMIENTO:

5.1 Gestión de Usuarios


Ejecutar la aplicación TOAD y conectarse a la base de datos como usuario
SYSTEM se y crear un usuario llamado “administrador” autentificado por la base
de datos. Indicar como "tablespace" por defecto USERS y como "tablespace"
temporal TEMP; asignar una cuota de 500K en el "tablespace" USERS.
SQL> CREATE USER ADMINUAP IDENTIFIED BY ADMIN
DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE TEMP QUOTA 500K ON USERS;

Averiguar qué privilegios de sistema, roles y privilegios sobre objetos tiene


concedidos el usuario “administrador”.

SQL> select * from dba_role_privs where


grantee='ADMINISTRADOR';

BASE DE DATOS ~8~ CICLO VIII


UNIVERSIDAD ALAS PERUANAS ESCUELA DE INGENIERÍA DE SISTEMAS E INFORMATICA

SQL> select * from dba_tab_privs where


grantee='ADMINISTRADOR';

SQL> select * from dba_sys_privs where


grantee='ADMINISTRADOR';

BASE DE DATOS ~9~ CICLO VIII


UNIVERSIDAD ALAS PERUANAS ESCUELA DE INGENIERÍA DE SISTEMAS E INFORMATICA

Otorgar el privilegio “CREATE SESSION” al usuario “administrador” e intentar de


nuevo la conexión .
SQL> grant create session to administrador;

S
QL> connect administrador Enter password:
Connected.

5.2 Roles
Ingrese como SYSTEM y crear un rol llamado “DESARROLLO” y asignarle los
permisos "CREATE SEQUENCE", "CREATE SESSION", "CREATE SYNONYM",
"CREATE TABLE" y "CREATE VIEW". Asignar el rol “DESARROLLO” al usuario
“administrador”.
SQL> connect system Enter password:
Connected.
SQL> create role desarrollo;
Role created.
SQL> grant create sequence, create session, create synonym,
create table, create view to desarrollo;
Grant succeeded.
SQL> grant desarrollo to administrador;
Grant succeeded.

BASE DE DATOS ~ 10 ~ CICLO VIII


UNIVERSIDAD ALAS PERUANAS ESCUELA DE INGENIERÍA DE SISTEMAS E INFORMATICA

5.3 Perfiles
Crear un perfil llamado “RECURSOS” con las siguientes especificaciones:
Sessions_per_user 2
Cpu_per_session unlimited
Cpu_per_call 6000
Connect_time 480
Idle_time 2
Failed_login_attempts 2
Password_life_time 120

SQL> create profile recursos limit sessions_per_user 2


cpu_per_session unlimited cpu_per_call 6000 connect_time 480
idle_time 2 failed_login_attempts 2 password_life_time 120;

BASE DE DATOS ~ 11 ~ CICLO VIII


UNIVERSIDAD ALAS PERUANAS ESCUELA DE INGENIERÍA DE SISTEMAS E INFORMATICA

Asignar el perfil anterior al usuarios “administrador”.


SQL> alter user administrador profile recursos;

BASE DE DATOS ~ 12 ~ CICLO VIII


UNIVERSIDAD ALAS PERUANAS ESCUELA DE INGENIERÍA DE SISTEMAS E INFORMATICA

6.- CUESTIONARIO:

6.1. ¿Qué diferencia encuentra entre las diferentes cuentas


administrativas?
..........................................................................................................
..........................................................................................................
..........................................................................................................
..........................................................................................................

6.2. ¿Qué diferencia encuentra entre los diferentes permisos


administrativos?
..........................................................................................................
..........................................................................................................
..........................................................................................................
6.3. ¿Cuáles son los privilegios de un DBA?.
..........................................................................................................
..........................................................................................................
..........................................................................................................

6.4. Muestre los roles asociados a cada uno de los usuarios del sistema
..........................................................................................................
..........................................................................................................
..........................................................................................................
6.5. ¿ Cuáles son los recursos básicos asignar a un usuario?
..........................................................................................................
..........................................................................................................
..........................................................................................................

BASE DE DATOS ~ 13 ~ CICLO VIII


UNIVERSIDAD ALAS PERUANAS ESCUELA DE INGENIERÍA DE SISTEMAS E INFORMATICA

7.- OBSERVACIONES Y CONCLUSIONES.

Anotar cinco observaciones y conclusiones acerca de esta práctica.

6.1. ..........................................................................................................
..........................................................................................................
..........................................................................................................

6.2. ..........................................................................................................
..........................................................................................................
..........................................................................................................

6.3. ..........................................................................................................
..........................................................................................................
..........................................................................................................

6.4. ..........................................................................................................
..........................................................................................................
..........................................................................................................

6.5. ..........................................................................................................
..........................................................................................................
..........................................................................................................

BASE DE DATOS ~ 14 ~ CICLO VIII

También podría gustarte