Conexiones de confianza con DB2

Las conexiones de confianza permiten que el servidor de aplicaciones utilice los objetos de Contexto de confianza DB2 para establecer conexiones con un usuario cuyas credenciales son de confianza para el servidor DB2 para abrir la conexión. A través del establecimiento de un Contexto de confianza, este usuario tiene confianza para confirmar otras identidades de usuario en el servidor DB2 sin los gastos de reautenticación. Esto también amplía la seguridad de la base de datos DB2 eliminando la necesidad de asignar todos los privilegios a un solo usuario. La implementación de conexiones de confianza da como resultado la propagación de identidades de clientes mientras se aprovecha la agrupación de conexiones para eliminar la penalización de rendimiento de cerrar y reabrir conexiones con una identidad diferente.

Restricción: Para utilizar la funcionalidad de conexión de confianza debe utilizar la base de datosDB2 para Linux, UNIX y Windows Versión 9.5 o posterior o la base de datos DB2 Versión 9.1 o posterior para z/OS. Puede utilizar las conexiones de confianza si la versión 7.0 se instala en un sistema iSeries mientras se instale una versión soportada de DB2 en una plataforma que no sea de un sistema iSeries y se utilice el controlador DB2 Universal. Para obtener más información de soporte, consulte la lista de software soportado para el servidor de aplicaciones.

Para reducir el coste importante de establecer nuevas conexiones, el gestor de conexiones mantiene una agrupación de conexiones en la que se realiza un seguimiento de cada conexión mediante la credencial utilizada originalmente para abrir la conexión. Cuando una aplicación necesita una conexión, el gestor de conexiones utiliza el objeto de credencial para que coincida con una conexión libre de la agrupación de conexiones. Si no hay ninguna conexión libre disponible y no se ha alcanzado aún el número máximo de conexiones, el gestor de agrupación de conexiones abre una nueva conexión mediante ese objeto de credencial. Esta correlación de conexión es la correlación de conexión por omisión utilizada por el servidor de aplicaciones y se conoce como una correlación de credencial "de varias a una", ya que la conexión se abre mediante el objeto de credencial en el sujeto, que normalmente no es el mismo que la identidad RunAs. Esta sencilla correlación permite la fácil agrupación de conexiones, pero la identidad de quien realiza la llamada no se propaga nunca al servidor de bases de datos.

Para propagar que el interlocutor se identifique en el servidor de bases de datos, puede conectarse a un módulo de inicio de sesión de JAAS (Java™ Authentication and Authorization Service). Utilizando este método correlacionaría la credencial de usuario del servidor de aplicaciones con la credencial de usuario adecuada para el reino de seguridad del servidor de bases de datos. Este enfoque mantiene la identidad de quien realiza la llamada, pero no utiliza la agrupación de conexiones.

Las conexiones de confianza se utilizan en lugar de la correlación por omisión o de una correlación JAAS para conectar con el origen de datos. Las conexiones de confianza dan soporte a la propagación de identidades de cliente y también pueden utilizar la agrupación de conexiones para reducir el coste sobre el rendimiento del cierre y la reapertura de conexiones con una identidad distinta. Las conexiones de confianza utilizan el objeto de contexto de confianza de DB2.

El contexto de confianza de DB2 es un objeto que el administrador de base de datos define y que contiene un ID de autorización del sistema y un conjunto de atributos de confianza. Los atributos de confianza identifican las características necesarias de una conexión para que esta se pueda considerar de confianza. La relación entre una conexión de base de datos y un contexto de confianza se establece cuando se crea la conexión con el servidor DB2. Después de definir un contexto de confianza y realizar una conexión de confianza inicial con el servidor de bases de datos DB2, el servidor de aplicaciones puede utilizar esa conexión de base de datos desde un usuario diferente sin una reautenticación completa. Esto se debe a que es necesaria una señal de autenticación con la identidad de usuario. La base de datos autentica al usuario y, a continuación, verifica la autorización del usuario para acceder a la base de datos antes de permitir que las solicitudes de bases de datos se procesen en nombre de dicho usuario.
[z/OS]Restricción: Para un servidor z/OS, la identidad de usuario debe ser el ID de RACF (Resource Access Control Facility).

El uso de la conexión de confianza proporciona los puntos de conexión necesarios para dar soporte a la adición de su propia implementación segura del contexto de confianza de DB2. Las conexiones de confianza separan la identidad utilizada para establecer la conexión y la identidad que accede a los servicios del servidor de fondo. La conexión se establece por un usuario cuyas credenciales son de confianza para el servidor DB2 para abrir la conexión. A continuación, se acredita al mismo usuario para confirmar la identidad de los demás usuarios. Además, esta aserción ayuda a fortalecer la seguridad de la base de datos ya que elimina la necesidad de otorgar todos los privilegios a un único usuario.

Cuando la aplicación solicita una conexión a la base de datos, el gestor de conexiones puede buscar cualquier conexión de confianza inactiva y confirmar la identidad del usuario en el servidor de fondo. Todas las operaciones realizadas en el servidor de fondo provienen de la identidad de usuario confirmada. Puede que aún siga siendo necesaria la utilización de una correlación de identidad si el servidor de fondo utiliza un repositorio de usuarios distinto del repositorio de servidor de aplicaciones.

Una nueva configuración de correlación denominada TrustedConnectionMapping implementa conexiones de confianza. La configuración TrustedConnectionMapping correlaciona el sujeto RunAs con un sujeto de recursos que contiene los elementos siguientes:
  • Un objeto de principal de recurso que este asunto de recurso representa
  • Un objeto PasswordCredential del conjunto de credenciales privadas
  • Un objeto IdentityPrincipal en el conjunto de principales
El objeto de principal representa la identidad RunAs. El objeto PasswordCredential contiene un ID de usuario y una contraseña que serán utilizados por el adaptador de recursos para establecer la conexión de confianza. El objeto IdentityPrincipal contiene por omisión la identidad RunAs, pero se puede cambiar para que utilice la identidad de quien realiza la llamada. El objeto IdentityPrincipal también contiene una identidad de usuario original que representa al usuario que ha enviado la solicitud inicialmente, un nombre de reino opcional que indica el conjunto de registros donde se define la identidad del usuario y una señal de seguridad opcional, que es un contexto de seguridad serializado del usuario.

Icon that indicates the type of topic Concept topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=csec_trustedconnections
File name: csec_trustedconnections.html