Inteligencia e Identidad

Por Mark Rittman y Joel Crisp

 

Integración de Oracle Business Intelligence y Oracle Identity Management

Cuando usted implementa Oracle Business Intelligence Enterprise Edition, el modo en que maneja la administración de identidad es tan importante como la velocidad de las consultas y la calidad de sus datos. Una solución para la administración de identidad bien construida garantiza que los usuarios se establezcan automáticamente al momento de ingresar por primera vez a la empresa, a fin de acceder rápidamente a las aplicaciones y los datos adecuados a sus diversos roles, y que los detalles personales y los privilegios de acceso puedan administrarse fácilmente.

Este informe se centra en la integración de Oracle Business Intelligence Enterprise Edition con dos importantes herramientas para la administración de identidad de Oracle: Oracle Internet Directory y Oracle Application Server Single Sign-On. Usted aprenderá a combinar las características de seguridad de Oracle Business Intelligence Enterprise Edition y Oracle Identity Management para ofrecer acceso seguro y minucioso a la información.

Administración de Identidad como Punto Central

La identidad de los usuarios tiene su propio ciclo de vida, comienza con la contratación inicial, sigue con las promociones y cambios de departamento o roles, y finaliza cuando un miembro del personal deja el puesto y se elimina el acceso a las aplicaciones de esa persona. Con el tiempo, por lo general, los empleados necesitan tener acceso a múltiples sistemas, y sus requerimientos de acceso a los datos cambiarán según sus roles.

Oracle Identity Management es un amplio grupo de productos que brinda herramientas para la administración de identidad basadas en estándares, con inclusión de Oracle Access Manager, Oracle Application Server Single Sign- On, Oracle Enterprise Single Sign-On Suite, Oracle Identity Federation, Oracle Identity Manager, Oracle Internet Directory, Oracle Virtual Directory, y Oracle Web Services Manager. Oracle Internet Directory es un directorio LDAP v.3 que aprovecha la escalabilidad de Oracle Database para almacenar los perfiles de grupos y usuarios. Oracle Internet Directory es ampliamente utilizado dentro de las herramientas de middleware y aplicaciones propias de Oracle que proporcionan un depósito único de información para la identidad. (Para tener una visión general de los conceptos de administración de identidad y Oracle Identity Management, vea " Access Granted" en la edición julio/agosto 2006 de Oracle Magazine).

Oracle Business Intelligence Enterprise Edition tiene su propia infraestructura de seguridad para la administración de grupos de usuarios y el control de acceso a las fuentes de datos, no obstante también puede integrarse con otras implementaciones para la administración de identidad estándar del sector, con inclusión de Oracle Identity Management.

Oracle Business Intelligence Enterprise Edition incluye Oracle Business Intelligence Server, Oracle Business Intelligence Presentation Services, y Oracle Business Intelligence Administration Tool, además de varias otras aplicaciones de escritorio y servidores.

Oracle Business Intelligence Server presenta un repositorio local con información de distintas fuentes de datos (data warehouses, data marts, aplicaciones empaquetadas, entre otras) a las cuales los usuarios de negocio tendrán acceso por medio de Oracle Business Intelligence Interactive Dashboards.

Oracle Business Intelligence Presentation Services tiene su propia infraestructura separada de seguridad para usuarios y grupos, almacenada en un repositorio separado, conocida como Web Catalog. Oracle Business Intelligence Interactive Dashboard es la principal interface de usuarios provista por Oracle Business Intelligence Presentation Services.

Cuando los usuarios ingresan a sus respectivos tableros de control, Oracle Business Intelligence Server autentica sus credenciales. Si la cuenta no existe en el Web Catalog, ésta debe crearse. Si un usuario es miembro de algún grupo que tenga los accesos correspondientes para Web Catalog, se le otorga acceso a estos grupos Web Catalog y a cualquier tablero de control al cual la persona tenga acceso.

Como verá más adelante en este artículo, la información de usuarios o grupos contenida en Oracle Internet Directory puede ser utilizada para facilitar los mismos escenarios de acceso.

Oracle Business Intelligence Server permite a los usuarios privilegiados “hacerse pasar por” otros usuarios—esta funcionalidad es utilizada por Oracle Business Intelligence Presentation Services para implementar la funcionalidad single-sign-on en varios escenarios, con inclusión del que se demuestra luego en este artículo.

Para obtener más información, vea Oracle Business Intelligence Presentation Services Administration Guide (capítulo 8) y Oracle Business Intelligence Server Administration Guide (capítulo 15), disponibles en Oracle Technology Network.

Unificación de la Administración de Identidad

Las empresas que han implementado Oracle Identity Management pueden utilizarlo fácilmente para brindar Oracle Business Intelligence Enterprise Edition con una solución para la administración de identidad escalable e integrada para todas sus necesidades de informes. Este informe ofrece tres escenarios de integración que demuestran cómo aprovechar las características avanzadas de ambos productos.

Ejemplo 1: Aprovechar Oracle Internet Directory para Oracle Business Intelligence Interactive Dashboard Security hace que usted esté un paso adelante, permitiendo a los usuarios de Oracle Business Intelligence Interactive Dashboard conectarse a sus tableros de control utilizando las claves y contraseñas de Oracle Internet Directory.

Ejemplo 2: Ampliar Oracle Internet Directory User Identity con las Características de Seguridad de Oracle Business Intelligence Server le demuestra cómo las características de Oracle Business Intelligence Server pueden brindar un control granular, en el nivel de filas, sobre los datos de los informes para los usuarios autenticados con Oracle Internet Directory.

Ejemplo 3: Optimizar el Acceso a Oracle Business Intelligence utilizando los pasos de Oracle Single Sign-On hace que usted esté un paso adelante, configurando Oracle Business Intelligence Enterprise Edition para aprovechar Oracle Application Server Single Sign-On como aplicación partner. Los usuarios de negocio podrán acceder a la funcionalidad Oracle Business Intelligence Server utilizando la misma cuenta de usuario que para otras aplicaciones, y podrán acceder a sus tableros de control de Oracle Business Intelligence Server basándose en la membresía de grupo.

Los ejemplos en este informe se basan en las siguientes versiones específicas:

  • Oracle Business Intelligence Enterprise Edition 10.1.3.2, instalado con la opción Advanced Security, que permite instalar los componentes necesarios (Web Bridge servlet, JMX Bean Server, y Oracle Business Intelligence Publisher) en Oracle Application Server 10.1.3 (en lugar de Oracle Containers para J2EE [OC4J] por defecto). En general, se recomienda Oracle Application Server para ejecutar Oracle Business Intelligence Enterprise Edition en los entornos de producción.
  • Oracle Identity Management y Oracle Application Server Metadata Repository son instalados como parte de la implementación de infraestructura Oracle Application Server 10.1.2. (Oracle Identity Management 10.1.4.0.1 incluye muchas mejoras y correcciones de bugs como única descarga de todos los componentes de instalación—la infraestructura de Oracle Application Server, Oracle Database Server, entre otros)

Además de los productos requeridos, tenga en cuenta éstos otros requerimientos:

  • Los servidores en los cuales se instalan los distintos componentes deben presentar nombres de dominio totalmente aptos (FQDNs) para respaldar el escenario single-sign-on.
  • Si usted utiliza un protocolo de configuración host dinámico (DHCP) para las direcciones de red en las plataformas de Microsoft Windows, asegúrese de configurar Microsoft Loopback Network Adapter antes de instalar cualquier software. Vea las guías para instalación de los respectivos productos para obtener más detalles.
  • Antes de realizar cambios en los archivos de configuración existentes (instanceconfig.xml, por ejemplo) como se describe en cualquiera de los ejemplos, haga un backup del archivo para su seguridad.
  • Los ejemplos suponen que usted tiene una instancia Oracle Internet Directory instalada y configurada. Para configurar la conexión entre la autenticación de Oracle Business Intelligence Server y Oracle Internet Directory, el usuario debe existir en Oracle Internet Directory. Para crear cuentas de usuario,

1. Desde un navegador Web, navegue hasta Oracle Identity Management Provisioning Console:

http://yourservername:7777/oiddas/

2. Haga un click en la etiqueta Directory para activar la página de configuración de usuarios. Configure las cuentas de usuarios como sea necesario.

Ejemplo 1: Aprovechar Oracle Internet Directory para Oracle Business Intelligence Interactive Dashboard Security

En este primer ejemplo, usted conecta Oracle Business Intelligence Server a Oracle Internet Directory, para permitir la autenticación de los usuarios de Oracle Business Intelligence Interactive Dashboard utilizando su clave y contraseña de Oracle Internet Directory. Durante el tiempo de ejecución, cuando un usuario de negocios intenta acceder a un informe, Oracle Business Intelligence Presentation Services recuperará de Oracle Internet Directory la información de membresía de grupo del usuario.

Este ejemplo se basa en el uso exclusivo de Oracle Internet Directory para administrar la membresía de grupos y los IDs de usuarios. Usted puede, no obstante, utilizar Oracle Security Manager para importar los detalles de los usuarios y grupos directamente al repositorio de Oracle Business Intelligence Server y luego mantener estos detalles actualizados a través de la herramienta Oracle Security Manager LDAP Synchronization u Oracle Directory Integration Platform, ofrecida con Oracle Internet Directory. (Oracle Directory Integration Platform le permite crear un flujo de trabajo que puede agregar usuarios al repositorio de Oracle Business Intelligence Server tan pronto como éstos sean suministrados en Oracle Internet Directory.) Vea la Guía de Implementación de Oracle Business Intelligence Enterprise Edition para obtener más detalles sobre otras opciones de configuración.

Para permitir la autenticación en Oracle Internet Directory, debe crear un "bloque de inicio" que se ejecuta cuando el usuario se registra, recuperando los detalles de Oracle Internet Directory. El bloque de inicio se ejecuta en el nivel de sesión.

Oracle Business Intelligence Administration Tool Variable Manager le permite definir variables de repositorio y variables de sesión. Utilizaremos la variable de sesión para definir un bloque de inicio en el nivel de sesión.

Para crear el bloque de inicio, utilice Oracle Business Intelligence Server Administration e active Variable Manager, de la siguiente manera:

1. Active la Herramienta de Administración de Oracle Business Intelligence.
(Por ejemplo, haga un click en Start -> Programs -> Oracle Business Intelligence -> Administration.)

2. Desde el menú Manage, seleccione Variables... para activar Variable Manager.

3. En el panel izquierdo, en Session, haga un click en Initialization Blocks.

4. En el panel derecho de Variable Manager, haga un click derecho en New Initialization Block... (ver Figura 1) para desplegar el editor de Session Variable Initialization Block.

 

5. Nombre el Autenticador de variables.

6. Haga click en Edit Data Source... para crear una nueva fuente de datos LDAP.

7. Utilice el cuadro de diálogo LDAP Server, e ingrese los siguientes detalles de conexión:


Host name = name of server hosting Oracle Internet Director
Port = 389 
Base DN = dc=, dc=
Bind DN = cn=orcladmin
Bind Password = 
LDAP Version = 3 

8. Haga un click en Test Connection para asegurarse que todo esté funcionando correctamente.

Después de establecer la conexión con Oracle Internet Directory, usted debe mapear las variables internas de Oracle Business Intelligence Server hasta las variables Oracle Internet Directory LDAP, de la siguiente manera:

1. Regrese al editor Session Variable Initialization Block.

2. Haga un click en Edit Data Target.

3. Utilizando el cuadro de diálogo Session Variable Initialization Block Data Target, mapee estas tres variables Oracle Business Intelligence Server a sus respectivas variables Oracle Internet Directory LDAP:
 

USER = uid
GROUP = departmentnumber
PASSWORD = userpassword

 

Usted puede ignorar los mensajes de alerta que aparecen al utilizar los nombres de USER y PASSWORD (contraseña opcional). Los alertas se generan porque usted está directamente estableciendo valores para estas variables internas de Oracle Business Intelligence Server—algo que usted nunca haría en un entorno de producción.

4. Haga un click en OK para guardar la definición de variable objetivo.

5. Nuevamente, haga un click en OK para crear el bloque de inicio.

Tenga en cuenta que en lugar de utilizar el atributo LDAP uid para establecer la identidad de un usuario, usted puede utilizar el atributo orclguid, el cual le garantiza la exclusividad aún cuando un usuario es eliminado de Oracle Internet Directory y se crea otro con el mismo nombre. No obstante, por ejemplo, utilizamos el atributo uid, lo cual hace que el proceso Web Catalog sea un poco más ameno (con el riesgo de que los nuevos usuarios confluyan con los usuarios eliminados). Usted también puede crear enlaces de variables adicionales para la dirección de e-mail del usuario (MAIL) u otros atributos LDAP.

6. Haga un click en OK para volver a desplegar el cuadro de diálogo de Server Variable Initialization Block.

7. Tilde el casillero Required for Authentication para que todos los usuarios (salvo el usuario administrador) se autentiquen por medio del servidor de Oracle Internet Directory. (Si usted no marca el casillero, los usuarios que no se encuentren en Oracle Internet Directory aún podrán autenticarse si sus detalles se encuentran en el repositorio de Oracle Business Intelligence Server.)

8. Reinicie Oracle Business Intelligence Server.

Pruebe su configuración, haciendo que uno de sus usuarios se registre en Oracle Business Intelligence Interactive Dashboard por medio de su credencial de Oracle Internet Directory. El usuario debería tener acceso a Oracle Business Intelligence Interactive Dashboard conforme a la membresía de grupo de Oracle Business Intelligence Presentation Services Web Catalog incluida en el perfil de Oracle Internet Directory.

Ejemplo 2: Ampliar Oracle Internet Directory User Identity con Oracle Business Intelligence Server Security Features

En este ejemplo, usted crea grupos dentro de Oracle Business Intelligence Server y aplica a los grupos una seguridad en el nivel de filas para que los usuarios tengan acceso a los datos basados en roles, independientemente de cómo se registren (a través de Security Manager o a través de Oracle Internet Directory).

Primero, cree los grupos en Oracle Business Intelligence Server, utilizando Oracle Business Intelligence Administration Tool.

1. Desde el menú principal de Oracle Business Intelligence Administration Tool, seleccione Manage -> Security para activar Security Manager.

2. Desde el panel izquierdo de Security Manager, seleccione Groups.

3. Agregue el nombre de grupo que coincide con la configuración de grupo de Oracle Internet Directory.

4. Cree grupos que concuerden con los grupos ya creados en Oracle Business Intelligence Presentation Services Web Catalog y que concuerden con los nombres de grupos utilizados dentro de Oracle Internet Directory.

5. Una vez que haya creado los grupos, utilice el cuadro de diálogo User Group/ Permissions para crear y aplicar uno o más filtros a las tablas disponibles en cada grupo, limitando así el acceso.

Por ejemplo, usted puede crear un filtro para limitar los miembros del grupo del Este de modo que ellos puedan ver la información de los clientes de NuevaYork y Massachusetts solamente (ver la Figura 2). Cada filtro define la información que los usuarios pueden ver. Los filtros con acumulativos: los usuarios que pertenecen tanto a los grupos del Norte como del Este verán los datos de los clientes en los estados del norte y del este.

 

No obstante, los usuarios que no tengan ningún filtro aplicado a una tabla específica en el repositorio podrán ver todos los datos en esa tabla.

Cuando alguien del grupo del Este se registra, esa persona podrá ver los datos de esa región (ver Figura 3); si el/ella también pertenece a otro grupo o si otros usuarios registran quiénes pertenecen a un grupo distinto, ellos verán los datos para esos estados particulares.

Ejemplo 3: Optimizar el Acceso a Oracle Business Intelligence Enterprise Edition utilizando Oracle Application Server Single Sign-On

La característica single-sign-on (SSO) de Oracle Application Server permite a los usuarios tener una sola contraseña e ID de usuario que garantiza el acceso a las aplicaciones de Oracle. Estas aplicaciones pueden ser integrantes de Oracle Application Server Single Sign-On (en el cual la administración de perfiles y usuarios es manejada por Oracle Internet Directory) o pueden ser aplicaciones partner que administren los perfiles de sus propios usuarios.

Este ejemplo muestra cómo configurar Oracle Business Intelligence Enterprise Edition como una aplicación partner de Oracle Application Server Single Sign-On: los IDs de usuarios single-sign-on son mepeados a sus IDs de usuarios Oracle Business Intelligence Enterprise Edition equivalentes, de modo que pueden acceder a sus datos e informes.

Configurar Oracle Business Intelligence Enterprise Edition para que funcione con Oracle Application Server Single Sign-On es un proceso razonablemente convencional si Oracle Business Intelligence Suite ha sido instalado con la opción de instalación de Advanced Security.

Para configurar Oracle Business Intelligence Enterprise Edition a fin de utilizar SSO en la plataforma Microsoft Windows XP:

1. Abra una solicitud de comando.

2. Establezca la variable del entorno ORACLE_HOME en la página de inicio de Oracle utilizada por Oracle Application Server Identity Management :

C:\>set ORACLE_HOME=c:\oracle\OraHome_1


3. Utilice Oracle Internet Directory SSOREG para crear una configuración que apunte a su Oracle Business Intelligence Presentation Server URL (utilizando solo el nombre host y el número de puerto):

C:\> C:\oracle\OraHome_1\sso\bin\ssoreg.bat -oracle_home_path 
     c:\oracle\OraHome_1 -config_mod_osso
TRUE -site_name <bi host name>:<bi port number>
 -remote_midtier
 -config_file c:\oracle\OraHome_1\Apache\Apache\conf\osso\biosso.conf
 -mod_osso_url http://<bi host name>:<bi port number>



4. Copie el archivo de configuración generado por SSOREG en la página de inicio Oracle de Oracle Application Server 10.1.3 (en la cual se implementó Oracle Business Intelligence Enterprise Edition). Por ejemplo,
 

C:\> copy c:\oracle\OraHome_1\Apache\Apache\conf\osso\biosso.conf 
c:\oracle\OraHome_2\Apache\Apache\conf\osso\



5. Utilice el editor de texto, abra el archivo mod_osso.conf en la página de inicio Oracle de Oracle Application Server 10.1.3 (localizada en el directorio ORACLE_HOME/Apache/Apache/conf), y agregue la siguiente instrucción:
 

OssoConfigFile c:/oracle/OraHome_2/Apache/Apache/conf/osso/biosso.conf


6. Agregue el siguiente fragmento XML para proteger estadísticamente la URL de Oracle Business Intelligence Presentation Server :


<IfModule mod_osso.c>
  <Location /analytics>
    OssoIpCheck off
    OssoIdleTimeout off
    Header unset Pragma
    OssoSendCacheHeaders off
    AuthType Basic
    require valid-user
  </Location>
</IfModule>


7. Guarde los cambios y cierre el editor de texto. Dentro de la misma página de inicio de Oracle, navegue al subdirectorio /Apache/Apache/conf : 

ORACLE_HOME/Apache/Apache/conf


8. Mediante el editor de texto, abra el archivo httpd.conf y quite las barras de comentario de la siguiente línea :


include "Oracle_HOME/Apache/Apache/conf/mod_osso.conf"


9. De ser necesario, modifique el nombre de la página de inicio de Oracle a la que se hace referencia en la línea de manera que ésta haga referencia a la página de inicio utilizada por Oracle Application Server 10.1.3. Cuando el servidor Apache se inicia, leerá el archivo mod_osso.conf que usted modificó.

10. Guarde los cambios y cierre el editor de texto.

11. Reinicie el servidor Oracle HTTP, utilice el siguiente comando:

 

ORACLE_HOME/opmn/bin/opmnctl 
restartproc process-type=HTTP_Server



Para configurar la autenticación delegada, inicie nuevamente Oracle Business Intelligence Administration Tool para crear un "impersonation user", el cual Oracle Business Intelligence Presentation Server utilizará para crear una conexión a Oracle Business Intelligence Server en nombre del usuario autenticado.

Dentro de Oracle Business Intelligence Administration Tool, seleccione Manage -> Security y New -> User. Cree un usuario con el nombre Impersonator y la contraseña fakeuser (en situaciones de producción, seleccione una contraseña más segura). Agregue el impersonation user al grupo Administrators, y recuerde el nombre de usuario y contraseña.

Ahora agregue los detalles de este impersonation user al depósito de credenciales de Oracle Business Intelligence Presentation Server, utilizando Presentation Server CRYPTOTOOLS:

1. Abra una solicitud de comando.

2 . Navegue hasta las herramientas de criptografía de Oracle Business Intelligence y el depósito de credenciales. La ubicación por defecto se encuentra en el subdirectorio \OracleBI\web\bin de Oracle Business Intelligence Suite. Por ejemplo,

cd c:\oracle\OracleBI\web\bin


3. Ingrese al siguiente comando: 


cryptotools credstore -add -infile 
c:/oracle/OracleBIData/web/config/
credentialstore.xml


Se le pedirá ingresar el alias de la credencial, el nombre de usuario, la contraseña y demás detalles:

4. Ingrese el nombre de imitación para el alias de la credencial.

5. Ingrese Impersonator para el nombre de usuario.

6. Ingrese fakeuser para la contraseña.

7. Responda sí cuando se le pida encriptar la contraseña.

8. En la solicitud de contraseña, ingrese storepassword y tome nota de la contraseña.

9. Responda no cuando se le pida almacenar la contraseña en el archivo XML.

10. Responda sí cuando se le pida sobrescribir el archivo de depósito de credenciales.

Luego, usted debe actualizar el archivo de configuración Oracle Business Intelligence Presentation Services (instanceconfig.xml), localizado en el directorio de datos de Oracle Business Intelligence Suite. Por ejemplo,

 

c:\oracle\OradleBIData\web\config\instanceconfig.xml

 

11. Utilice el editor de texto, abra el archivo instanceconfig.xml.

12. Agregue la ubicación del almacenamiento de credenciales en la sección ServerInstance del archivo, substituyendo la ubicación de su Oracle Business Intelligence Presentation Server y Oracle Application Server Single Sign-On en el fragmento XML: 


<CredentialStore>
  <CredentialStorage type="file" 
    path="c:/oracle/OracleBIData/web/
    config/credentialstore.xml"
    passphrase="storepassword"/>
</CredentialStore>


13. Agregue el fragmento de autorización XML para la sección ServerInstance del archivo :

Auth>
<SSO enabled="true">
<ParamList>
  <!--IMPERSONATE param is used to 
  get the authenticated user's username 
  and is required -->
  <Param name="IMPERSONATE"
   source="serverVariable"
   nameInSource="REMOTE_USER"/>
</ParamList>
<LogoffUrl>
 http://<identity server host>:
<identity server port>
/pls/orasso/orasso.wwsso_app_admin.ls_logout?p_done_url=http%3A%2F%2F
<bi server host>:<bi server port>%2Fanalytics%2F
</LogoffUrl>
<LogonUrl> 
http://<identity server host>:
<identity server port>/pls/orasso/orasso.wwsso_app_admin.ls_login
</LogonUrl>
</SSO>
</Auth>
 

14. Guarde el archivo instanceconfig.xml.

15. Reinicie Oracle Business Intelligence Presentation Server.
 

Sus usuarios ahora deberían poder ingresar a Oracle Business Intelligence Enterprise Edition utilizando Oracle Application Server Single Sign-On.

En la Parte 11 de Oracle Business Intelligence Enterprise Edition Deployment Guide, se brindan detalles completos de cómo registrar Oracle Business Intelligence Enterprise Edition como aplicación partner de Oracle Application Server Single Sign-On.

Resumen

Al integrar una aplicación basada en Oracle Business Intelligence Enterprise Edition, saber cómo manejar el problema de la administración de identidad es tan importante como la calidad de sus datos y el desempeño de sus informes. Los usuarios deberían tener un solo perfil dentro de su empresa que otorgue acceso tanto a sus aplicaciones como a sus informes, con un proceso de abastecimiento simple de administrar que maneje su ciclo de administración de identidad, desde la contratación hasta la promoción y la desvinculación.

Oracle Application Server 10g, a través del uso de las herramientas de Oracle Identity Management—Oracle Internet Directory, Oracle Delegated Administration Services, y Oracle Application Server Single Sign-On—brinda una solución basada en estándares ampliamente utilizados. Oracle Business Intelligence Enterprise Edition aprovecha estos estándares y le permite crear una única solución para la administración de identidad en todas las aplicaciones de informes y líneas de negocios.


Mark Rittman es director Oracle ACE y cofundador de Rittman Mead Consulting, un Partner de Oracle con sede en el Reino Unido que brinda inteligencia de negocios especializada y soluciones para el depósito de datos. Joel Crisp es un importante ingeniero de Oracle que trabaja en Oracle Business Intelligence Suite.