Activation d'un contexte sécurisé 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.
Avant de commencer
- Vous utilisez un serveur de base de données qui exécute DB2 Database pour Linux, UNIX et Windows version 9.5 ou ultérieure, ou DB2 Database version 9.1 ou ultérieure pour z/OS. Consultez la liste des logiciels pris en charge par le serveur d'applications pour plus d'informations relatives à la prise en charge.
- Il n'est pas nécessaire d'être connecté à la base de données pour configurer un contexte sécurisé dans le serveur d'applications.
- Le contexte sécurisé est activé pour la base de données DB2.
- La sécurité globale est activée. Pour plus d'informations sur la configuration de la sécurité, voir la rubrique Configuration, activation et migration de la sécurité.
Pourquoi et quand exécuter cette tâche
Avec des connexions accréditées, vous pouvez :
- Accédez à la base de données DB2 avec l'identité de l'appelant, sans qu'il ne soit nécessaire de créer une connexion pour chaque utilisateur.
- conserver l'identité de l'utilisateur lorsque le serveur d'applications interagit avec la base de données,
- renforcer la sécurité de la base de données en évitant d'accorder tous les droits à un seul utilisateur,
- améliorer les performances, par rapport au modèle existant d'utilisation de la méthode resetConnection() afin de tirer partir de la propagation d'identité.
Remarque : Les connexions non accréditées
ne peuvent pas être utilisées en tant que connexions accréditées. Si le pool de connexions ne contient que
des connexions non accréditées et qu'une demande de connexion accréditée est reçue,
une nouvelle demande est envoyée à la base de données pour la connexion accréditée.
Procédure
Activez le contexte sécurisé pour vos applications.
- Activez le contexte sécurisé lorsque vous installez une nouvelle application.
- Effectuez une installation standard pour l'application jusqu'à ce que vous atteigniez l'étape 7 : Mappage de références de ressource vers des ressources dans l'assistant d'installation.
- A l'étape 7 : Mappage de références de ressource vers des ressources, sélectionnez Utiliser des connexions sécurisées (mappage un à un) dans la section Spécification de la méthode d'authentification.
- Sélectionnez un alias d'authentification à partir de la liste correspondant à un alias
déjà défini dans la source de données DB2. Si vous n'avez pas d'alias défini approprié, poursuivez
l'installation et activez le contexte sécurisé une fois l'application installée.Remarque : Vous pouvez indiquer un utilisateur par défaut (UNAUTHENTICATED) à utiliser si aucune identité de client n'est disponible, mais l'ID par défaut (UNAUTHENTICATED) doit également exister dans la base de données DB2. Si com.ibm.mapping.unauthenticatedUser a la valeur null ou est une chaîne vide, le serveur d'applications utilise l'utilisateur par défaut (UNAUTHENTICATED). Pour plus d'informations, voir les informations relatives à la configuration des propriétés de sécurité des connexions accréditées.
- Dans le tableau, sélectionnez une source de données dont le contexte sécurisé est activé.
- Cliquez sur Apply.
- Editez les propriétés de la configuration de connexion personnalisée. Lire la rubrique
Définition des propriétés de sécurité pour les connexions sécurisées.Remarque : Assurez-vous que toutes les valeurs d'authentification sont définies sur none pour les connexions sécurisées à utiliser. Par exemple, si vous avez utilisé une connexion sécurisée pour vous connecter à DB2, le bouton Tester la connexion ne fonctionne pas et l'opération échoue ;
The test connection operation failed for data source jdbcTestDB on server server1 at node wasvm04Node02 with the following exception: java.sql.SQLException: [jcc][t4][10205][11234][3.59.81] Null userid is not supported. ERRORCODE=-4461, SQLSTATE=42815 DSRA0010E: SQL State = 42815, Error Code = -4,461. View JVM logs for further details.
- Terminez l'assistant d'installation.
- Activez le contexte sécurisé sur une application déjà installée.Remarque : Supprimez la propriété personnalisée propagateClientIdentityUsingTrustedContext pour la source de données DB2, si elle est présente. Si propagateClientIdentityUsingTrustedContext est activé, le serveur d'applications émet l'avertissement suivant à l'exécution :
Le serveur d'applications détermine à l'exécution si la demande utilise un contexte sécurisé et active ou non le contexte sécurisé en fonction de cette information. Il est donc possible d'utiliser la même source de données dans le serveur d'applications pour un accès sécurisé ou non.IDENTITY_PROPAGATION_PROP_WARNING=DSRA7029W: The propagateClientIdentityUsingTrustedContext custom property for the Datasource is no longer used, value will be ignored.
- Cliquez sur Applications d'entreprise Websphere > nom_application.
- Cliquez sur Références de ressource sous l'en-tête Ressources.
- Sélectionnez Utiliser des connexions sécurisées (mappage un à un) dans la section Spécification de la méthode d'authentification.
- Sélectionnez un alias d'authentification à partir de la liste correspondant à un alias
déjà défini dans la source de données DB2. Si vous n'avez pas d'alias défini approprié, définissez
un nouvel alias.
- Cliquez sur JDBC > Sources de données > source_données.
- Cliquez sur JAAS - Données d'authentification J2C sous l'en-tête Articles liés.
- Cliquez sur Nouveau.
- Définissez les propriétés de l'alias dans Propriétés générales.
- Cliquez sur OK.
Remarque : Vous pouvez indiquer un utilisateur par défaut (UNAUTHENTICATED) à utiliser si aucune identité de client n'est disponible, mais l'ID par défaut (UNAUTHENTICATED) doit également exister dans la base de données DB2. Si com.ibm.mapping.unauthenticatedUser a la valeur null ou est une chaîne vide, le serveur d'applications utilise l'utilisateur par défaut (UNAUTHENTICATED). Pour plus d'informations, voir les informations relatives à la configuration des propriétés de sécurité des connexions accréditées. - Dans le tableau, sélectionnez une source de données dont le contexte sécurisé est activé.
- Cliquez sur Apply.
- Editez les propriétés de la configuration de connexion personnalisée. Lire la rubrique Définition des propriétés de sécurité pour les connexions sécurisées.
Que faire ensuite
- Le serveur d'applications émet un avertissement si vous utilisez la connexion TrustedConnectionMapping alors que le serveur de la base ne prend pas en charge le contexte sécurisé. Le serveur d'applications renvoie alors une connexion normale non accréditée. Si vous utilisez une base de données DB2 pour le serveur de la base et qu'elle ne prend pas en charge les connexions accréditées, le serveur de la base DB2 lève une exception.
- Le serveur d'applications lève l'exception suivante si vous utilisez la configuration de connexion
TrustedConnectionMapping et que ThreadIdentity est indiqué :
IDENTITY_PROPAGATION_CONFLICT2_ERROR=DSRA7028E: You cannot use the TrustedConnectionMapping login configuration when the ThreadIdentity property is enabled.
- Le serveur d'applications lève l'exception suivante si vous utilisez la configuration de connexion
TrustedConnectionMapping et que la réauthentication est indiquée :
IDENTITY_PROPAGATION_CONFLICT1_ERROR=DSRA7025E: The reauthentication custom property for the Datasource cannot be enabled when you are using the TrustedConnectionMapping login configuration.