Habilitación del contexto de confianza con autenticación 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. DB2 proporciona una opción para conexiones de confianza en la que se exige una contraseña al cambiar de identidad de usuario. Puede configurar el servidor de aplicaciones para utilizar conexiones de confianza con autenticación y conectar código propio para sacar partido del contexto de confianza con la autenticación.

Antes de empezar

Consulte el tema sobre la habilitación del contexto de confianza para bases de datos DB2 a fin de garantizar que las conexiones de confianza se configuren correctamente para el servidor de aplicaciones.

Acerca de esta tarea

Si se especifica la opción WITH AUTHENTICATION al crear el contexto de confianza, la base de datos exige que se proporcione una señal de autenticación con la identidad del usuario final. La base de datos autentica el usuario final y verifica la autorización del usuario final para acceder a la base de datos antes de que la base de datos permita que se procese una solicitud.

[z/OS]La identidad del usuario final debe ser el ID de RACF.

Procedimiento

  1. Establezca la propiedad useTrustedContextWithAuthentication en true para el origen de datos DB2.
    1. Pulse JDBC > Orígenes de datos.
    2. Pulse el nombre del origen de daos que desea configurar.
    3. Pulse Propiedades personalizadas en la cabecera Propiedades adicionales.
    4. Pulse Nuevo.
    5. Cumplimente los campos necesarios. Utilice la información siguiente:
      Name Valor
      useTrustedContextWithAuthentication true
    Si la propiedad personalizada useTrustedContextWithAuthentication no se establece en true, el servidor de aplicaciones proporcionará una implementación de reutilización de las conexiones de confianza de DB2 sin autenticación en tiempo de ejecución. En tal caso, no tendrá que proporcionar ningún dato para utilizar la característica de contexto de confianza.
  2. Utilice la configuración de inicio de sesión para TrustedConnectionMapping, como se describe en el tema sobre habilitación del contexto de confianza para bases de datos DB2.
  3. Amplíe la clase DataStoreHelper y proporcione la implementación para el método getPasswordForUseWithTrustedContextWithAuthentication, como se describe en el tema sobre desarrollo de una clase DataStoreHelper personalizada. En tiempo de ejecución, el servidor de aplicaciones llamará a este método para devolver la contraseña que el servidor de aplicaciones debe utilizar para cambiar la identidad del contexto de confianza cuando se ha habilitado el contexto de confianza con la autenticación. La contraseña que devuelve este método se enviará a la base de datos cuando el servidor de aplicaciones cambie las identidades de contexto de confianza y el servidor de aplicaciones no almacenará la contraseña.
    El servidor de aplicaciones sólo llama a este método si se dan las condiciones siguientes:
    • Se establece la propiedad personalizada de origen de datos useTrustedContextWithAuthentication en true.
    • Se utiliza la configuración de inicio de sesión de TrustedConnectionMapping.
    A continuación se muestra un ejemplo de método getPasswordForUseWithTrustedContextWithAuthentication:
    public String getPasswordForUseWithTrustedContextWithAuthentication(String identityname, String realm)
                      throws SQLException
       {
          return customersOwnUtility().getPassword(identityname)   // los clientes usan su propia
                                                                   // implementación para obtener la contraseña
       }
    Avoid trouble Avoid trouble: No puede habilitar la propiedad personalizada useTrustedContextWithAuthentication para el origen de datos sin sobregrabar el método getPasswordForUseWithTrustedContextWithAuthentication en la clase DataStoreHelper para obtener la contraseña para cambiar la identidad para conexiones de confianza. Si no proporciona la implementación del método getPasswordForUseWithTrustedContextWithAuthentication, el servidor de aplicaciones generará una excepción con el mensaje siguiente en tiempo de ejecución:

    TRUSTED_WITH_AUTHENTICATION_IMPLEMENTATION_ERROR=DSRA7033E: No puede habilitar la propiedad personalizada useTrustedContextWithAuthentication para el origen de datos sin sobrescribir getPasswordForUseWithTrustedContextWithAuthentication DataStoreHelper. TRUSTED_WITH_AUTHENTICATION_IMPLEMENTATION_ERROR.explanation=La propiedad personalizada useTrustedContextWithAuthentication está habilitada, pero no se ha proporcionado el código de implementación para el método DataStoreHelper que devolverá la contraseña que el servidor de aplicaciones utilizará para conmutar la identidad. TRUSTED_WITH_AUTHENTICATION_IMPLEMENTATION_ERROR.useraction=Sobrescriba el método getPasswordForUseWithTrustedContextWithAuthentication DataStoreHelper y proporcione el código de implementación que devolverá la contraseña, o establezca la propiedad personalizada useTrustedContextWithAuthentication para el origen de datos en false.

    gotcha

Icon that indicates the type of topic Task topic



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