Configuration d'un client Java pour l'authentification Kerberos

Un client Java™ peut être authentifié auprès de WebSphere Application Server avec un nom et un mot de passe de principal Kerberos ou avec le cache de justificatifs Kerberos (krb5Ccache).

Procédure

  1. Créez un fichier de configuration Kerberos (krb5.ini ou krb5.conf). Pour plus d'informations, voir Création d'un fichier de configuration Kerberos.
  2. Placez les fichiers krb5.ini ou krb5.conf que vous avez créés dans un emplacement par défaut. Si l'un des fichiers n'est pas situé dans l'emplacement par défaut, vous devez définir com.ibm.COBRA.krb5ConfigFile dans le fichier sas.client.props avec le chemin correct et le nom du fichier de configuration Kerberos.

    [Windows]L'emplacement par défaut est c:\winnt\krb5.ini.

    [Linux]L'emplacement par défaut est /etc/krb5.conf.

    [AIX][HP-UX][Solaris][z/OS]L'emplacement par défaut est /etc/krb5/krb5.conf.

    [IBM i]L'emplacement par défaut est /QIBM/UserData/OS400/NetworkAuthentication/krb5.conf

  3. Dans le fichier sas.client.props, définissez la propriété com.ibm.CORBA.authenticationTarget sur KRB5. Pour plus d'informations, voir la rubrique relative à la configuration de la sécurité à l'aide de scripts.
  4. De plus, dans le fichier sas.client.props, associez la propriété com.ibm.CORBA.loginSource à l'une des valeurs prises en charge répertoriées ici :
    Lorsqu'authenticationTarget est BasicAuth, les loginSource prises en charge sont :
    • prompt [default]
    • propriétés
    • stdin
    • aucun
    Lorsqu'authenticationTarget est KRB5, les loginSource prises en charge sont :
    • prompt [default]
    • propriétés
    • stdin
    • aucun
    • krb5Ccache
    • krb5Ccache:prompt
    • krb5Ccache:properties
    • krb5Ccache:stdin
    Envisagez également les opérations suivantes :
    krb5Ccache:prompt
    Utilisation de krb5Ccache pour l'authentification préalable auprès de WebSphere Application Server. En cas d'échec, il revient à l'invite.
    krb5Ccache:properties
    Utilisation de krb5Ccache pour l'authentification préalable auprès de WebSphere Application Server. En cas d'échec, il revient aux propriétés.
    krb5Ccache:stdin
    Utilisation de krb5Ccache pour l'authentification préalable auprès de WebSphere Application Server. En cas d'échec, il revient à stdin.
  5. Si authenticationTarget est KRB5, l'application client Java doit posséder un fichier wsjaas_client.conf. Si vous n'utilisez pas la commande launchClient, vous devez définir l'option java de la manière suivante :
    -Djava.security.auth.login.config=wsjaas_client.config
  6. Si authenticationTarget est KRB5 et si loginSource est l'antémémoire de justificatif Kerberos, procédez comme suit :
    1. Dans le fichier wsjaas_client.conf, mettez à jour l'entrée WSKRB5Login :
      WSKRB5Login{
          com.ibm.ws.security.auth.kerberos.Krb5LoginModuleWrapperClient required credsType=INITIATOR useFirstPass=false forwardable=false renewable=false noAddress=false;
      };
    2. Si l'antémémoire de justificatif Kerberos ne se trouve pas à l'emplacement par défaut, définissez la propriété com.ibm.CORBA.krb5CcacheFile property comme une URL : Exemple :
      com.ibm.CORBA.krb5CcacheFile=FILE:/home/smith/krb5cc_smith
      L'emplacement par défaut du fichier d'antémémoire de justificatif Kerberos dépend du système d'exploitation que vous utilisez. Le cache des données d'identification de l'utilisateur se trouve dans l'ordre suivant :

      Le fichier référencé par la propriété Java KRB5CCNAME
      <user.home>/krb5cc_<user.name>
      <user.home>/krb5cc (si <user.name> ne peut pas être obtenu)

      Remarque : Lorsque le cache des justificatifs kerberos est utilisé pour l'authentification, le ticket de délégation Kerberos client n'est pas renouvelable.
  7. Facultatif : Si une erreur survient, assurez-vous que les horloges de toutes les machines WebSphere Application Server sont synchronisées avec celles des machines KDC. Validez un mot de passe et un nom de principal Kerberos à l'aide de la commande kinit. Il est recommandé d'utiliser la commande kinit fournie avec le kit Java SE Development Kit (JDK) 8.
    Tapez ce qui suit pour obtenir de l'aide sur cette commande :
    kinit -help
    Voici un exemple d'utilisation de la commande kinit. Dans cet exemple, un ticket TGT (ticket-granting ticket) Kerberos peut être obtenu pour duke, et l'antémémoire de justificatif Kerberos est stockée dans l'emplacement par défaut, c:\Documents and Settings\duke\krb5cc_duke:
    kinit duke@JAVA.SUN.COM
    Remarque : Il se peut que l'utilisation de cette commande ne fonctionne pas dans toutes les versions du centre de distribution de clés.
    [z/OS]
    Remarque : Le mot de passe et le nom de principal Kerberos sont dépendants maj/min. Si vous utilisez un centre de distribution de clés sur z/OS, entrez le nom de principal Kerberos tel qu'il s'affiche dans le segment KERB de l'ID utilisateur RACF. Sauf si vos mots de passe à casse mixte sont activés pour RACF, vous devez entrer intégralement le mot de passe en majuscules dans la commande kinit.

Résultats

Vous venez de configurer un client Java pour l'authentification Kerberos.

Vous pouvez terminer la configuration de Kerberos côté serveur en utilisant la console d'administration ou les commandes wsadmin. Pour plus d'informations, voir Configuration de Kerberos comme un mécanisme d'authentification utilisant la console d'administration ou les commandes d'authentification Kerberos respectivement.


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=tsec_kerb_auth_client
Nom du fichier : tsec_kerb_auth_client.html