Archivo de la etiqueta: Oracle

Oracle Day 2014 Madrid – Disrupción

En el encuentro Oracle Day 2014 de Madrid se han repasado las distintas tecnologías que en estos momentos están produciendo un cambio de paradigma en la forma que tienen las empresas de trabajar y en la relación que tradicionalmente establecían los distintos actores del mercado. Estas tecnologías han ido creciendo en los últimos años a gran velocidad y en estos momentos ya nos encontramos inmersos en sus efectos. Son las tecnologías que, en la jerga del sector, se denominan IoT (Internet of Things), BigData, Cloud y Movilidad.

La información siempre ha estado ahí, junto a nosotros, pero es ahora cuando empezamos a tener:

  • IoT y BigData: Las herramientas que nos permiten capturar datos de múltiples fuentes.
  • Cloud: Almacenarlos y procesarlos a un coste asumible.
  • Movilidad: Para convertirlos en información que podamos ofrecer de manera sencilla al usuario final allí donde sea necesaria.

Control de acceso a recursos de red – ACL management

Con la salida de Oracle 11g se ha incluido en la base de datos un sistema para controlar el acceso a recursos de red que, por defecto, bloquea cualquier intento de conexión al exterior. Esto nos obliga a crear una serie de listas, o ACLs, para controlar y permitir el acceso a los recursos de red que sean necesarios en nuestros desarrollos.

El paquete DBMS_NETWORK_ACL_ADMIN nos proporciona todos los procesos necesarios para crear y gestionar estas listas. En el siguiente ejemplo se muestran los pasos que debemos seguir para habilitar a dos usuarios el acceso a una URL concreta:

  • Nombre de la lista ACL: network_access_test.xml
  • Usuarios con permisos de conexión: TEST_USER y TEST_USER_2
  • URL de acceso: *.yahooapis.com
-- Create ACL
BEGIN
 DBMS_NETWORK_ACL_ADMIN.CREATE_ACL (
  acl          => 'network_access_test.xml', 
  description  => 'Network access test', 
  principal    => 'TEST_USER', -- Must be in upper case
  is_grant     => TRUE,
  privilege    => 'connect',
  start_date   => NULL,
  end_date     => NULL);
END;
/

 -- Creates the second role privilege
BEGIN
 DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE (
  acl          => 'network_access_test.xml',
  principal    => 'TEST_USER_2',
  is_grant     => TRUE, 
  privilege    => 'connect',
  position     => NULL,
  start_date   => NULL,
  end_date     => NULL);
END;
/

 -- Creates the first target host
BEGIN
 DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL (
  acl          => 'network_access_test.xml',
  host         => '*.yahooapis.com',
  lower_port   => NULL,
  upper_port   => NULL); 
END;
/

Para asegurarnos de que hemos activado el acceso correcto podemos consultar las siguientes vistas:

-- List ACLs
select *
from RESOURCE_VIEW
where any_path like '/sys/acls/%';

-- List ACL privileges
select *
from DBA_NETWORK_ACL_PRIVILEGES;

-- List URLs
select *
from DBA_NETWORK_ACLS;

Por último vamos a mostrar cómo eliminar usuarios, conexiones y la ACL completa que hemos creado:

-- Delete users / roles from ACL
BEGIN
 DBMS_NETWORK_ACL_ADMIN.DELETE_PRIVILEGE (
  acl          => 'network_access_test.xml',
  principal    => 'TEST_USER',
  is_grant     => TRUE, 
  privilege    => 'connect');
END;
/

-- Delete URLs
BEGIN
 DBMS_NETWORK_ACL_ADMIN.UNASSIGN_ACL (
  acl          => 'network_access_test.xml',
  host         => '*.yahooapis.com',
  lower_port   => NULL,
  upper_port   => NULL); 
END;
/

-- Drop ACL
BEGIN
 DBMS_NETWORK_ACL_ADMIN.DROP_ACL (
  acl          => 'network_access_test.xml'); 
END;
/

En este ejemplo se ha creado una ACL básica que permite acceso completo a una URL. Pero las ACL permiten controlar aspectos como los puertos a los que se tiene acceso, definición de subredes o establecer la ventana temporal en la que estará activo el acceso para cada usuario.

Para profundizar en estos aspectos se puede consultar el siguiente enlace:
http://download.oracle.com/docs/cd/B28359_01/network.111/b28531/authorization.htm#DBSEG40012

Ponencias Oracle 12c Madrid

En la presentación de la nueva versión de la base de datos Oracle 12c que hoy ha tenido lugar en Madrid hemos contado con dos ponentes internacionales.

Dominic Giles nos ha presentado la visión de Oracle sobre las bases de datos y las tecnologías cloud.

20131002-220802.jpg

Bob Dunsby se ha centrado en las nuevas capacidades de Oracle 12c para funcionar como un servicio: DBaaS o bases de datos como servicio.

20131002-225902.jpg

Oracle 12c (12.1) – New Features

Documentación sobre las nuevas funcionalidades que incorpora Oracle 12cR1:

ODB_12c