Activation d'un contexte sécurisé à l'aide de l'authentification pour les bases de données DB2

Activez le contexte sécurisé dans vos applications pour améliorer la façon dont le serveur d'applications interagit avec les serveurs de base de données DB2. Utilisez des connexions accréditées pour conserver les enregistrements d'identité des clients qui se connectent à une base de données DB2 via vos applications. Les connexions accréditées peuvent fournir un environnement plus sécurisé en accordant un accès en fonction de l'identité de ces utilisateurs. DB2 fournit une option pour les connexions accréditées nécessitant un mot de passe lors du changement de l'identité de l'utilisateur. Vous pouvez configurer le serveur d'applications pour qu'il utilise les connexions accréditées avec l'authentification, puis insérer votre propre code pour profiter du contexte sécurisé avec l'authentification.

Avant de commencer

Consultez la rubrique relative à l'activation du contexte sécurisé des bases de données DB2 pour vous assurer que les connexions accréditées sont correctement configurées pour le serveur d'applications.

Pourquoi et quand exécuter cette tâche

Si l'option WITH AUTHENTICATION est spécifiée lors de la création du contexte sécurisé, la base de données nécessite que vous fournissiez un jeton d'authentification avec l'identité de l'utilisateur final. La base de données authentifie l'utilisateur final et vérifie qu'il est autorisé à accéder à la base de données avant que cette dernière ne permette le traitement des requêtes.

[z/OS]L'identité de l'utilisateur final doit être l'ID RACF.

Procédure

  1. Définissez la propriété personnalisée useTrustedContextWithAuthentication sur True pour la source de données DB2.
    1. Cliquez sur JDBC > Sources de données.
    2. Cliquez sur le nom de la source de données à configurer.
    3. Cliquez sur Propriétés personnalisées sous l'en-tête Propriétés supplémentaires.
    4. Cliquez sur Nouveau.
    5. Renseignez les zones obligatoires. Utilisez les informations suivantes :
      Name Valeur
      useTrustedContextWithAuthentication true
    Si la propriété personnalisée useTrustedContextWithAuthentication n'est pas définie sur True, le serveur d'applications fournit une implémentation de réutilisation des connexions accréditées de DB2 sans aucune authentification lors de la phase d'exécution. Dans ce cas, il est inutile de fournir quoi que ce soit pour utiliser la fonction du contexte sécurisé.
  2. Utilisez la configuration de connexion de TrustedConnectionMapping, décrite dans la rubrique relative à l'activation du contexte sécurisé des bases de données DB2.
  3. Développez la classe DataStoreHelper et implémentez la méthode getPasswordForUseWithTrustedContextWithAuthentication, telle que décrite dans la rubrique relative au développement d'une classe DataStoreHelper personnalisée. Lors de la phase d'exécution, le serveur d'applications appelle cette méthode pour renvoyer le mot de passe que le serveur d'applications doit utiliser pour modifier l'identité du contexte sécurisé après l'activation de ce contexte avec l'authentification. Le mot de passe renvoyé par cette méthode est envoyé à la base de données lorsque le serveur d'applications modifie les identités du contexte accrédité, et le mot de passe n'est pas stocké par le serveur d'applications.
    Ce serveur d'applications appelle uniquement cette méthode si les conditions suivantes sont vérifiées :
    • Vous définissez la propriété personnalisée de la source de données useTrustedContextWithAuthentication sur True.
    • Vous utilisez la configuration de connexion TrustedConnectionMapping.
    Voici un exemple de la méthode getPasswordForUseWithTrustedContextWithAuthentication :
    public String getPasswordForUseWithTrustedContextWithAuthentication(String identityname, String realm)
                      throws SQLException
       {
          return customersOwnUtility().getPassword(identityname)   // Les clients utilisent leur propre
                                                                   // implémentation pour obtenir le mot de passe
       }
    Eviter les incidents Eviter les incidents: Vous ne pouvez pas activer la propriété personnalisée useTrustedContextWithAuthentication de la source de données sans remplacer la méthode getPasswordForUseWithTrustedContextWithAuthentication dans la classe DataStoreHelper afin d'obtenir le mot de passe permettant de modifier l'identité des connexions accréditées. Si vous n'implémentez pas la méthode getPasswordForUseWithTrustedContextWithAuthentication, le serveur d'applications génère une exception avec le message suivant lors de la phase d'exécution :

    TRUSTED_WITH_AUTHENTICATION_IMPLEMENTATION_ERROR=DSRA7033E : Vous ne pouvez pas activer la propriété personnalisée useTrustedContextWithAuthentication de la source de données sans remplacer getPasswordForUseWithTrustedContextWithAuthentication DataStoreHelper. TRUSTED_WITH_AUTHENTICATION_IMPLEMENTATION_ERROR.explanation = La propriété personnalisée useTrustedContextWithAuthentication est activée, mais le code d'implémentation de la méthode DataStoreHelper qui renverra le mot de passe que le serveur d'applications utilisera pour modifier l'identité, n'est pas fourni. TRUSTED_WITH_AUTHENTICATION_IMPLEMENTATION_ERROR.useraction = Remplacez la méthode getPasswordForUseWithTrustedContextWithAuthentication DataStoreHelper et fournissez le code d'implémentation qui renverra le mot de passe, ou définissez la propriété personnalisée useTrustedContextWithAuthentication de la source de données sur false.

    gotcha

Icône indiquant le type de rubrique Rubrique de tâche



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tdat_trustedcontextwithauth
Nom du fichier : tdat_trustedcontextwithauth.html