Habilitación del contexto de confianza para bases de datos DB2
Habilite el contexto de confianza en las aplicaciones para mejorar cómo el servidor de aplicaciones interactúa con servidores de aplicaciones DB2. Utilice conexiones de confianza para preservar los registros de identidad de los clientes que se conectan a una base de datos DB2 mediante las aplicaciones; las conexiones de confianza pueden proporcionar un entorno más seguro al otorgar acceso basado en la identidad de esos usuarios.
Antes de empezar
- Está utilizando un servidor de bases de datos que ejecuta la base de datos DB2 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. Consulte la lista de software soportado para el servidor de aplicaciones para obtener más información sobre soporte.
- No es necesario conectarse a la base de datos para configurar el contexto de confianza en el servidor de aplicaciones.
- El contexto de confianza está habilitado para la base de datos DB2.
- La seguridad global está habilitada. Consulte el tema sobre la configuración, habilitación y migración de la seguridad, para obtener más información sobre la configuración de la seguridad.
Acerca de esta tarea
Con las conexiones de confianza, puede:
- Acceda a la base de datos DB2 con la identidad del interlocutor, obviando la necesidad de crear una conexión nueva para cada usuario.
- Preserve la identidad del usuario cuando el servidor de aplicaciones interactúe con la base de datos.
- Fortalezca la seguridad de las bases de datos evitando otorgar todos los privilegios a un solo usuario.
- Mejore el rendimiento, comparado con el modelo existente de utilizar el método resetConnection() para aprovechar la propagación de identidades.
Nota: No se pueden utilizar las conexiones que no sean de
confianza como conexiones de confianza. Si la agrupación de conexiones sólo contiene conexiones que no son de confianza y entra una
solicitud para una conexión de confianza, se enviará una solicitud nueva a la base de datos
para la conexión de confianza.
Procedimiento
Habilite el contexto de confianza para las aplicaciones.
- Habilite el contexto de confianza cuando instale una aplicación nueva.
- Realice una instalación típica para la aplicación hasta que llegue al Paso 7: Correlacionar referencias de recursos con recursos en el asistente de instalación.
- En el Paso 7: Correlacionar referencias de recursos con recursos, seleccione Utilizar conexiones de confianza (correlación de uno a uno) en la sección Especificar método de autenticación.
- Seleccione un alias de autenticación de la lista que coincida con un alias que ya
esté definido en el origen de datos de DB2. Si no tiene un alias definido que sea adecuado, continúe con la instalación y habilite el
contexto de confianza después de instalar la aplicación.Nota: Puede especificar el uso de un usuario predeterminado (no autenticado) si no hay ninguna identidad de cliente disponible, pero el ID por omisión (no autenticado) debe existir también en la base de datos DB2. Si com.ibm.mapping.unauthenticatedUser se establece en null o en una serie vacía, el servidor de aplicaciones utilizará el usuario predeterminado (no autenticado). Para obtener más información, consulte la información sobre cómo establecer las propiedades de seguridad para conexiones de confianza.
- Seleccione un origen de datos de la tabla que tiene habilitado el contexto de confianza.
- Pulse Aplicar.
- Edite las propiedades de la configuración de inicio de sesión personalizada. Consulte el tema sobre el establecimiento de las propiedades de seguridad en
conexiones de confianza.Nota: Asegúrese de que todos los valores de autenticación estén establecidos en none para que funcionen las conexiones de confianza. Por ejemplo, si ha utilizado una conexión de confianza para conectarse a DB2, el botón Probar conexión no funcionará y la operación fallará:
La operación de prueba de conexión ha fallado para el origen de datos jdbcTestDB en el servidorserver1 en el nodo wasvm04Node02 con la siguiente excepción: java.sql.SQLException: [jcc][t4][10205][11234][3.59.81] No está soportado el ID de usuario nulo. ERRORCODE=-4461, SQLSTATE=42815 DSRA0010E: Estado SQL = 42815, Código de error = -4,461. Consulte los registros de la JVM para ver detalles adicionales.
- Finalice el asistente de instalación.
- Habilite el contexto de confianza en una aplicación que ya esté instalada.Nota: Elimine la propiedad personalizada propagateClientIdentityUsingTrustedContext para el origen de datos DB2, si está presente. Si propagateClientIdentityUsingTrustedContext se habilita, el servidor de aplicaciones emitirá el aviso siguiente en tiempo de ejecución:
El servidor de aplicaciones determinará en tiempo de ejecución si la solicitud utiliza el contexto de confianza y el servidor de aplicaciones habilitará el contexto de confianza según esa información. Por lo tanto, se puede utilizar el mismo origen de datos del servidor de aplicaciones tanto para acceso de confianza como para acceso que no sea de confianza.IDENTITY_PROPAGATION_PROP_WARNING=DSRA7029W: La propiedad personalizada propagateClientIdentityUsingTrustedContext para el origen de datos ya no se utiliza. Se ignorará el valor.
- Pulse Aplicaciones empresariales WebSphere > nombre_aplicación.
- Pulse Referencias de recursos de la cabecera Recursos.
- Seleccione Utilizar conexiones de confianza (correlación de uno a uno) en la sección Especificar método de autenticación.
- Seleccione un alias de autenticación de la lista que coincida con un alias que ya
esté definido en el origen de datos de DB2. Si no tiene un alias definido que sea adecuado, defina un alias nuevo.
- Pulse JDBC > Orígenes de datos > nombre_origen_datos.
- Pulse Datos de autenticación JAAS - J2C de la cabecera Elementos relacionados.
- Pulse Nuevo.
- Defina las propiedades para el alias en Propiedades generales.
- Pulse Aceptar.
Nota: Puede especificar el uso de un usuario predeterminado (no autenticado) si no hay ninguna identidad de cliente disponible, pero el ID por omisión (no autenticado) debe existir también en la base de datos DB2. Si com.ibm.mapping.unauthenticatedUser se establece en null o en una serie vacía, el servidor de aplicaciones utilizará el usuario predeterminado (no autenticado). Para obtener más información, consulte la información sobre cómo establecer las propiedades de seguridad para conexiones de confianza. - Seleccione un origen de datos de la tabla que tiene habilitado el contexto de confianza.
- Pulse Aplicar.
- Edite las propiedades de la configuración de inicio de sesión personalizada. Consulte el tema sobre el establecimiento de las propiedades de seguridad en conexiones de confianza.
Qué hacer a continuación
- El servidor de aplicaciones emitirá un aviso si utiliza la configuración de inicio de sesión TrustedConnectionMapping y el servidor de bases de datos no da soporte al contexto de confianza. A continuación, el servidor de aplicaciones devolverá una conexión normal y no de confianza. Si utiliza una base de datos DB2 para el servidor de bases de datos, y no da soporte a las conexiones de confianza, el servidor de bases de datos DB2 lanzará una excepción.
- El servidor de aplicaciones emitirá un aviso si utiliza la configuración de inicio de
sesión TrustedConnectionMapping y se especifica ThreadIdentity.
IDENTITY_PROPAGATION_CONFLICT2_ERROR=DSRA7028E: No puede utilizar la configuración de inicio de sesión TrustedConnectionMapping cuando la propiedad ThreadIdentity está habilitada.
- El servidor de aplicaciones emitirá un aviso si utiliza la configuración de inicio de
sesión TrustedConnectionMapping y se especifica la reautenticación.
IDENTITY_PROPAGATION_CONFLICT1_ERROR=DSRA7025E: No se puede habilitar la propiedad personalizada de reautenticación para el origen de datos cuando se está utilizando la configuración de inicio de sesión TrustedConnectionMapping.