Administración de Usuarios en Oracle

Mayo 19, 2008

  1. CREACIÓN DE USUARIOS
  2. AUTENTICACIÓN ORACLE
  3. ASIGNACIONES A LOS USUARIOS
  4. Una de las más básicas tareas de un administrador de base de datos es identificar los usuarios. Cada usuario que conecta en la base de datos debe de tener una cuenta. En las cuentas compartidas son difíciles de aplicar una auditoria.

    Para crear un usuario utilizamos la sentencia CREATE USER. Cuando creas una cuenta como mínimo tienes que asignar un único nombre (username) y una contraseña para poder autenticarse.

    Para cambiar alguno de los atributos que se le ha añadido al usuario creado se utiliza la sentencia ALTER USER.

    Cuando uno se conecta con una instancia de una base de datos la cuenta de usuario debe de estar autenticada. ORACLE provee tres métodos de autenticación para nuestra cuenta de usuario.

    AUTENTICACIÓN MEDIANTE PASSWORDCuando un usuario conecta con una base de datos verifica que este usuario y la contraseña introducida almacenada en la base de datos, sea correcta. Las contraseñas se guardan encriptadas en la base de datos (en el data dictionary).

    SQL > CREATE USER david IDENTIFIED BY tititus;

    En este caso tititus es la contraseña de david que será guardada encriptada en la base de datos.

    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$david IDENTIFIED BY tititus;

    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 david 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.

    ASIGNACIÓN DE UN USUARIO A UN TABLESPACE ( DEFAULT TABLESPACE )Mediante esta sentencia asignamos un usuario a un tablespace, este será su tablespace por defecto cuando creamos un usuario.

    SQL > CREATE USER david IDENTIFIED BY tititus DEFAULT TABLESPACE users;

    Mediante esta sentencia, en caso de tener creado ya el usuario le asignamos un tablespace.

    SQL > ALTER USER david DEFAULT TABLESPACE users;

    La base de datos toma un tablespace por defecto, en caso de querer cambiar este tablespace utilizamos la siguiente sentencia

    SQL > ALTER DATABASE DEFAULT TABLESPACE users;

    ASIGNACIÓN DE UN USUARIO A UN TABLESPACE TEMPORAL

    Un tablespace temporal se utiliza para almacenar “segmentos” temporales que son creados durante operaciones como ORDER BY,SELECT DISTINCT, MERGE JOIN o CREATE INDEX.A veces a los usuarios se les asocia un tablespace temporal para realizar este tipo de operaciones, cuando estas operaciones finalizan este segmento temporal que se ha creado exclusivamente para la operación desaparece.

    SQL > CREATE USER david IDENTIFIED BY tititus DEFAULT TABLESPACE users
    TEMPORARY TABLESPACE temp;

    Mediante TEMPORARY TABLESPACE asignamos como tablespace temporal temp al usuario david.

    En caso de que el usuario esté creado si queremos asignarle un tablespace temporal utilizamos ALTER USER

    SQL > ALTER USER david TEMPORARY TABLESPACE Temp;

    ASIGNACIÓN DE UN PERFIL A UN USUARIOAl igual que podemos asignar un tablespace a un usuario, también podemos asignarle un perfil (profile). El principal perfil ( profile ) por defecto se denomina default.

    Si el usuario no está lo podemos crear de la siguiente forma:

    SQL > CREATE USER david IDENTIFIED BY tititus
    DEFAULT TABLESPACE users
    TEMPORARY TABLESPACE temp
    PROFILE resource_profile;

    En caso de que el usuario ya esté creado al igual que en los anteriores casos utilizamos la sentencia ALTER USER.

    SQL > ALTER USER david PROFILE resource_profile;

    BORRADO DE UN USUARIOPara borrar un usuario utilizamos la sentencia DROP USER, podemos opcionalmente incluir la opción CASCADE, se utiliza para borrar recursivamente los objetos del usuario que se pretende borrar.

    SQL > DROP USER david CASCADE

    OTORGANDO PRIVILEGIOS (GRANTING)A un usuario podemos otorgarle una serie de privilegios. Un privilegio permite a un usuario acceder a ciertos objetos o realizar ciertas acciones:.

    - Privilegios sobre Objetos ( Object privileges ) a permisos sobre vistas, tablas, secuencias, procedimientos, paquetes.
    - Privilegios del Sistema ( System privileges ) a permisos sobre “niveles de la base de datos” como pueden ser conexión a la base de datos, creación de usuarios, limitar cuentas.
    - Privilegios sobre Roles ( Role privileges ) a muchos permisos 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

    EJEMPLOSPrivilegio sobre una tabla:

    SQL > GRANT ALL ON tabla_alumnos TO david

    Siendo tabla_alumnos una tabla de nuestra base de datos y david un usuario de esta, hemos asignado mediante GRANT ALL,todos los permisos al usuario david sobre esta tabla.

    GRANT ALL = permisos SELECT, INSERT, UPDATE, DELETE

    Si queremos asignar sólo uno de estos permisos utilizamos la misma sentencia pero con el permiso que queramos otorgar.

    SQL > GRANT SELECT ON tabla_alumnos TO david
    SQL > GRANT SELECT,INSERT ON tabla_alumnos TO david

    Privilegio sobre una vista:

    Para el caso de las vistas podemos a un usuario otorgar permisos SELECT, INSERT, UPDATE, DELETE, DEBUG, REFERENCES.

    Siendo vista_alumnos una vista de nuestra base de datos y david un usuario de esta:

    Otorgamos al usuario david todos los permisos sobre la vista vista_alumnos.

    SQL > GRANT ALL ON vista_alumnos TO david

    Otorgamos al usuario david algunos permisos sobre la vista_alumnos

    SQL > GRANT SELECT ON vista_alumnos TO david

    SQL > GRANT SELECT,INSERT ON vista_alumnos TO david

    Privilegio sobre una secuencia:

    Con las secuencias pasa lo mismo que con los anteriores objetos vistos, para otorgar permisos se utiliza GRANT. Los permisos que podemos otorgar a una secuencia es SELECT o ALTER.

    Privilegio sobre un paquete,función o procedimiento

    Los permisos que podemos otorgar a las funciones, paquetes o procedimientos almacenados en nuestra base de datos son los siguientes: EXECUTE, DEBUG.

    QUITANDO PRIVILEGIOS Si queremos quitar un privilegio a uno de estos objetos haremos lo mismo que con GRANT pero utilizando la sentencia REVOKE.

    SQL > REVOKE ALL ON tabla_usuarios FROM david

Entry Filed under: Base de Datos, DB-Oracle. .

2 Comments Add your own

  • 1. BrotherSV  |  Enero 8, 2009 at 8:21 pm

    Alguien podria ayudarme diciendome que informacion manejan las siguientes tablas en Oracle

    WM$CURCONFLICT_HIERA
    WM$PARCONFLICT_HIERA

  • 2. Algunos trucos para tus b&hellip  |  Marzo 14, 2009 at 9:48 am

    [...] númerico (NUMBER) con una cadena de texto… 3) Volcando TODAS las Bases de datos MySQL 4) Administración de Usuarios en Oracle Una de las más básicas tareas de un administrador de base de datos es identificar los usuarios. [...]

Leave a Comment

hidden

Some HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Trackback this post  |  Subscribe to the comments via RSS Feed


Categorías

Categorías Desplegable

Nube de Categoría

Base de Datos BlackBerry Celulares & PDAs Cursos DB- MS Access DB-MySql DB-Oracle DB-Oracle Express DB-SQL Server MS Estilo de Vida Fusion Table Gmail Hardware Hbase - hadoop Informática Internet Iphone Ipod Linux Mac OS Mouse Mozilla Firefox Mueble Multimedia Redis Relojes Safari Samsung Seguridad Sistema Operativo Software Sonido Sony Ericsson Technologias Teclado Touchscreen Trucos Ubuntu Vehiculos Web Windows 7 Windows Server 2008 Windows Vista Windows XP

Nube de Etiquetas

Ultimas Entradas

Entrada Más Vistas

Comentarios Recibidos

Danny en Conectarse con base SQL Server…
Argenis en Firefox 3.5 Final Disponi…
Sandy en BlackBerry Tour 9630
Eric en Tutorial de Introducción a Mic…
Ricardo en El Schimmel Pegasus, un piano …
Argenis Carvajal en BlackBerry Tour 9630
Argenis Carvajal en Fusion Tables, Google trae la …
william emir en Controlar espacio de los table…
Argenis en BlackBerry Bold: Ahora con vit…
Argenis en Antes que Windows y Mac, Linux…
Sandy en Ahora lo ves y ahora no lo…
YERKO en Cinco errores comunes al progr…
Argenis en Los botones desaparecerán de l…
Argenis en Sony Ericsson y Samsung lanzan…
Argenis en Apple anuncia el iPhone 3G S: …

Calendario

Mayo 2008
D L M X J V S
« Abr   Jun »
 123
45678910
11121314151617
18192021222324
25262728293031

Páginas

Estadisticas

Blogroll

Recomendadas

Tecnología

Archivos Meses Anteriores

Top Clicks

Sigueme por Twitter

Meta