Le mécanisme d'authentification Kerberos peut être utilisé quand
WebSphere
Application Server et le serveur DB2 sont configurés pour une authentification Kerberos. L'authentification Kerberos fournit des solutions interopérables de bout en bout à connexion unique (SSO) et conserve
l'identité du demandeur initial.
Avant de commencer
Sur le serveur d'applications, vous pouvez configurer une source de données DB2, le
serveur d'applications et votre application de manière à ce que la source de données DB2 et le
serveur d'applications interopèrent de bout en bout en utilisant les droits d'accès Kerberos délégués
pour l'accès aux données par l'application.
Pour profiter des avantages
offerts par l'authentification Kerberos DB2 en utilisant les droits d'accès délégués
à partir du serveur d'applications, dont il est fait état dans cette rubrique en tant qu'
option 1, vous
devez configurer DB2 et le serveur d'applications pour qu'ils utilisent Kerberos
comme mécanisme d'authentification. Pour en savoir plus sur la configuration de Kerberos en tant que mécanisme d'authentification dans cette version du serveur d'applications, voir la rubrique Prise en charge de la sécurité du mécanisme d'authentification Kerberos (KRB5).
Les fonctions
XARecovery et TestConnection du serveur d'applications ne peuvent pas fournir
les droits d'accès Kerberos délégués à la source de données. Il peut aussi y avoir des cas où
le composant de sécurité du serveur d'applications ne peut pas fournir les droits d'accès
Kerberos délégués pour une demande de connexion donnée. Pour tenir compte de ces situations,
vous pouvez configurer une connexion DB2 en utilisant l'authentification Kerberos
dont il est fait mention dans cette rubrique (option 2). Pour cette option, un ID utilisateur et un mot de passe doivent être indiqués au pilote JDBC, qui les utilise pour obtenir ses propres droits d'accès
Kerberos. Pour utiliser cette option, vous devez configurer sur le serveur d'applications un alias de données d'authentification J2C
qui définit l'ID utilisateur et le mot de passe que le pilote JDBC DB2
utilisera pour demander un TGT (Ticket Granting Ticket) Kerberos. Le TGT est utilisé pour l'authentification Kerberos sur un serveur DB2. Pour
le serveur d'applications, cela ressemble beaucoup à l'authentification typique par mot de passe
et ID utilisateur.
Vous devez utiliser un pilote JDBC DB2 qui prenne en charge l'authentification Kerberos
et opère dans le mode de type 4. Les pilotes pris en charge sont les suivants :
- IBM Data Server Driver for JDBC and SQLJ (identifié sur le serveur d'applications en tant que DB2 avec Pilote JCC IBM)
- IBM DB2 JDBC Universal Driver Architecture (identifié sur le serveur d'applications en tant que Fournisseur de pilote JDBC
pour DB2 Universal)
Pourquoi et quand exécuter cette tâche
Pour configurer le serveur d'applications et DB2 pour l'authentification avec Kerberos,
procédez comme suit :
Procédure
- Configurez le serveur DB2 pour l'authentification Kerberos. Reportez-vous
à la documentation sur la sécurité Kerberos DB2 dans le centre de documentation de DB2. Par exemple, lisez la rubrique "Informations détaillées sur l'authentification Kerberos".
Sur le site web IBM developerWorks, vous trouverez une autre référence utile intitulée "DB2 UDB Security, Part 6". Vérifiez que l'authentification Kerberos de DB2 fonctionne.
- Configurez le serveur d'applications pour utiliser la sécurité Kerberos.
Voir la rubrique “Configuration de Kerberos comme mécanisme d'authentification
avec la console d'administration”. Vérifiez que l'authentification Kerberos du serveur d'applications fonctionne.
- Configurez la source de données DB2 sur le serveur d'applications pour utiliser
l'authentification Kerberos. Cette tâche s'effectue en deux étapes :
vous devez configurer l'adaptateur de ressources sur le serveur d'applications
pour passer les droits d'accès Kerberos et les droits d'accès par mot de passe
au pilote JDBC, puis dans un deuxième temps, vous devez configurer le pilote JDBC pour utiliser
l'authentification Kerberos lors de la connexion au serveur DB2.
Pour plus d'informations sur cette
procédure, voir la rubrique “Configuration d'une source de données avec la console d'administration”.
Tableau 1. Propriétés
personnalisées et valeurs. Lors de la configuration de la source de données DB2, vous devez porter une attention particulière aux paramètres de sécurité et aux propriétés personnalisées.Chaîne |
valeur |
kerberosServerPrincipal Remarque : Cette propriété est facultative
excepté lors de la connexion au serveur DB2 qui s'exécute sur une plate-forme z/OS
(tel que DB2 for LUW, v8 FP11).
|
user@REALM
or
nom_service/nomhôte@REALM
|
SecurityMechanism Remarque : Une valeur de 11 pour cette propriété
indique que le pilote JDBC a besoin d'utiliser l'authentification Kerberos lors de la
connexion au serveur DB2.
|
11 |
- Pour l'option 2, vous devez configurer l'“Alias de configuration de mappage"
sur “DefaultPrincipalMapping”, ou sur une autre configuration de connexion qui ne génère pas
des droits d'accès GSS et définir l'“Alias d'authentification gérée
par conteneur” pour servir de référence à un alias à utiliser pour la connexion Kerberos par le pilote JDBC. La fonction testConnection utilise aussi cet alias si aucun alias d'authentification
gérée par conteneur n'est configuré.
- Pour l'option 1, droits d'accès Kerberos délégués, vous devez configurer
l'“Alias de configuration de mappage” sur “KerberosMapping”.
Cela signifiera que
l'adaptateur de ressources du serveur d'applications devra fournir les droits d'accès
délégués au pilote JDBC DB2. La fonction testConnection
et la fonction de restauration des transactions XA ne peuvent pas fournir des droits d'accès Kerberos
délégués, mais peuvent revenir à l'authentification de l'option 2. Si vous n'avez pas besoin de ces fonctions
vous pouvez sélectionner aucune pour chacun des alias
d'authentification. Si la fonction testConnection est utilisée et qu'un alias d'authentification valide est configuré, un message d'information DSRA8221I est consigné. Ce message indique que
testConnection n'est pas capable de fournir des droits d'accès Kerberos. Si aucun alias n'est
configuré, alors testConnection échouera avec une erreur de droits d'accès Kerberos non valides
rapportée par le pilote JDBC.
Important : Si KerberosMapping
est configuré mais que le composant de sécurité est incapable de fournir des droits d'accès Kerberos
pour une demande de connexion particulière, l'adaptateur de ressources peut être configuré
pour revenir à une authentification des connexions à l'aide de DPM (Default Principle Mapping). Pour configurer ce changement, sélectionnez un alias dans la liste d'alias d'authentification gérée par conteneur. Pour le désactiver, sélectionnez aucun dans cette même liste.
- Pour activer le mappage Kerberos (option 1), vous devez aussi spécifier l'authentification
gérée par conteneur. Pour spécifier l'authentification gérée par conteneur, l'application
doit utiliser une référence ressource pour chercher la source de données La référence de ressource doit spécifier KerberosMapping en tant que configuration de connexion. Si une configuration de connexion est spécifiée pour une référence de ressource, alors pour l'accès à l'application via cette référence de ressource, la configuration de connexion spécifiée a la priorité sur la valeur spécifiée de l'alias de la configuration de mappage dans la source de données. Un alias d'authentification géré par conteneur peut aussi être spécifié sur la référence de ressource.