Este documento describe los conceptos básicos de las cuentas de usuario, privilegios y roles en una base de datos Oracle. Explica cómo crear y modificar cuentas de usuario, asignar privilegios mediante roles predefinidos o creados, y limitar recursos a través de perfiles.
3. Cuentas de Usuario
Para establecer una sesion a una
instancia, un usuario debe conectarse
empleando una cuenta.
En muchas aplicaciones cada usuario es
una cuenta individual en la base de datos.
En sistemas grandes muchos usuarios
pueden conectarse con la misma cuenta y
se requiere una mayor auditoria
Universidad de El Salvador
4. Atributos de una cuenta
http://BasesDeDatosUES.blogspot.com
Username
El nombre de usuario debe ser unico y
complir con estas reglas:
• No mas de 30 caracteres de largo
• Tener letras, digitos y el carácter $ y/o _
• No se puede utilizar palabras reservadas
• El nombre es case sensitive pero el gestor
convierte a mayusculas.
Las reglas pueden omitirse (menos la
primera) empleando doble comilla.
Universidad de El Salvador
5. http://BasesDeDatosUES.blogspot.com
Un nombre de usuario NUNCA puede ser
cambiado después de su creación, si se
necesita cambiar debe ser eliminado y
vuelto a crear.
Universidad de El Salvador
6. TableSpace y Cuotas
http://BasesDeDatosUES.blogspot.com
Todas las cuentas tienen un
tablespace, indica donde se almacenan
los objetos creados por el usuario.
Una cuota es un espacio que un usuario
puede utilizar dentro de un tablespace
Universidad de El Salvador
7. Tablespace TEMP
http://BasesDeDatosUES.blogspot.com
Objetos permanentes son almacenados
en tablespace permanentes.
Una sesion necesita espacio en
tablespace temporal para ciertas
operaciones.
Los tablespace temporales NO poseen
datafiles, solo existen en memoria.
Universidad de El Salvador
8. Status de cuentas
http://BasesDeDatosUES.blogspot.com
OPEN: cuenta disponible para su uso
LOCKED: cuenta bloqueda por el DBA
EXPIRED: la clave a expirado y se debe resetear para
poder iniciar sesion.
EXPIRED & LOCKED
LOCKED (TIMED) la cuenta se bloqueo por intentos
fallidos de loggin.
ALTER USER username ACCOUNT LOCK
Universidad de El Salvador
9. Autenticacion de Sistema Operativo
http://BasesDeDatosUES.blogspot.com
Para ello debemos conectarnos como
SYS o SYSOPER
CONNECT / AS SYSDBA
El único usuario con este privilegio es SYS
Solo se realiza para tareas de administracion
de la base de datos como ejecutar STARTUP
Universidad de El Salvador
10. Autenticacion con Password
http://BasesDeDatosUES.blogspot.com
Connect usuario/clave@orcl
• La instancia valida al usuario que esta
almacenado en el diccionario de datos.
• Usuario SYS no puede conectarse bajo este
formato debe emplear SYSDBA
• Nombres de usuario son case sensitive pero se
convierten a mayusculas automaticamente.
• En entorno de Red se encriptan los datos
utilizando AES
ALTER USER usuario IDENTIFIED BY clave
Universidad de El Salvador
11. Otros metodos
Otros
External Global
Autentication Autentication
Oracle delega la LDAP es un
autenticacion a un mecanismo emergente
servicio externo: de autenticacion, que
KERBEROS, RADIUS, puede ser utilizado por
SISTEMA OPERATIVO Oracle.
Company Logo
12. Creando usuarios
http://BasesDeDatosUES.blogspot.com
1. Create user scott identified by tiger
2. Default tablespace users temporary
tablespace temp
3. Quota 100m on users, quota unlimited on
example
4. Password expire
5. Account unlock;
Universidad de El Salvador
13. Modificando la cuenta
http://BasesDeDatosUES.blogspot.com
Alter user scott identified by lion;
Alter user scott default tablespace hr_data
temporary tablespace hr_temp;
alter user scott password expire;
Alter user scott account lock;
Drop user scott cascade;
Universidad de El Salvador
15. Privilegios
http://BasesDeDatosUES.blogspot.com
Por defecto un usuario no posee ningun
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
Universidad de El Salvador
16. Privilegios
http://BasesDeDatosUES.blogspot.com
Existen 200 privilegios del
sistema, veremos los mas importantes
• CREATE SESSION: permite que un usuario pueda
conectarse a la base de datos
• ALTER DATABASE: permite ejecutar comandos
para modificar la estructura fisica.
• ALTER SYSTEM: permite modificar parametros de
la instancia y estructuras de memoria
• CREATE TABLE: permite ejecutar DML y DDL en
el esquema del propietario
• CREATE ANY TABLE
• SELECT ANY TABLE
Universidad de El Salvador
17. Ejemplo
http://BasesDeDatosUES.blogspot.com
1. 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;
Universidad de El Salvador
19. Privilegios sobre objetos
http://BasesDeDatosUES.blogspot.com
Brinda la capacidad de poder hacer
SELECT, INSERT, UPDATE, DELETE,
ALTER y EXECUTE sobre tablas y
objetos PL/Sql
Grant select ON hr.regions to scott;
Grant all on hr.regions to scott;
Universidad de El Salvador
21. ROLES
http://BasesDeDatosUES.blogspot.com
Asignar privilegios es complicado y tedioso
porque puede ser necesario digitar cientos de
grant.
Un ROL agrupa un gran conjunto de
privilegios.
CREATE ROLE NombreRol;
Los grant a un rol normalmente incluyen
WITH ADMIN o WITH OPTION
Universidad de El Salvador
22. http://BasesDeDatosUES.blogspot.com
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;
Universidad de El Salvador
23. Roles Pre-Definidos
http://BasesDeDatosUES.blogspot.com
Connect: por compatibilidad ahora equivale al
privilegio CREATE SESSION
Resource: por compatibilidad
DBA
SCHEDULER_ADMIN: privilegios para
manejar trabajos planificados.
Universidad de El Salvador
25. Profile
http://BasesDeDatosUES.blogspot.com
Para obligar una politica de password y
para restringir los recursos a una sesion.
La politica de password siempre esta
activa, la limitacion a recursos a una
sesion debe indicarse en el parametro
RESOURCE_LIMIT
Universidad de El Salvador
28. Ver la configuracion del profile
http://BasesDeDatosUES.blogspot.com
Para ver los profiles asignados a los
usuarios:
Select username, profile from dba_users;
Select * from dba_profiles where
profile=‘DEFAULT’;
Universidad de El Salvador
29. Creando un nuevo profile
http://BasesDeDatosUES.blogspot.com
Create profile dba_profile limit
sessions_per_user unlimited
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;
Universidad de El Salvador