Personnalisation d'une connexion d'application en vue d'une vérification d'identité à l'aide de JAAS

Si vous utilisez la structure de connexion JAAS (Java™ Authentication and Authorization Service), vous pouvez créer une configuration de connexion JAAS pouvant être utilisée pour la connexion à une vérification d'identité.

Avant de commencer

Vous pouvez autoriser un fournisseur d'applications ou de systèmes à effectuer une vérification d'identité avec validation des relations de confiance. Pour ce faire, utilisez la structure de connexion JAAS, où la validation des relations de confiance est effectuée dans un module de connexion et la création des justificatifs, dans un autre. Les deux modules de connexion personnalisés permettent de créer une configuration de connexion JAAS pouvant être utilisée pour la connexion à une vérification d'identité.
Deux modules de connexion personnalisés sont requis :
Module de connexion des relations de confiance implémenté par l'utilisateur (validation des relations de confiance)
Ce module effectue les vérifications de relation de confiance requises par l'utilisateur. Lorsque la relation de confiance est vérifiée, le statut de cette vérification et l'identité de connexion doivent être placés dans une mappe à l'état partagé du module de connexion pour permettre au module de connexion de la création de justificatifs d'utiliser ces informations. Cette mappe doit être stockée dans la propriété :

com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.state
      (qui consiste en)

com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.trusted
      (a la valeur true si elle sécurisée et false dans le cas contraire)

com.ibm.wsspi.security.common.auth.module.IdenityAssertionLoginModule.principal
       (qui contient le principal de l'identité)

com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.certificates
       (qui contient le certificat d'identité)

Module de connexion à la vérification d'identité (création de justificatifs)
Le module com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule crée les justificatifs. Pour cela, les informations d'état de relation de confiance doivent se trouver à l'état partagé du contexte de connexion. Ce module de connexion est protégé par les droits d'exécution de la sécurité Java 2 pour :
  • com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.initialize
  • com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.login
Le module de connexion à la vérification d'identité recherche les informations sur les relations de confiance dans la propriété d'état partagé, com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.state. Celle-ci contient l'état de confiance et l'identité pour la connexion et doit inclure :

com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.trusted
       (la valeur true indique une relation de confiance, et false que l'identité n'est pas digne de confiance)

com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.principal
       (contient le principal de l'identité de connexion, si un principal est utilisé)

com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.certificates
       (contient un tableau de chaîne de certificat, lui-même contenant l'identité de connexion, si un certificat est utilisé)

Une erreur WSLoginFailedException est renvoyée si les informations sur l'état, la relation de confiance ou l'identité sont manquantes. Le module de connexion connecte ensuite l'identité et le sujet contient la nouvelle identité.

Procédure

  1. Déléguez une validation de relation de confiance à un point de connexion implémenté par l'utilisateur. La validation de relation de confiance doit être réalisée dans un module de connexion personnalisé. Ce module doit effectuer toutes les validations de relation de confiance requises, puis définir le transfert des informations de relation de confiance et d'identité à l'état partagé vers le module de connexion à la vérification d'identité. Une mappe est requise dans la clé d'état partagé, com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.state. Si l'état est manquant, une exception SLoginFailedException est émise par le module IdentityAssertionLoginModule. Cette mappe doit inclure :
    • Une clé sécurisée nommée com.ibm.wsspi.secuirty.common.auth.module.IdentityAssertionLoginModule.trust. Si cette clé a la valeur true, la relation de confiance est établie. Si la clé a la valeur false, aucune relation de confiance n'est établie. Si la clé de relation de confiance n'a pas la valeur true, le module IdentityAssertionLoginModule émet une exception WSLoginFailedException.
    • • Une clé d'identité est définie : un java.security.Principal peut être défini dans la clé com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.principal.
    • Ou un java.security.cert.X509Certificate[] peut être défini dans la clé com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule.certficates
    Si un principal et un certificat sont fournis, le principal est utilisé et un avertissement est généré.
  2. Créez une configuration JAAS pour les connexions d'application La configuration JAAS contient le module de connexion personnalisé à la validation des relations de confiance implémenté par l'utilisateur et le module IdentityAssertionLoginModule. Pour ensuite définir une configuration de connexion d'application à partir de la console d'administration, procédez comme suit :
    1. Développez Sécurité > Sécurité globale.
    2. Développez Java authentication and authorization services > Connexions des applications
    3. Sélectionnez Nouveau.
    4. Attribuez un alias à la configuration JAAS.
    5. Cliquez sur Appliquez.
    6. Sélectionnez Modules de connexion JAAS
    7. Sélectionnez Nouveau.
    8. Entrez le Nom de la classe du module du module de connexion personnalisé de la validation des relations de confiance implémenté par l'utilisateur.
    9. Cliquez sur Appliquez.
    10. Entrez le Nom de classe de module du module com.ibm.wsspi.security.common.auth.module.IdentityAssertionLoginModule
    11. Assurez-vous que les classes de Nom de la classe du module sont dans l'ordre approprié. Le module de connexion de la validation des relations de confiance implémenté par l'utilisateur doit être la première classe de la liste et IdentityAssertionLoginModule, la seconde.
    12. Cliquez sur Sauvegarder.
    Cette configuration JAAS est ensuite utilisée par l'application pour vérifier les identités.
  3. Procédez à la vérification d'identité programmable. Un programme peut maintenant utiliser la configuration de connexion JAAS pour vérifier les identités par programmation. Cette application peut créer un contexte de connexion pour la configuration JAAS créée à l'étape 2, puis se connecter à ce contexte de connexion avec l'identité revendiquée. Si la connexion aboutit, l'identité peut être définie dans le processus d'exécution en cours. Voici un exemple de fonctionnement de ce code :
    MyCallbackHandler handler = new MyCallbackHandler(new MyPrincipal(“Joe”));
    LoginContext lc = new LoginContext(“MyAppLoginConfig”, handler);
    lc.login();  //assume successful
    Subject s = lc.getSubject();
    WSSubject.setRunAsSubject(s);
    // From here on , the runas identity is “Joe”

Résultats

La structure de connexion JAAS et deux modules de connexion implémentés par l'utilisateur permettent de créer une configuration de connexion JAAS pouvant être utilisée pour la connexion à une vérification d'identité.

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_cust_identity_assert
Nom du fichier : tsec_cust_identity_assert.html