UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA FACULTAD DE ING. MINAS, GELOGIA Y CIVIL ESCUELA DE FORMACIÓN PROFESIONAL DE INGENIERIA DE SISTEMAS
Crear USUARIOS BASE DE DATOS DE CONTROL Crear USUARIOS en Windows Windows Asignar/Denegar Permisos sobre el sistema Asignar/Denegar Permisos sobre los objetos de las Bases de Datos Crear PERFILES, PRIVILEGIOS Y ROLES.
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 o . En SQL Server se le llama o simplemente . Cualquier operación 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 que crean y mantienen los objetos relacionados con una aplicación (o sistemas) que manipulan los datos de las tablas creadas por los propietarios. usuarios con roles especiales como el de administrador de la base de datos o administrador de la seguridad.
A los usuarios de Oracle se les puede asignar la configuración referida a: No puede repetirse y como máximo debe tener 30 caracteres que sólo podrán contener letras del alfabeto inglés, números, el signo dólar y el signo de guión bajo b ajo (_)
. Se refiere al espacio asociado al usuario para almacenar sus datos (lo que Oracle llama tablespace) y la cuota (límite de almacenamiento) que se le asigna. El perfil del usuario indica los recursos y configuración que tomará el usuario al sistema Permiten especificar las acciones que se le permiten
realizar al usuario. Lab. Administración de Base de Datos (IS-443)
1
Prof. Elvira Fernández
UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA FACULTAD DE ING. MINAS, GELOGIA Y CIVIL ESCUELA DE FORMACIÓN PROFESIONAL DE INGENIERIA DE SISTEMAS
. El usuario puede conectar y realizar sus acciones habituales
. EL usuario no podrá conectar mientras siga en estado bloqueado. El bloqueo lo realiza el DBA: usuario La cuenta agotó el tiempo máximo asignado a ella. Para salir de este estado, el usuario/a debe resetear su contraseña de usuario.
. Está en los últimos momentos de uso antes
de pasar a estado de expirada 2 Concepto Significado Privilegio Permiso para realizar una acción, asignable a un usuario o un rol Rol
Conjunto de privilegios, asignables a un usuario o un rol
Usuario
Colección de objetos y privilegios identificado i dentificado con un nombre y password
Perfil
Conjunto de restricciones relativas al uso de recursos, y asignable a usuarios. Un usuario sólo puede tener un perfil
Recurso
Uso susceptible de ser restringido, asignable a un perfil
Por defecto un usuario no posee ningún privilegio en Oracle, estos deben ser asignados. Para ello se emplean las instrucciones . Usuarios tienen derechos a asignar todos los tipos de privilegios Existen 200 privilegios del sistema, veremos los más importantes:
permite que un usuario pueda conectarse a la base de datos
permite ejecutar comandos para modificar la estructura física.
permite modificar parámetros de la instancia y estructuras de memoria permite ejecutar DML y DDL en el esquema del propietario
EJEMPLO: 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 ; Lab. Administración de Base de Datos (IS-443)
2
Prof. Elvira Fernández
UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA FACULTAD DE ING. MINAS, GELOGIA Y CIVIL ESCUELA DE FORMACIÓN PROFESIONAL DE INGENIERIA DE SISTEMAS
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
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;
por compatibilidad ahora equivale al privilegio CREATE SESSION Todos los permisos necesarios para tener recursos para la creación de objetos Todos los permisos para un administrador de base de datos (DBA) privilegios para manejar trabajos planificados.
Para obligar una política de password y para restringir los recursos a una sesión. La política de password siempre está activa, la limitación a recursos a una sesión debe indicarse en el parámetro
Lab. Administración de Base de Datos (IS-443)
3
Prof. Elvira Fernández
UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA FACULTAD DE ING. MINAS, GELOGIA Y CIVIL ESCUELA DE FORMACIÓN PROFESIONAL DE INGENIERIA DE SISTEMAS
CREATE USER nombre IDENTIFIED BY 'contraseña' 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}]
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)
CREATE USER administrador01 administrador01 IDENTIFIED BY 123456 123456 DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TABLESPACE "TEMP" "TEMP"
QUOTA 500k ON USERS;
; Lab. Administración de Base de Datos (IS-443)
4
Prof. Elvira Fernández
UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA FACULTAD DE ING. MINAS, GELOGIA Y CIVIL ESCUELA DE FORMACIÓN PROFESIONAL DE INGENIERIA DE SISTEMAS
;
tablespaces que se encuentran creado en una base de datos
donde nosotros podremos configurar los límites de recursos que queramos para los usuarios de nuestra base de d atos.
Para obtener información de todos los usuarios de l a base de datos, utiliza la
vista
La vista administrativa DBA_USERS muestra la lista y configuración 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;
Se usa con la instrucción que funciona así: privilegio1 [,privilegio2[,…]] usuario
La opción permite que el usuario al que se le concede el privilegio puede conceder dicho privilegio a otros usuarios. Es, por tanto, una opción a utilizar con cautela.
Lab. Administración de Base de Datos (IS-443)
5
Prof. Elvira Fernández
UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA FACULTAD DE ING. MINAS, GELOGIA Y CIVIL ESCUELA DE FORMACIÓN PROFESIONAL DE INGENIERIA DE SISTEMAS
SQL> select * from dba_sys_privs where privilege ='CREATE USER';
Lab. Administración de Base de Datos (IS-443)
6
Prof. Elvira Fernández
UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA FACULTAD DE ING. MINAS, GELOGIA Y CIVIL ESCUELA DE FORMACIÓN PROFESIONAL DE INGENIERIA DE SISTEMAS
grant privi privilegio_d legio_d _objeto on nombre_tabla nombre_tabla to usuario; grant select on t1 to usuario;
Los roles se crean usando esta sintaxis :
CREATE ROLE nombre_rol [NOT IDENTIFIED | IDENTIFIED {BY password | EXTERNALLY | Lab. Administración de Base de Datos (IS-443)
7
Prof. Elvira Fernández
UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA FACULTAD DE ING. MINAS, GELOGIA Y CIVIL ESCUELA DE FORMACIÓN PROFESIONAL DE INGENIERIA DE SISTEMAS
GLOBALLY | USING package}];
La opción IDENTIFIED funciona igual que las formas de identificar un usuario, salvo la opción PACKAGE que hace que el rol sólo se pueda utilizar para el paquete de aplicaciones indicado. Por defecto un ROL no requiere identificación. La instrucción ALTER ROLE permite modificar la configuración del rol (tiene las mismas opciones que CREATE ROLE)
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
: SQL>
SQL> select * from dba_sys_privs where privilege ='CREATE ROLE';
Lab. Administración de Base de Datos (IS-443)
8
Prof. Elvira Fernández
UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA FACULTAD DE ING. MINAS, GELOGIA Y CIVIL ESCUELA DE FORMACIÓN PROFESIONAL DE INGENIERIA DE SISTEMAS
SQL>create role conectarse; SQL>grant connect, resource to conectarse; SQL>grant conectarse to scott;
SQL> select * from dba_sys_privs where grantee ='ADMINISTRADOR'
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 privilege='CREATE PROFILE'; 17.Asignar 17.Asignar el permiso “CREATE PROFILE” al rol SQL> grant create profile to ;
.
18.Consultar que perfiles tiene asignados cada usuario de la base de datos. SQL> select username, profile from dba_users order by username;
Lab. Administración de Base de Datos (IS-443)
9
Prof. Elvira Fernández
UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA FACULTAD DE ING. MINAS, GELOGIA Y CIVIL ESCUELA DE FORMACIÓN PROFESIONAL DE INGENIERIA DE SISTEMAS
21.Crear 21.Crear un perfil llamado “DESARROLLO” con las siguientes especificaciones:
Límites aplicables a perfiles COMPOSITE_LIMIT
Suma del máximo de CPU_PER_SESSION, CONNECT_TIME, LOGICAL_READS_PER_SESSION y PRIVATE_SGA. PRIVATE_SG A. Si este limite es excedido, Oracle aborta la sesión y regresa un e rror. CONNECT_TIME :Tiempo permitido de conexión por sesión en minutos. CPU_PER_CALL: Máximo tiempo de CPU por llamada en centésimas de segundo. CPU_PER_SESSION: Máximo tiempo de CPU por sesión en centésimas de segundo.
IDLE_TIME: Tiempo máximo permitido sin actividad por el usuario antes de ser desconectado. Se expresa en minutos. LOGICAL_READS_PER_CALL: Máximo número de bloques de base de datos leídos por llamada. LOGICAL_READS_PER_SESSION :Máximo numero de bloques de base de datos l eídos por sesión.
PRIVATE_SGA: Máxima 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: Máximo número de sesiones concurrentes permitidas por usuario. FAILED_LOGIN_ATTEMPTS : Número de intentos fallidos de conexión de un usuario, antes de que
Oracle ponga la cuenta bloqueada. PASSWORD_GRACE_TIME
Número de días 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: Número de días de vida de un password. PASSWORD_LOCK_TIME: Número de días que permanecerá bloqueado un usuario después de rebasar
el límite FAILED_LOGIN_ATTEMPTS. FAILED_LOGIN_ATTEMPTS. PASSWORD_REUSE_MAX: Número de veces que debe cambiar una contraseña antes de poder ser re-
usada la original. PASSWORD_REUSE_TIME : Número de días que tienen que pasar para poder re-usar un password. PASSWORD_VERIFY_FUNCTION: En este parámetro, se puede especificar un script para validar el
password. Por ejemplo, que tenga una determinada cantidad de caracteres, que tenga letras y números, etcétera.
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 “ Lab. Administración de Base de Datos (IS-443)
10
”. Prof. Elvira Fernández
UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA FACULTAD DE ING. MINAS, GELOGIA Y CIVIL ESCUELA DE FORMACIÓN PROFESIONAL DE INGENIERIA DE SISTEMAS
SQL> alter user
profile desarrollo;
23.Intentar 23.Intentar la conexión dos veces como usuario “ ”. fallando la contraseña, ¿qué sucede?. Comprobar si la cuenta ha sido bloqueada en la vista de base de datos correspondiente.
SQL> select username, lock_date from dba_users where username like ' %';
hr_data
Lab. Administración de Base de Datos (IS-443)
hr_temp
11
Prof. Elvira Fernández
UNIVERSIDAD NACIONAL DE SAN CRISTOBAL DE HUAMANGA FACULTAD DE ING. MINAS, GELOGIA Y CIVIL ESCUELA DE FORMACIÓN PROFESIONAL DE INGENIERIA DE SISTEMAS
Localizados en en la unidad D:/ BD/lab02 BD/lab02
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;
Lab. Administración de Base de Datos (IS-443)
12
Prof. Elvira Fernández