Sei sulla pagina 1di 14

ALUMNO:

ERICK JONATHAN BURGUETE LOPEZ

DOCENTE:
MARIO FRANCISCO FONSECA LOZADA

MATERIA:
TALLER DE BASE DE DATOS

TRABAJO:
RESUMEN DE LA UNIDAD 3 “CONTROL DE ACCESO”

CARRERA:
ING. EN SISTEMAS COMPUTACIONALES

SEMESTRE:

TAPACHULA, CHIAPAS; A 07 DE DICIEMBRE DEL 2017


3.1 TIPOS DE USUARIO
Tipos de Usuarios

Un usuario es todo aquel que tenga contacto con el sistema de bases de datos.

Se tienen 3 clases generales de usuarios:

1. Programador de aplicaciones
2. Usuario final
3. Administrador de bases de datos o DBA

1. Programador de aplicaciones: son aquellos profesionales en informática que


interactúan con el sistema a través del DML(Lenguaje de Manipulación de Datos),
los cuales se encuentran en un lenguaje de programación (Pascal, Cobol, etc.) Es
el encargado de escribir programas de aplicación que usen Bases de Datos.

2. Usuario Final: accede a la base de datos desde un equipo en el cual puede


utilizar lenguaje de consulta generado como parte del sistema o acude a un
programa de aplicación suministrado por un programador.

3. Administrador de Bases de Datos: es el encargado del control general del


sistema.

Todo usuario que ingrese o consulte una base de datos puede clasificarse:

Programador de Aplicaciones.

Usuario sofisticado: interactúa con el sistema sin escribir programas. Generan


consultas en un lenguaje de bases de datos.

Usuario Especializado: algunos usuarios sofisticados desarrollan aplicaciones de


bases de datos especializadas. Entre estas aplicaciones se encuentran los
sistemas de diseño asistido por computador.

Usuarios ingenuos: es el usuario final que utiliza bases de datos sin saberlo, para
él es totalmente transparente como se generan las consultas de la información.

Quienes diseñan y participan en el mantenimiento de un BD se les clasifica como


Actores en el escenario y Trabajadores tras bambalinas

Actores en el escenario: personas que su trabajo depende del uso constante una
base de datos.
DataBase Administrators(DBA): administran 2 recursos 1. la base de datos y 2. es
el SGBD y el software con el relacionado. El Administrador de Base de Datos
(DBA) es quien autoriza el acceso a la base de datos, vigilar el uso y adquirir
hardware y software necesarios para su uso. También es el responsable de velar
por la seguridad y lentitud en el sistema.

Diseñador de Base de Datos: es el encargado de estructurar la arquitectura para


representar y almacenar los datos. Él debe atender a los usuarios de Bases de
Datos para comprender sus necesidades presentando un diseño que de respuesta
a sus necesidades.

Usuarios Finales: son quienes requieren acceso a la base de datos para generar
consultas e informes. Hay varios usuarios finales como son:
Usuarios finales esporádicos: acceden de vez en cuando pero esto no significa
que siempre requieran la misma información.
Usuarios finales simples o paramétricos: su función gira en torno a consultas y
actualizaciones de la base de datos. Todos estamos acostumbrados a tratar con
estos usuarios, como los cajeros bancarias al revisar los saldos, al generar retiros
y depósitos.
Usuarios finales avanzados: estos son ingenieros, analistas de negocios,
científicos, son quienes conocen los recursos del SGBD para satisfacer
requerimientos complejos.
Usuarios Autónomos: utilizan bases de datos personalizadas basadas en
programas comerciales que cuentas con interfaces de fácil uso.
Analista de sistemas y programadores de aplicaciones: determinan los
requerimientos de los usuarios finales.

Trabajadores tras bambalinas: están para mantener el sistema de base datos.

Diseñadores e implementadores del SGBD: se encarga de diseñar e implementar


los módulos e interfaces de SGBD. Un Sistema de Gestión de Base de Datos
consta de varios componentes y módulos.
3.2 PRIVILEGIOS A USUARIOS

Para crear usuarios empleamos la sentencia CREATE USER, cuya sintaxis es

CREATE USER username


IDENTIFIED {BY password | EXTERNALLY | GLOBALLY AS 'external_name'}
options;

Donde options

DEFAULT TABLESPACE tablespace


TEMPORARY TABLESPACE tablespace
QUOTA int {K | M} ON tablespace
QUOTA UNLIMITED ON tablespace
PROFILE profile_name
PASSWORD EXPIRE
ACCOUNT {LOCK|UNLOCK}

Ejemplo: Crear usuario

CREATE USER usuarioLimitado


IDENTIFIED BY miClaveSecreta;

En este caso miClaveSecreta es la contraseña de usuarioLimitado que será


guardada encriptada en la base de datos.
Ejemplo: Crear usuario con cambio de password obligatorio en el primer acceso

CREATE USER usuarioLimitado2


IDENTIFIED BY miClaveSecreta
PASSWORD EXPIRE;
Autenticación externa
Cuando un usuario conecta con la base de datos se verifica que el nombre de
usuario es el mismo que el nombre de usuario del sistema operativo para permitir
la validación.
No se almacenan las cuentas en la base de datos de ninguna forma. Estas
cuentas están siempre referidas con OPS$ .A partir de la versión 10g puedes
configurar OS_AUTHENT_PREFIX en el spfile

SQL > CREATE USER ops$UsuarioExterno IDENTIFIED BY miClaveSecreta;

Mediante IDENTIFIED EXTERNALLY decimos a la base de datos que nuestra


cuenta es externa y tiene que ser validada con el sistema operativo.

Autenticación global
Cuando un usuario se conecta con la base de datos se verifica globalmente
cuando la información pasa por una opción avanzada de seguridad ( ADVANCED
SECURITY OPTION ) para la autenticación tal como Kerberos, RADIUS ....
Para las cuentas globales no se almacena tampoco nada en la base de datos.

SQL > CREATE USER UsuarioExterno IDENTIFIED GLOBALLY AS ‘CN=alumnos


,OU=campus .......’

Mediante IDENTIFIED GLOBALLY decimos a la base de datos que nuestra


cuenta se autentica globalmente, mediante otra opción de seguridad avanzada.

Mostrar los usuarios de la base de datos

SELECT USERNAME FROM ALL_USERS;

Donde
ALL_USERS es una vista de la tabla DBA_USERS
Borrar usuarios

Para eliminar usuarios usaremos la sentencia DROP USER, con una sintaxis

DROP USER user [ CASCADE ];

La opción CASCADE, se utiliza para borrar recursivamente los objetos del usuario
que se pretende borrar.

DROP USER usuarioLimitado CASCADE;

CASCADE borra todos los objetos del esquema del usuario Oracle antes de
borrar el usuario. Si el esquema contiene tablas, Oracle borrará todos las tablas y
automáticamente eliminará cualquier restricción de integridas referencial referida a
claves primarias o únicas en otros esquemas
Ejemplo: Borrar el usuario niBaseDatos. Causara un error, debido a que no
tenemos privilegios para hacerlo

DROP USER nibasedatos CASCADE;


3.3 PRIVILEGIOS A USUARIOS
Los privilegios no se asignan al usuario, sino a la función a la que están asignados.
Si asigna un usuario a varias funciones, los usuarios heredan los privilegios de cada
función.

En función de los requisitos de diferentes usuarios, puede definir privilegios de


acceso a niveles diferentes, por ejemplo:

Privilegio de acceso a todo el sistema

Este privilegio se aplica a todo el sistema PIM. Así, puede otorgar el privilegio de
vista de pantalla, que es un privilegio de acceso a todo el sistema, a una función a
fin de que los usuarios a los que se ha asignado dicha función puedan ver pantallas
del sistema PIM. Puede can restringir el acceso a distintas funciones. No puede
cambiar el ACG para el acceso a todo el sistema. Puede limitar al usuario a
funciones determinadas que no están basadas en objetos como, por ejemplo, la
posibilidad de modificar especificaciones o correlaciones de especificaciones,
trabajar con scripts, trabajar con trabajos planificados, seguridad o, incluso, acceder
a ciertas opciones de menú.

Privilegio de acceso a pantalla y página

Este privilegio se aplica para una pantalla o página. Por ejemplo, puede definir el
acceso a una página cuando necesita proporcionar acceso sólo a determinados
usuarios.

Privilegio de acceso a catálogos

Este privilegio se aplica para uno o varios catálogos.


Privilegio de acceso a jerarquía

Este privilegio se aplica para una o varias jerarquías.

Privilegio de acceso de entorno local

Puede restringir el acceso a uno o varios entornos locales disponibles. Por ejemplo,
los miembros de una función de gestores norteamericanos pueden tener acceso a
los entornos locales de inglés-EE.UU, inglés-Canadá, francés-Canadá y español-
México, pero no a los entornos locales de inglés-Reino Unido, francés-Francia o
español-España.
TIPOS DE PRIVILEGIOS QUE DEBE TENER UN USUARIO

Usuario activo
Privilegio predeterminado de todos los nuevos usuarios. Permite a los
usuarios iniciar sesión en una base de datos de usuario y enviar nuevos
registros; modificar registros existentes; y crear, modificar y guardar
consultas personales, gráficas e informes.
Todos los usuarios/grupos visibles
Privilegio predeterminado de todos los nuevos usuarios. Los usuarios pueden
ver información de todos los otros usuarios y grupos.
Administrador de listas dinámicas
Realizar todas las tareas de un usuario activo incluyendo la siguiente
actividad:
 Editar listar dinámicas.
Administrador de carpetas públicas
Realizar todas las tareas de un usuario activo además de las siguientes
actividades:
 Establecer y modificar permisos de acceso sobre cualquier carpeta pública
para grupos de los que son miembros.
 Establecer y modificar el permiso Cambiar permiso sobre cualquier carpeta
pública para grupos de los que el Administrador de carpetas públicas es
miembro.
 Crear, modificar, guardar y suprimir consultas públicas, gráficas e informes.
Tiene acceso de Lectura/Escritura en todas las carpetas públicas.
Diseñador de esquemas
Realizar todas las tareas de un usuario activo además de las siguientes
actividades:
 Utilizar el Diseñador para crear y modificar esquemas. Añadir tipos de
registros, definir y modificar campos, crear y modificar estados y acciones,
añadir enganches al esquema así como actualizar bases de datos existentes.
No puede realizar tareas de administrador de usuarios.
Administrador de seguridad
Realizar todas las tareas de un usuario activo además de las siguientes
actividades:
 Establecer y modificar permisos de acceso sobre cualquier carpeta pública
para todos los grupos, independientemente de si pertenecen a estos grupos.
 Establecer y modificar el permiso Cambiar permiso sobre todas las carpetas
públicas para todos los grupos.
 Crear, modificar, guardar y suprimir consultas públicas, gráficas e informes.
 Editar SQL para consultas con el cliente de Rational ClearQuest.
 Crear y mantener registros de contexto de seguridad
 Ver todos los registros.
Tiene acceso de Lectura/Escritura en todas las carpetas públicas.
Editor de SQL

Realizar todas las tareas de un usuario activo incluyendo la siguiente


actividad:
 Editar SQL para consultas en el cliente de Rational ClearQuest y construir
sentencias SQL para llamadas a la API en enganches.
Atención
El contexto de seguridad se implementa en el código de SQL que construye
las consultas. Un usuario que tiene el privilegio de Editor de SQL puede pasar
por alto el contexto de seguridad.

Superusuario
Realizar todas las tareas de un Usuario activo, Todos los usuarios/grupos
visibles, Administrador de listas dinámicas, Administrador de carpetas
públicas, Diseñador de esquemas, Administrador de seguridad, Editor de
SQL y Administrador de usuarios, incluidas las actividades siguientes:
 Utilizar el Diseñador para crear y suprimir bases de datos y esquemas.
 Editar los valores de la web de Rational ClearQuest.
La cuenta de usuario admin que viene con Diseñador tiene privilegios de
superusuario.

Administrador de usuarios
Realizar todas las tareas de un Usuario activo y Todos los usuarios/grupos
visibles además de las actividades siguientes:
 Crear usuarios y grupos de usuarios y asignar y modificar sus privilegios
utilizando la Herramienta de administración de usuarios. Con el privilegio de
Administrador de usuarios, sólo puede asignar los privilegios que tenga. Por
ejemplo, para asignar el privilegio de Diseñador de esquemas, debe tener el
privilegio de Diseñador de esquemas.
 Crear y modificar contraseñas de usuario, incluidas las contraseñas de
superusuarios.
Una vez creados los usuarios será necesario dotarlos de privilegios para que
puedan realizar operaciones especéficas en la base de datos. Estos privilegios
suelen clasificarse en:

 Privilegios del Sistema ( System privileges ) permisos a ‘niveles de la


base de datos como pueden ser conexión a la base de datos, creación de
usuarios, limitar cuentas.
 Privilegios sobre Objetos ( Object privileges ) vistas, tablas, secuencias,
procedimientos, paquetes.
 Privilegios sobre Roles ( Role privileges ) son otorgados mediante roles
agrupando un conjunto de privilegios.

Para otorgar privilegios utilizamos la sentencia GRANT, para quitar un privilegio o


permiso a un usuario utilizamos la sentencia REVOKE

Para conocer los privilegios y su sintaxis es necesario consultar los manuales de


referencia de su SGBD. En el caso de Oracle usaremos la
vista SYSTEM_PRIVILEGE_MAP

SELECT * FROM SYSTEM_PRIVILEGE_MAP

Comando GRANT

Se utiliza para crear usuarios y concederle previlegios. La sintaxis general del


comando GRANT es la siguiente:

GRANT privilegios (columnas) ON elemento

TO nombre_usuario IDENTIFIED BY ‘contraseña’

(with grant option);

Lo que esta dentro de los parentisis son opcionales, y los parentisis no hay que
ponerlos.
GRANT ALL ON * TO super IDENTIFIED BY ‘algo’

WITH GRANT OPTION;

Ejemplo: Creamos desde la consola un usuario llamado alumno. Use la


cuenta SYSTEM.

Ahora si nos tratamos de conectar con este usuario. Ocurre un error, debido a que
no tenemos el privilegio

Ahora otorgaremos el privilegio de conexión

Entre todos los privilegios de sistema que existen, hay dos que son los
importantes: SYSDBA y SYSOPER. Estos son dados a otros usuarios que serán
administradores de base de datos.

Ejemplo: Asignar los privilegios de SYSBA a el usuario alumno. Desde la consola.

Verificamos que todo marche bien

Ahora nos conectamos con la cuenta alumno como SYSDBA


En resumen
SYSDBA y SYSOPER son privilegios administrativos necesarios para llevar a
cabo las operaciones administrativas de alto nivel tales como la creación, puesta
en marcha, el cierre, la copia de seguridad, o la recuperación de la base de datos.
El sistema de privilegios SYSDBA es para los administradores de bases de datos
totalmente habilitadas y el privilegio del sistema SYSOPER permite a un usuario
realizar tareas operativas básicas, pero sin la capacidad de mirar a los datos del
usuario.

Los privilegios del sistema SYSDBA y SYSOPER permiten el acceso a una


instancia de base, incluso cuando la base de datos no está abierto. Por lo tanto, el
control de estos privilegios está completamente fuera de la base de datos en sí.
Este control permite a un administrador que se concede uno de estos privilegios
para conectarse a la base de datos de ejemplo para iniciar la base de datos.

También se puede pensar de los privilegios de SYSDBA y SYSOPER como los


tipos de conexiones que le permiten realizar ciertas operaciones de base de datos
para los que los privilegios no se pueden conceder de ninguna otra manera. Por
ejemplo, si usted tiene el privilegio SYSDBA, a continuación, puede conectarse a
la base de datos utilizando como SYSDBA.

CONNECT alumno/key AS SYSDBA

El usuario SYS se concede automáticamente el privilegio SYSDBA momento de la


instalación. Al iniciar la sesión como usuario SYS, debe conectarse a la base de
datos como SYSDBA o SYSOPER. Conexión como usuario SYSDBA invoca el
privilegio SYSDBA; conectar como SYSOPER invoca el privilegio SYSOPER. EM
Express le permite entrar como usuario SYS y conectar
como SYSDBA o SYSOPER.

Cuando se conecta con el privilegio SYSDBA o SYSOPER, se conecta con un


esquema predeterminado, no con el esquema que se asocia generalmente con el
nombre de usuario. Para SYSDBA este esquema es SYS; para SYSOPER el
esquema es PUBLIC
3.4 ROLES

Un rol es una colección 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 rol CONNECECT permite al usuario conectarse a la base de datos, crear


tablas, vistas, secuencias, sinónimos y otros objetos en el esquema asociado
.
El rol RESOURCE permite al usuario utilizar los recursos típicos para la
programación de aplicaciones (clusters, disparadores, paquetes, funciones, etc.)

El rol DBA, típico de los administradores, permite al usuario realizar cualquier


función de base de datos y disponer de cualquier privilegio

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 contraseña para utilizar el rol,

INDENTIFIED BY password indica que se requiere la contraseña especificada.

EXTERNALLY crea un rol de usuario externo y GLOBALLY crea un rol de


usuario global.

La sintaxis Oracle es la siguiente


NOT IDENTIFIED indica que no se requiere contraseña para utilizar el
rol, INDENTIFIED BY password indica que se requiere la contraseñ;a
especificada. EXTERNALLY crea un rol de usuario externo y GLOBALLY crea un
rol de usuario global.
Un nuevo rol está vacío inicialmente. Agregaremos privilegios a un rol con la
sentencia GRANT.
Ejemplo: Creamos un nuevo rol y le asignamos el privilegio de conexión

Ejemplo: Crear un rol y asignarle privilegios

CREATE ROLE miPrimerRole;


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

Ejemplo: Crear un rol y asignarle todos los privilegios

CREATE ROLE miPrimerRole;


GRANT ALL ON tabla TO miPrimerROLE;

Ejemplo: Asignar un rol a un usuario

GRANT miPrimerRole TO miUsuario;

Ejemplo: Eliminar un rol

DROP ROLE miPrimerRole;

Uso de roles
Empleamos ya esta sentencia. Veamos algunos ejemplos.

CONNECT SYS/bingo AS SYSDBA;


CONNECT alumno/key AS SYSDBA;
CONNECT alumno/key AS miPrimerRole

Potrebbero piacerti anche