You are on page 1of 12

UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA

FACULTAD DE ING. MINAS, GELOGIA Y CIVIL


ESCUELA DE FORMACIN PROFESIONAL DE INGENIERIA DE SISTEMAS

I.

TEMA:

II.

Crear USUARIOS BASE DE DATOS DE CONTROL


Crear USUARIOS en Windows
Asignar/Denegar Permisos sobre el sistema
Asignar/Denegar Permisos sobre los objetos de las Bases de Datos
Crear PERFILES, PRIVILEGIOS Y ROLES.

MARCO TEORICO

2.1

CUENTAS DE USUARIO
Tanto Oracle como SQL Server utilizan el concepto de cuenta de usuario
para que los usuarios autorizados puedan conectarse a la base de datos. En Oracle
recibe el nombre de usuario o username. En SQL Server se le llama login ID o
simplemente login. Cualquier operacin que realice un usuario est regida por los
privilegios asignados a su cuenta.
En las bases de datos Oracle encontramos tres tipos de usuarios:
Propietarios del Esquema usuarios que crean y mantienen los objetos
relacionados con una aplicacin
Usuarios de la aplicacin usuarios (o sistemas) que manipulan los datos de
las tablas creadas por los propietarios.
Usuarios administrativos usuarios con roles especiales como el de
administrador de la base de datos o administrador de la seguridad.
2.1.1 CARACTERSTICAS DE LOS USUARIOS DE ORACLE
A los usuarios de Oracle se les puede asignar la configuracin referida a:
Nombre de usuario. No puede repetirse y como mximo debe tener 30
caracteres que slo podrn contener letras del alfabeto ingls, nmeros, el
signo dlar y el signo de guin bajo (_)
Configuracin fsica. Se refiere al espacio asociado al usuario para almacenar
sus datos (lo que Oracle llama tablespace) y la cuota (lmite de
almacenamiento) que se le asigna.
Perfil asociado. El perfil del usuario indica los recursos y configuracin que
tomar el usuario al sistema
Privilegios y roles. Permiten especificar las acciones que se le permiten
realizar al usuario.
Lab. Administracin de Base de Datos
(IS-443)

Prof. Elvira Fernndez

UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA


FACULTAD DE ING. MINAS, GELOGIA Y CIVIL
ESCUELA DE FORMACIN PROFESIONAL DE INGENIERIA DE SISTEMAS

2.1.2 ESTADO DE LA CUENTA DE USUARIO:


Abierta. El usuario puede conectar y realizar sus acciones habituales
Bloqueada. EL usuario no podr conectar mientras siga en estado
bloqueado. El bloqueo lo realiza el DBA:
ALTER USER usuario ACCOUNT LOCK
Expirada. La cuenta agot el tiempo mximo asignado a ella. Para salir de
este estado, el usuario/a debe resetear su contrasea de usuario.
Expirada y bloqueada.
Expirada en periodo de gracia. Est en los ltimos momentos de uso antes
de pasar a estado de expirada
2.2 CONCEPTOS DE GESTIN DE PRIVILEGIOS Y RECURSOS
Concepto Significado
Privilegio Permiso para realizar una accin, asignable a un usuario o un rol
Rol

Conjunto de privilegios, asignables a un usuario o un rol

Usuario

Coleccin de objetos y privilegios identificado con un nombre y


password

Perfil

Conjunto de restricciones relativas al uso de recursos, y asignable a


usuarios. Un usuario slo puede tener un perfil

Recurso

Uso susceptible de ser restringido, asignable a un perfil

2.2.1 PRIVILEGIOS
Por defecto un usuario no posee ningn privilegio en Oracle, estos deben
ser asignados.
Para ello se emplean las instrucciones GRANT y REVOKE.
Usuarios DBA tienen derechos a asignar todos los tipos de privilegios
Existen 200 privilegios del sistema, veremos los ms importantes:
CREATE SESSION: permite que un usuario pueda conectarse a la base
de datos
ALTER DATABASE: permite ejecutar comandos para modificar la
estructura fsica.
ALTER SYSTEM: permite modificar parmetros de la instancia y
estructuras de memoria
CREATE TABLE: permite ejecutar DML y DDL en el esquema del
propietario
SELECT ANY TABLE
EJEMPLO:
Grant create session, alter session, create table, create view, create
synonym, create cluster, create database link, create sequence, create
trigger, create type, create procedure, create operator to JuanPerez;
Lab. Administracin de Base de Datos
(IS-443)

Prof. Elvira Fernndez

UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA


FACULTAD DE ING. MINAS, GELOGIA Y CIVIL
ESCUELA DE FORMACIN PROFESIONAL DE INGENIERIA DE SISTEMAS

2.2.2 ROLES
Asignar privilegios es complicado y tedioso porque puede ser necesario
digitar cientos de grant.
Un ROL agrupa un gran conjunto de privilegios.
Sisntaxis:
CREATE ROLE NombreRol;
Los grant a un rol normalmente incluyen WITH ADMIN o WITH OPTION
Ejemplo
Se crearan 3 roles con privilegios.
Create role hr_junior;
Grant create session to hr_junior;
Grant select on hr.regions to hr_junior;
Create Role hr_senior;
Grant hr_junior to hr_senior with admin option;
Grant insert, update, delete on hr.regions to hr_senior;
2.2.3 ROLES PREDEFINIDOS
Connect: por compatibilidad ahora equivale al privilegio CREATE
SESSION
Resource: Todos los permisos necesarios para tener recursos para la
creacin de objetos
DBA: Todos los permisos para un administrador de base de datos
(DBA)
SCHEDULER_ADMIN: privilegios para manejar trabajos planificados.
2.2.4 PROFILE
Para obligar una poltica de password y para restringir los recursos a una
sesin.
La poltica de password siempre est activa, la limitacin a recursos a una
sesin debe indicarse en el parmetro RESOURCE_LIMIT
2.6

GESTION DE PRIVILEGIOS Y RECURSOS

Lab. Administracin de Base de Datos


(IS-443)

Prof. Elvira Fernndez

UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA


FACULTAD DE ING. MINAS, GELOGIA Y CIVIL
ESCUELA DE FORMACIN PROFESIONAL DE INGENIERIA DE SISTEMAS

III. DESARROLLO
Creacin de usuarios:
Sintaxis:
CREATE USER nombre IDENTIFIED BY 'contrasea'
EXTERNALLY | GLOBALLY AS nombreGlobal}
[DEFAULT TABLESPACE tableSpacePorDefecto]
[TEMPORARY TABLESPACE tableSpacetTemporal]
[QUOTA {cantidad [K|M] | UNLIMITED} ON tablespace
]
[PASSWORD EXPIRE]
[ACCOUNT {UNLOCK|LOCK}];
[PROFILE {perfil | DEFAULT}]

Para la gestin de

se utilizan los comandos

Usuarios

CREATE USER (crear)


ALTER USER (modificar)
DROP USER (borrar)
GRANT (conceder un permiso o un rol a un usuario)
REVOKE (denegar un permiso o un rol a un usuario)

CREACION DE USUARIOS- BASE DE DATOS CONTROL


1.Conectarse como usuario SYSTEM a la base 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.
Por cdigo: Prerrequisitos: Privilegio de sistema CREATE USER
CREATE USER administrador01 IDENTIFIED BY 123456
DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE "TEMP"

QUOTA 500k ON USERS;


EJERCICIOS:
MODIFICACION DE USUARIOS
2. Modifique el usuario administrador, para bloquear la cuenta del usuario y cambiar
la contrasea a admin01.
Por cdigo: Prerrequisitos: Privilegio de sistema ALTER USER

;
Lab. Administracin de Base de Datos
(IS-443)

Prof. Elvira Fernndez

UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA


FACULTAD DE ING. MINAS, GELOGIA Y CIVIL
ESCUELA DE FORMACIN PROFESIONAL DE INGENIERIA DE SISTEMAS

Conectarse como usuario administrador y Explique qu sucede:


_________________________________________________________________________________________________
_________________________________________________________________________________________________
________________________________________________________________________________________
3. Modifique el usuario administrador, para desbloquear la cuenta del usuario y que
la cuente expire. Conectarse como administrador y ver qu sucede. De una solucin.
Escriba cdigo:

;
Rpta:___________________________________________________________________________________________
_________________________________________________________________________________________________
____________________________________________________________________________________
VISTAS DEL DICCIONARIO DE BD:
dba_tablespaces: tablespaces que se encuentran creado en una base de datos
dba_profiles : donde nosotros podremos configurar los lmites de recursos que queramos para
los usuarios de nuestra base de datos.

dba_users : Para obtener informacin de todos los usuarios de la base de datos, utiliza la
vista

consultar usuarios La vista administrativa DBA_USERS muestra la lista y


configuracin de todos los usuarios del sistema. Para observar la estructura de la
vista, siempre es conveniente usar DESCRIBE DBA_USERS.

SQL> DESC DBA_USERS;


SQL> select username from DBA_USERS;
CONCEDER PRIVILEGIOS
Se usa con la instruccin GRANT que funciona as:
GRANT privilegio1 [,privilegio2[,]] TO usuario
[WITH ADMIN OPTION];

La opcin WITH GRANT OPTION permite que el usuario al que se le concede el


privilegio puede conceder dicho privilegio a otros usuarios. Es, por tanto, una
opcin a utilizar con cautela.

INFORMACIN SOBRE PRIVILEGIOS


Lab. Administracin de Base de Datos
(IS-443)

Prof. Elvira Fernndez

UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA


FACULTAD DE ING. MINAS, GELOGIA Y CIVIL
ESCUELA DE FORMACIN PROFESIONAL DE INGENIERIA DE SISTEMAS

4-Otorgar el privilegio CREATE SESSION al usuario administrador e


Intentar de nuevo la conexin sqlplus.
Cdigo:

5. Conectarse como usuario administrador y crear un usuario llamado


prueba00 que tenga como "tablespace" por defecto USERS y como
"tablespace" temporal TEMP; asignar una cuota de 0K en el "tablespace"
USERS. Es posible hacerlo?.

6. Conectado como usuario SYSTEM, otorgar el privilegio create user al


usuario administrador y repetir el ejercicio anterior. Explique

7. Averiguar que usuarios de la base de datos tienen asignado el privilegio create


user de forma directa, qu vista debe ser consultada?.

SQL> select * from dba_sys_privs where privilege ='CREATE USER';

Lab. Administracin de Base de Datos


(IS-443)

Prof. Elvira Fernndez

UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA


FACULTAD DE ING. MINAS, GELOGIA Y CIVIL
ESCUELA DE FORMACIN PROFESIONAL DE INGENIERIA DE SISTEMAS

9. Hacer lo mismo para el privilegio create session.

10.Crear dos "tablespace" llamados TS_NOMINA y TS_ACADEMO, que contendrn


datos relativos a las aplicaciones de nmina y datos acadmicos de los empleados de
una empresa, segn las siguientes caractersticas:

Localizados en la unidad D:/ BD/lab02


PRIVILEGIOS SOBRE LOS OBJETOS

grant privilegio_d _objeto on nombre_tabla to usuario;


grant select on t1 to usuario;

CREACION DE ROLES

Los roles se crean usando esta sintaxis :


CREATE ROLE nombre_rol [NOT IDENTIFIED |
IDENTIFIED {BY password | EXTERNALLY |
Lab. Administracin de Base de Datos
(IS-443)

Prof. Elvira Fernndez

UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA


FACULTAD DE ING. MINAS, GELOGIA Y CIVIL
ESCUELA DE FORMACIN PROFESIONAL DE INGENIERIA DE SISTEMAS

GLOBALLY | USING package}];


La opcin IDENTIFIED funciona igual que las formas de identificar un usuario, salvo la
opcin PACKAGE que hace que el rol slo se pueda utilizar para el paquete de
aplicaciones indicado. Por defecto un ROL no requiere identificacin.
La instruccin ALTER ROLE permite modificar la configuracin del rol (tiene las mismas
opciones que CREATE ROLE)

INFORMACIN SOBRE ROLES

Buscar en la documentacin en lnea y en bd el contenido de las vistas:

SQL> DESC DBA_PROFILES


SQL> DESC DBA_ROLES
SQL> DESC DBA_USERS
SQL> DESC DBA_ROLE_PRIVS
SQL> desc DBA_TAB_PRIVS
SQL> DESC DBA_SYS_PRIVS
11.probar a crear un rol llamado Perfil_administrador, para que permita realizar
consultas y actualizar los datos de la bd. Asgnele estos permisos solo para las
tablas regiones y clientes al usuario HR..
Ejecutar :

SQL>

12.Comprobar en el diccionario de datos los usuarios o roles que poseen el privilegio


CREATE ROLE.

SQL> select * from dba_sys_privs where privilege ='CREATE ROLE';

Lab. Administracin de Base de Datos


(IS-443)

Prof. Elvira Fernndez

UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA


FACULTAD DE ING. MINAS, GELOGIA Y CIVIL
ESCUELA DE FORMACIN PROFESIONAL DE INGENIERIA DE SISTEMAS

Crear un rol llamado conectarse que incluya los roles connect y resource, y asignar
ese rol a Scott
SQL>create role conectarse;
SQL>grant connect, resource to conectarse;
SQL>grant conectarse to scott;

13.Crear un rol llamado ADMIN, asignarle los privilegios create session, create
user y CREATE ROLE. Asignarlo al usuario administrador.
14.Consultar los privilegios de sistema que tiene asignados de forma directa el
usuario administrador, revocarlos y asignarle el rol admin..

SQL> select * from dba_sys_privs where grantee ='ADMINISTRADOR'


15.- Asignarle privilegios de objeto que usted cree por conveniente, para ello tendr
que crear sus objetos.
PROFILE
Ver la configuracion del profile
Para ver los profiles asignados a los usuarios:
Select username, profile from dba_users;
Select * from dba_profiles where profile=DEFAULT;
Creando un nuevo profile
Create profile dba_profile limit sessions_per_user
password_life_time 7 password_grace_time 1;
Alter user sys profile dba_profile;
Alter user system profile dba_profile;
Alter user Juancito profile dba_profile;

unlimited

16.Averiguar que usuarios de base de datos o que roles tienen asignado


el privilegio CREATE PROFILE.
SQL> select * from dba_sys_privs where privilege='CREATE PROFILE';
17.Asignar el permiso CREATE PROFILE al rol Perfil_administrador.
SQL> grant create profile to Perfil_administrador;
18.Consultar que perfiles tiene asignados cada usuario de la base de
datos.
SQL> select username, profile from dba_users order by username;
Lab. Administracin de Base de Datos
(IS-443)

Prof. Elvira Fernndez

UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA


FACULTAD DE ING. MINAS, GELOGIA Y CIVIL
ESCUELA DE FORMACIN PROFESIONAL DE INGENIERIA DE SISTEMAS

21.Crear un perfil llamado DESARROLLO con las siguientes


especificaciones:

Lmites aplicables a perfiles


COMPOSITE_LIMIT
Suma del mximo de CPU_PER_SESSION, CONNECT_TIME, LOGICAL_READS_PER_SESSION y
PRIVATE_SGA. Si este limite es excedido, Oracle aborta la sesin y regresa un error.
CONNECT_TIME :Tiempo permitido de conexin por sesin en minutos.
CPU_PER_CALL: Mximo tiempo de CPU por llamada en centsimas de segundo.
CPU_PER_SESSION: Mximo tiempo de CPU por sesin en centsimas de segundo.
IDLE_TIME: Tiempo mximo permitido sin actividad por el usuario antes de ser desconectado. Se
expresa en minutos.
LOGICAL_READS_PER_CALL: Mximo nmero de bloques de base de datos ledos por llamada.
LOGICAL_READS_PER_SESSION :Mximo numero de bloques de base de datos ledos por sesin.
PRIVATE_SGA: Mxima cantidad de bytes de espacio privado reservado en la SGA. Se puede expresar
en el formato enteroK para kilobytes o enteroM para megabytes.
SESSIONS_PER_USER: Mximo nmero de sesiones concurrentes permitidas por usuario.
FAILED_LOGIN_ATTEMPTS : Nmero de intentos fallidos de conexin de un usuario, antes de que
Oracle ponga la cuenta bloqueada.
PASSWORD_GRACE_TIME
Nmero de das de gracia para realizar un cambio de password de nuestra cuenta. Si en el periodo de
tiempo delimitado no fue cambiado el password, el password expira.
PASSWORD_LIFE_TIME: Nmero de das de vida de un password.
PASSWORD_LOCK_TIME: Nmero de das que permanecer bloqueado un usuario despus de rebasar
el lmite FAILED_LOGIN_ATTEMPTS.
PASSWORD_REUSE_MAX: Nmero de veces que debe cambiar una contrasea antes de poder ser reusada la original.
PASSWORD_REUSE_TIME: Nmero de das que tienen que pasar para poder re-usar un password.
PASSWORD_VERIFY_FUNCTION: En este parmetro, se puede especificar un script para validar el
password. Por ejemplo, que tenga una determinada cantidad de caracteres, que tenga letras y nmeros,
etctera.

SQL> create profile desarrollo 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;
22. Asignar el perfil anterior al usuario administrador.
Lab. Administracin de Base de Datos
(IS-443)

10

Prof. Elvira Fernndez

UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA


FACULTAD DE ING. MINAS, GELOGIA Y CIVIL
ESCUELA DE FORMACIN PROFESIONAL DE INGENIERIA DE SISTEMAS

SQL> alter user administrador profile desarrollo;


23.Intentar la conexin dos veces como usuario administrador. fallando
la contrasea, qu sucede?. Comprobar si la cuenta ha sido bloqueada
en la vista de base de datos correspondiente.

CONSULTA A LA VISTA DE BD
SQL> select username, lock_date from dba_users where username like
' administrador %';
MOSTRAR RESULTADO

Para casa:
1.- modificar el usuario Scott y cambiarle el pasword por tiger, crear como
"tablespace" por defecto hr_data y como "tablespace" temporal hr_temp; asignar
una cuota de 1000K on users, el pasword expire y desbloquear la cuenta.

2. Abrir una sesin sqlplus e intentar conectarse como usuario


administrador01, qu sucede?, por qu?.

3. Averiguar qu privilegios de sistema, roles y privilegios sobre objetos tiene


concedidos el usuario administrador.
4 Crear dos "tablespace" temporales, manejados de forma local, llamados
TEMP_NOMINA y TEMP_ACADEMO con las siguientes caractersticas:
Por codigo ydesde la base de datos control

Lab. Administracin de Base de Datos


(IS-443)

11

Prof. Elvira Fernndez

UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA


FACULTAD DE ING. MINAS, GELOGIA Y CIVIL
ESCUELA DE FORMACIN PROFESIONAL DE INGENIERIA DE SISTEMAS

Localizados en la unidad D:/ BD/lab02


Por codigo:

SQL> create temporary tablespace temp_academo


tempfile 'd:\bd\lab02\temp_academo01.dbf'
size 500k autoextend on next 50k maxsize 600k
extent management local uniform size 100k;
Por codigo: temp_nomina ydesde la base de datos control

5. como usuario administrador, intente crear una Tabla: tabla Alumno ( cdigo
int,Nombre varchar 15 )..que sucede, solucione le problema

6.como usuario administrador, conceda privilegios de objeto sobre la nueva


Tabla..y demuestre tales privilegios.

7.Crear un usuario y asignarle un perfil, con los recursos que crea conveniente. Ver
resultados

Lab. Administracin de Base de Datos


(IS-443)

12

Prof. Elvira Fernndez

You might also like