Vous êtes sur la page 1sur 12

UNIDAD 4 SEGURIDAD

4.1 TIPOS DE USUARIOS


Existen tres tipos de un DBMS, los cuales se distinguen por el modo como interactan con el sistema: * PROGRAMADORES DE APLICACIONES: Son profesionales en computacin que interactan con el sistema mediante instrucciones en DML, las cuales son traducidas en un programa escrito en un lenguaje husped (Cobol, C++, C#, Visual Basic, Java, Delphi) Estos programas se denominan Programas de aplicaciones. * USUARIOS CASUALES: Usuarios que interactan con el sistema sin escribir programas, pero haciendo consultas en un lenguaje de consulta de datos. * USUARIOS INGENUOS: Usuarios que interactan con el sistema poco complejos que interactan con el sistema llamando algunos de los programas de aplicacin permanentes escritos previamente. El administrador de base de datos (DBA) Proteccin dirigida a dos tipos de usuarios Los que no tienen derechos de acceso Los que tienen derechos limitados a ciertas acciones En sentido general, un usuario es un conjunto de permisos y de recursos (o dispositivos) a los cuales se tiene acceso. Es decir, un usuario puede ser tanto una persona como una mquina, un programa, etc.

Usuario administrador
El usuario administrador de un producto informtico (bien sea hardware o software), es la persona a la que va destinada dicho producto una vez que ha superado las fases de desarrollo correspondientes. Habitualmente, el software se desarrolla pensando en la comodidad del usuario final, y por esto se presta especial inters y esfuerzo en conseguir una interfaz de usuario lo ms clara y sencilla posible.

Usuario registrado
Se denomina as a la persona que tiene derechos especiales en algn servicio de Internet por acreditarse en el mismo mediante un identificador y una clave de acceso, obtenidos con previo registro en el servicio, de manera gratuita o de pago. Normalmente, unusuario registrado tiene asignada una cuenta propia que mantiene informacin personalizada del usuario en el servidor, (como puede ser direccin de e-mail y espacio correspondiente). Tambin puede dar acceso a ciertos contenidos no accesibles al pblico en general, como por ejemplo un usuario registrado en un peridico online con acceso por suscripcin.

Usuario annimo
Es usuario annimo en informtica aquel que navega en sitios web (o usa cualquier servicio de la red) sin autenticarse comousuario registrado. En algunos servicios en Internet se dispone de un modo de uso como usuario registrado y otro como usuario annimo; normalmente, el usuario registrado goza de mayores privilegios. El anonimato en Internet es uno de sus puntos fuertes, a la vez que motivo habitual de discusin. A los usuarios les gusta sentirse libres para expresarse, mientras que ciertos organismos quisieran un mayor control de todo el movimiento por la red para actuar con ms eficacia contra la delincuencia online.

Usuario beta tester


En el proceso de desarrollo de software, existe un usuario intermedio entre el desarrollador y el usuario final que se encarga de comprobar y testear que el programa trabaje de la forma prevista. La tarea de los Beta Testers es reportar errores alprogramador/desarrollador, y es en gran medida responsable de que el programa llegue al usuario final sin errores.

Otras definiciones El usuario en funcin de su experiencia


Aunque las personas que tienen contacto directo con las computadoras pueden ser definidas colectivamente como usuarios, de forma individual tienen numerosas diferencias (edad, sexo, conocimientos previos, motivacin, etc). Sin embargo, hay situaciones en que es necesario clasificarlos en una sola categora; por ejemplo, para fines de evaluacin. Una de las ms utilizadas es la que clasifica a los usuarios segn su nivel de conocimiento (avanzado, principiante, intermedio). Ya Sutcliffe (1988).

Inexpertos: son las personas que no tienen experiencia en el uso de mquinas y tecnologa (algo muy raro de encontrar hoy en da); Principiantes: personas que han tenido algn contacto con maquinaria y tecnologa; Habilitados: son usuarios competentes, pero que les falta algo (al nivel de conocimiento o comprensin) que les permitan ser clasificados como expertos. Se podra decir que la mayora de los usuarios entran en esta categora. Expertos: se trata de individuos que poseen tan vasto conocimiento sobre la maquinaria y tecnologa, que seran capaces de desmontarla y volver a montarla si fuera necesario. Constituyen un grupo relativamente pequeo de personas.

4.2. CREACIN DE USUARIOS


Para la creacion de usuarios en SQL se utilizan las clausulas con la siguiente sintaxis ejemplo La creacin de los usuarios se realiza en la misma sentencia que el permiso (grant) de acceso a una o varias bases de datos. La orientacin de MySQL va cambiando con el tiempo y el uso que se le da a las bases de datos cada vez trasciende ms el entorno web, actualmente hay dos formas de crear un usuario: 1. SENTENCIA GRANT Podemos crear un usuario a la par que otorgarle uno o varios privilegios sobre los objetos de una base de datos, o la base de datos completa. Al encontrarse una sentencia de tipo GRANT, el motor de MySQL revisa si el usuario existe previamente para el contexto que estamos asignndole permisos, y si dicho usuario no est presente en el sistema, lo crea. 2. SENTENCIA CREATE Por ejemplo, para crear el usuario fernando: mysql> CREATE USER 'fernando'@'localhost' IDENTIFIED BY 'fer_pass';

El contexto 'localhost' define que el usuario solamente se puede conectar desde el servidor de MySQL, y el IDENTIFIED BY define el password del usuario, se puede omitir, para un usuario sin password, siempre que el modo SQL no sea NO_AUTO_CREATE_USER.

4.3. PRIVILEGIOS DE USUARIOS


Una vez creados los usuarios ser necesario dotarlos de privilegios para que puedan realizar operaciones especficas en la base de datos. Estos privilegios suelen clasificarse en privilegios del sistema (operaciones que afectan a todo el sistema) y privilegios de objeto (tablas, vistas, etc.). Para conocer los privilegios y su sintaxis es necesario consultar los manuales de referencia de su SGBD. SELECT * FROM SYSTEM_PRIVILEGE_MAP; Las sentencias GRANT y REVOKE permiten a los administradores de SGBD crear cuentas de usuario, conceder y revocar derechos de esas cuentas. GRANT CONNECT, RESOURCE, CREATE TABLE TO USUARIOLIMITADO; La informacin sobre cuentas se almacena en las tablas de la base de datos. Los privilegios pueden ser concedidos en varios niveles: Nivel global: Los privilegios globales se aplican a todas las bases de datos de un servidor dado. Estos privilegios se almacenan en la tabla sql.user. Conceden y revocan slo privilegios globales. GRANT ALL ON *.* y REVOKE ALL ON *.* Nivel de base de datos: Los privilegios de base de datos se aplican a todos los objetos en una base de datos dada. Estos privilegios se almacenan en las tablas mysql.dby mysql.host. Otorgan y revocan slo privilegios de base de datos. GRANT ALL ON DB_NAME.* Y REVOKE ALL ON DB_NAME.* Nivel de tabla: Los privilegios de tabla se aplican a todas las columnas de una tabla dada. Estos privilegios se almacenan en la tabla mysql.tables_priv. Conceden y revocan nicamente privilegios de tabla. GRANT ALL ON DB_NAME.TBL_NAME Y REVOKE ALL ON DB_NAME.TBL_NAME Nivel de columna: Los privilegios de columna se aplican a una columna individual en una tabla dada. Estos privilegios se almacenan en la tabla mysql.columns_priv.Cuando se usa REVOKE, se deben especificar las mismas columnas que cuando se concedieron los privilegios. Nivel de procedimiento: Los privilegios CREATE ROUTINE, ALTER ROUTINE, EXECUTE y GRANT se aplican a procedimientos almacenados. Pueden ser concedidos en los niveles globales y de base de datos. Adems, excepto para CREATE ROUTINE, estos privilegios pueden ser concedidos en el nivel de procedimiento para procedimientos individuales y se almacenan en la tabla mysql.procs_priv. Para hacer ms sencillo revocar todos los privilegios, MySQL aadido la siguiente sintaxis, que elimina todos los privilegios de los niveles de global, de base de datos, tabla y columna para los usuarios nombrados: MYSQL> REVOKE ALL PRIVILEGES, GRANT OPTION FROM USUARIO [, USUARIO] ... Asignar todos los privilegios menos los GRANT OPTION

GRANT ALL ON *.* TO MIUSUARIO Mostrar los privilegios del usuario SHOW GRANTS FOR USUARIO

4.4. ROLES
Un rol es una coleccin de privilegios del sistema y de objetos que se otorgan a usuarios y a otras tareas. Oracle dispone de muchos roles predeterminados mientras que MySQL no los soporta. El ro CONNECT: este rol se le asigna automticamente a cada usuario que se cree en la base de datos. Quiere decir que tiene privilegios sobre sus objetos como conectarse a la base de datos y abrir una sesin, crear sus tablas, borrarlas y actualizarlas; pero no para otros usuarios . El rol RESOURCE: este rol le posibilita al usuario tener un conjunto de privilegios de sistema un poco ms avanzado que CONNECT como crear triggers, procedimientos, secuencias, etc. El rol DBA, tpico de los administradores, permite al usuario realizar cualquier funcin de base de datos y disponer de cualquier privilegio. El rol EXP_FULL_DATABASE: este rol se asigna a usuarios para que puedan realizar backups de la base de datos. El rol IMP_FULL_DATABASE: este rol se asigna a usuarios para que puedan restaurar backups.

La sentencia que permite crear roles es CREATE ROL. Su sintaxis es la siguiente CREATE ROLE rol [ NOT IDENTIFIED | IDENTIFIED {BY password | USING [usuario.] paquete | EXTERNALLY | GLOBALLY } NOT IDENTIFIED indica que no se requiere contrasea para utilizar el rol, INDENTIFIED BY password indica que se requiere la contrasea especificada. EXTERNALLY crea un rol de usuario externo y GLOBALLY crea un rol de usuario global.

4.5. VISTAS
Una vista es una tabla virtual cuyo contenido est definido por una consulta. Una vista es sencillamente un objeto de base de datos que presenta datos de tablas. Se trata de una consulta SQL que est permanentemente almacenada en la Base de datos y a la que se le asigna un nombre, de modo que los resultados de la consulta almacenada son visibles a travs de la vista, y SQL permite acceder a estos resultados como si fueran de hecho una tabla real en la base de datos. Las tablas y las vistas comparten el mismo espacio de nombres en la base de datos, por lo tanto, una base de datos no puede contener una tabla y una vista con el mismo nombre. Las vistas suelen utilizarse para centrar, simplificar y personalizar la percepcin de la base de datos para cada usuario. Las vistas pueden emplearse como mecanismos de seguridad, que permiten a los usuarios obtener acceso a los datos por medio de la vista, pero no les conceden el permiso de obtener acceso directo a las tablas subyacentes de la vista. Las vistas se pueden utilizar para realizar particiones de datos y para mejorar el rendimiento cuando se copian, se importan y se exportan datos. Mediante vistas es posible presentar datos de distintos servidores. Por ejemplo, para combinar datos de distintos servidores remotos o en un servidor de mltiples procesadores, cada uno de los cuales almacenan datos para un a regin distinta de su organizacin, puede crear consultas distribuidas o paralelas aumentando la eficiencia de las consultas. Mediante diversas clusulas es factible crear, modificar, eliminar y administrar vistas. La sintaxis bsica para estas clusulas es genrica entre diversos gestores de base de datos. Sin embargo en lo particular cada gestor implementa la administracin de estas de forma diferente. En estos documentos se presenta la sintaxis particular de Oracle 10g, comparando en forma genrica con MySQL 5. La sintaxis bsica de una vista (Oracle y MySQL) es:

CREATE VIEW NOMBRE_VISTA AS CONSULTA;

UNIDAD 4 SINTAXIS A UTILIZAR EN LA UNIDAD IV


4.1 TIPOS DE USUARIOS 4.2. CREACIN DE USUARIOS 4.3 PRIVILEGIOS DE USUARIOS
1.- SELECT * FROM SYSTEM_PRIVILEGE_MAP;

2.- GRANT CONNECT, RESOURCE, CREATE TABLE TO USUARIOLIMITADO;

3.- GRANT ALL ON *.* y REVOKE ALL ON *.*

4.- GRANT ALL ON DB_NAME.* Y REVOKE ALL ON DB_NAME.*

5.- GRANT ALL ON DB_NAME.TBL_NAME Y REVOKE ALL ON DB_NAME.TBL_NAME

6.- MYSQL> REVOKE ALL PRIVILEGES, GRANT OPTION FROM USUARIO [, USUARIO] ... 7.- GRANT ALL ON *.* TO MIUSUARIO Mostrar los privilegios del usuario 8.- SHOW GRANTS FOR USUARIO

4.4. ROLES
La sentencia que permite crear roles es CREATE ROL. Su sintaxis es la siguiente

CREATE ROLE rol

[ NOT IDENTIFIED | IDENTIFIED {BY password | USING [usuario.] paquete | EXTERNALLY | GLOBALLY } ];

NOT IDENTIFIED indica que no se requiere contrasea para utilizar el rol, INDENTIFIED BY password indica que se requiere la contrasea especificada. EXTERNALLY crea un rol de usuario externo y GLOBALLY crea un rol de usuario global.
Crear un rol y asignarle privilegios

CREATE ROLE miPrimerRole; GRANT SELECT, INSERT, UPDATE, DELETE ON tabla TO miPrimerRole;

Crear un rol y asignarle todos los privilegios

CREATE ROLE miPrimerRole; GRANT all ON tabla TO miPrimerROLE;


Asignar un rol a un usuario

GRANT miPrimerRole TO miUsuario;


Eliminar un rol

DROP ROLE miPrimerRole;


4.5 VISTAS
La sintaxis para la creacin de vistas en SQL es la siguiente:

Sintaxis CREATE VIEW

CREATE [OR REPLACE]

VIEW nombre_vista AS sentencia_select [WITH [CASCADED | LOCAL] CHECK OPTION] WITH READ ONLY CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}] VIEW nombre_vista [(columnas)] AS sentencia_select [WITH [CASCADED | LOCAL] CHECK OPTION]
Modificacin de nuestra vista ALTER VIEW vAlquileres AS ( SELECT nombre, apellidos, matricula, fx_alquiler, fx_devolucion FROM tAlquileres, tClientes WHERE ( tAlquileres.codigo_cliente = tClientes.codigo ) )

Eliminacin de vistas DROP VIEW vAlquileres;

INSTITUTO TECNOLOGICO SUPERIOR DE ALAMO TEMPACHE


MATERIA: TALLER DE BASE DE DATOS PRACTICA 4.1 TIPOS DE USUARIOS OBJETIVO: APLICAR EL CONCEPTO DE CREACION DE USUARIOS A LA BASE DE DATOS ASIGNANDO PRIVILEGIOS SOBRE ESTOS CICLO ESCOLAR: AGOSTO 2013- ENERO 2014 SEMESTRE: 501 ______ FECHA: ______________ ALUMNO: _____________________________________________________________________________ DOCENTE: M.T.I. DALIA DOMINGUEZ DIAZ Aqu se describe el ejercicio y se resuelve

INSTITUTO TECNOLOGICO SUPERIOR DE ALAMO TEMPACHE


MATERIA: TALLER E BASE DE DATOS PRACTICA 4.1 TIPOS DE USUARIOS OBJETIVO: APLICAR EL CONCEPTO DE CREACION DE USUARIOS A LA BASE DE DATOS ASIGNANDO PRIVILEGIOS SOBRE ESTOS CICLO ESCOLAR: AGOSTO 2013- ENERO 2014 SEMESTRE: 501 ______ FECHA: ______________ ALUMNO: _____________________________________________________________________________ DOCENTE: M.T.I. DALIA DOMINGUEZ DIAZ Aqu se describe el ejercicio y se resuelve

INSTITUTO TECNOLOGICO SUPERIOR DE ALAMO TEMPACHE


MATERIA: TALLER E BASE DE DATOS PRACTICA 4.1 TIPOS DE USUARIOS OBJETIVO: APLICAR EL CONCEPTO DE CREACION DE USUARIOS A LA BASE DE DATOS ASIGNANDO PRIVILEGIOS SOBRE ESTOS CICLO ESCOLAR: AGOSTO 2013- ENERO 2014 SEMESTRE: 501 ______ FECHA: ______________ ALUMNO: _____________________________________________________________________________ DOCENTE: M.T.I. DALIA DOMINGUEZ DIAZ Aqu se describe el ejercicio y se resuelve

INSTITUTO TECNOLOGICO SUPERIOR DE ALAMO TEMPACHE


MATERIA: TALLER E BASE DE DATOS PRACTICA 4.1 TIPOS DE USUARIOS OBJETIVO: APLICAR EL CONCEPTO DE CREACION DE USUARIOS A LA BASE DE DATOS ASIGNANDO PRIVILEGIOS SOBRE ESTOS CICLO ESCOLAR: AGOSTO 2013- ENERO 2014 SEMESTRE: 501 ______ FECHA: ______________ ALUMNO: _____________________________________________________________________________ DOCENTE: M.T.I. DALIA DOMINGUEZ DIAZ Aqu se describe el ejercicio y se resuelve

INSTITUTO TECNOLOGICO SUPERIOR DE ALAMO TEMPACHE


MATERIA: TALLER E BASE DE DATOS PRACTICA 4.1 TIPOS DE USUARIOS OBJETIVO: APLICAR EL CONCEPTO DE CREACION DE USUARIOS A LA BASE DE DATOS ASIGNANDO PRIVILEGIOS SOBRE ESTOS CICLO ESCOLAR: AGOSTO 2013- ENERO 2014 SEMESTRE: 501 ______ FECHA: ______________ ALUMNO: _____________________________________________________________________________ DOCENTE: M.T.I. DALIA DOMINGUEZ DIAZ

SERVICIO MILITAR
En el servicio militar se desea obtener los nombres de los soldados, compaas a las que pertenecen, cuarteles correspondientes, cuerpo de ejercito, servicios que realizan y transporte que utilizan en cada una de estas. Definiendo a cada uno de la siguiente manera: Soldado: codSol, nombre, apellidos y graduacin. Cuarteles: cdigo, nombre y ubicacin.

Compaas: numComp, actividad y codCuartel. Transporte: codTrans, numComp, tipo, matrcula y km. Servicios: codSer, numSol y fechSer. Cuerpo Ejercito: cd., denominacin y numCuerp. Crear una base de datos con el nombre de servicio militar donde se aadan llaves primarias y forneas donde se requiera

DIAGRAMA UML

BASE DE DATOS EN SQL


CREACION DE TABLAS
create database serviMilitar use serviMilitar TABLA SOLDADO create table soldado (codSol int char(10),graduacion char(10),totalSol int) TABLA CUARTELES create table cuarteles(codigo int soldado(codSol), ubicacion char(10)) primary primary key,nombre char(10),apellidos

key,idSold

int

foreign

key

references

TABLA COMPAIAS create table compaias(numComp int primary key, actividad char(10),codCuartel int foreign key references cuarteles (codigo)) TABLA TRANSPORTE create table transporte(codtrans int primary key,numComp compaias(numComp),tipo char(10),matricula char(8),km int) TABLA SEERVICIOS create table servicios (codSer int soldado(codSol), fechaSer datetime) primary key, numSol int foreign key references

int

foreign

key

references

TABLA CUERPOEJECITO create table cuerpoEjercito(cod int primary key,denominacion char(10),numCuerp int)

CONSULTAS
1.1.- Obtener el nombre y codigo de soldado select nombre, codSol from soldado 1.2. obtener el nombre de soldado cuando nombre comienze con j select nombre from soldado where nombre like 'j%'

1.3. Obtener el nmero de compaa y la actividad de compaas select numComp,actividad from compaias

1.4. Obtener la denominacin de cuerpo Ejercito select denominacion from cuerpoEjercito

1.5. Obtener todos los campos de transporte cuando el tipo es homby y camioneta select * from transporte where tipo in ('homby', 'camioneta')

1.6. Obtener denominacin de cuerpo Ejercito cuando denominacin es igual a infantera select denominacion from cuerpoEjercito where denominacion='infanteria'

1.7. Obtener nombre, apellidos de soldado cuando apellido es igual a Lpez select NOMBRE , APELLIDOS from soldado where apellidos='lope 1.8. Obtener codSer, numSol y fechSer de servicios y ordenar por codSer select codSer,numSol,fechaSer from servicios order by codSer

1.9. Obtener codtrans, numComp, tipo, matrcula y km de transporte ordenado por tipo select codtrans,numComp,tipo,matricula,km from transporte order by tipo

1.10. Obtener todos los campos de compaas ordenando por actividad select * from compaias order by actividad

utilizacion de vistas

Aqu se describe el ejercicio y se resuelve