Connexion unique pour les demandes HTTP à l'aide de l'authentification Web SPNEGO

Vous pouvez négocier et authentifier en toute sécurité les requêtes HTTP portant sur des ressources sécurisées dans WebSphere Application Server en utilisant SPNEGO (Simple and Protected GSS-API Negotiation Mechanism) comme service d'authentification Web de WebSphere Application Server.

Remarque : La version 6.1 de WebSphere Application Server s'est enrichie d'un TAI (trust association interceptor, ou intercepteur de relations de confiance) utilisant le mécanisme SPNEGO (Simple and Protected GSS-API Negotiation Mechanism) pour négocier et authentifier en toute sécurité les requêtes HTTP portant sur des ressources sécurisées. Cette fonction a toutefois été dépréciée dans la version 7.0 de WebSphere Application Server. Elle a été remplacée par l'authentification Web SPNEGO, qui offre les améliorations suivantes :
  • Vous pouvez configurer et activer l'authentification Web SPNEGO et les filtres sur WebSphere Application Server à l'aide de la console d'administration.
  • SPNEGO peut être rechargé dynamiquement, de sorte qu'il n'est pas nécessaire d'arrêter et de redémarrer WebSphere Application Server.
  • La rétromigration d'une méthode de connexion d'application est fournie si l'authentification Web SPNEGO échoue.
  • SPNEGO peut être personnalisé au niveau du domaine de sécurité WebSphere. Pour plus d'informations, voir Domaines de sécurité multiples.

Vous pouvez activer soit un intercepteur TAI SPNEGO soit l'authentification Web SPNEGO, mais pas les deux.

Les sections suivantes décrivent l'authentification Web SPNEGO plus en détail :

Qu'est-ce que SPNEGO ?

SPNEGO est une spécification standard définie dans le document The Simple and Protected GSS-API Negotiation Mechanism (IETF RFC 2478).

Lorsque la sécurité globale et d'application de WebSphere Application Server est activée, ainsi que l'authentification Web SPNEGO, SPNEGO est initialisé lors du traitement de la première requête HTTP entrante. Le composant authentificateur Web interagit ensuite avec SPNEGO, défini et activé dans le répertoire de configuration de la sécurité. Lorsque les critères de filtre sont remplis, SPNEGO est chargé d'authentifier l'accès à la ressource sécurisée identifiée dans la requête HTTP.

Outre les services d'exécution de sécurité de WebSphere Application Server, certains composants externes sont requis pour activer le fonctionnement de SPNEGO. Ces composants externes comprennent :
  • [Windows]Serveurs Microsoft Windows avec le domaine Active Directory et le centre KDC (Key Distribution Center) Kerberos associé. Pour plus d'informations sur les serveurs Microsoft Windows compatibles, voir la rubrique Configuration système requise pour WebSphere Application Server Version 9.0 sur Windows.
  • Une application client, telle que Microsoft .NET ou un service Web et un client J2EE prenant en charge le mécanisme d'authentification Web SPNEGO, tel que défini dans le document IETF RFC 2478. Microsoft Internet Explorer version 5.5 ou suivante et Mozilla Firefox version 1.0 sont des exemples de navigateurs. Tout navigateur doit être configuré pour utiliser le mécanisme d'authentification Web SPNEGO. Pour plus d'informations sur le processus de configuration, voir Configuration du navigateur client pour l'utilisation de SPNEGO.

L'authentification des demandes HTTP est déclenchée par le demandeur (côté client) qui génère un jeton SPNEGO. WebSphere Application Server reçoit ce jeton. L'authentificateur Web SPNEGO décode et extrait l'identité du demandeur à partir du jeton SPNEGO. L'identité est utilisée pour établir un contexte sécurisé entre le demandeur et le serveur d'applications.

L'authentification Web SPNEGO est une solution côté serveur dans WebSphere Application Server. Les applications coté client sont responsables de la génération du jeton SPNEGO à utiliser par l'authentification Web SPNEGO. L'identité du demandeur dans le registre de sécurité de WebSphere Application Server doit être identique à l'identité extraite par l'authentificateur Web SPNEGO. Une correspondance identique se produit lorsque le serveur Microsoft Windows Active Directory est le serveur LDAP (Lightweight Directory Access Protocol) utilisé dans WebSphere Application Server. Un module de connexion personnalisé est disponible en tant que plug-in pour prendre en charge le mappage personnalisé de l'identité à partir d'Active Directory vers le registre de sécurité de WebSphere Application Server.

[AIX Solaris HP-UX Linux Windows][IBM i]Pour plus d'informations sur l'utilisation de ce module de connexion personnalisé, voir [AIX Solaris HP-UX Linux Windows][IBM i]Mappage d'un nom de principal Kerberos client à l'ID du registre d'utilisateurs WebSphere.

WebSphere Application Server valide l'identité selon son registre de sécurité. Si la validation est réussie, le ticket Kerberos client et les droits d'accès de délégation GSS client sont extraits et placés dans le sujet client, qui produit ensuite un jeton de sécurité LTPA (Lightweight Third Party Authentication). Il place et retourne ensuite un cookie au demandeur dans la réponse HTTP. Les demandes HTTP ultérieures émises par le même demandeur concernant l'accès à des ressources sécurisées supplémentaires dans WebSphere Application Server utilisent le jeton de sécurité LTPA précédemment créé pour éviter des demandes de connexion répétées.

L'administrateur Web a accès aux composants de sécurité SPNEGO suivants et aux données de configuration associées, comme indiqué dans la figure suivante :

Figure 1. Authentification Web SPNEGO et éléments de configuration de sécuritéL'administrateur Web a accès aux composants de sécurité SPNEGO et aux données de configuration associées suivants : module d'authentification Web, SPNEGO Trust Association Interceptor, fournisseurs de sécurité JGSS et SPNEGO, configuration et fichier de clés de Kerberos, propriétés de configuration SPNEGO TAI et propriétés système de la JVM.

Les avantages de l'authentification Web SPNEGO

L'utilisation de SPNEGO comme service d'authentification Web pour WebSphere Application Server présente les avantages suivants :

  • [Windows]Etablissement d'un environnement de connexion unique intégré aux serveurs Microsoft Windows utilisant le domaine Active Directory.
  • Réduction des coûts liés à l'administration d'un grand nombre d'ID et de mots de passe.
  • Etablissement d'une transmission sécurisée et mutuellement authentifiée des justificatifs de sécurité à partir du navigateur Web ou des clients Microsoft .NET.
  • Interopérabilité avec les services Web et les applications Microsoft .NET ou les applications de service Web qui utilisent l'authentification SPNEGO au niveau du transport.
  • Avec le support d'authentification Kerberos, l'authentification Web SPNEGO peut fournir une solution de bout en bout à Kerberos et préserver le droit d'accès Kerberos du client.

Authentification Web SPNEGO dans un domaine Kerberos unique

L'authentification Web SPNEGO est prise en charge dans un domaine Kerberos unique. Le processus d'établissement de liaison demande-réponse est illustré dans la figure suivante :

Figure 2. Authentification Web SPNEGO dans un domaine Kerberos uniqueL'authentification Web SPNEGO est prise en charge dans un domaine Kerberos unique. Le processus d'échange de protocoles par question-réponse est illustré.

Dans la figure précédente, voici les événements qui se produisent :

  1. Le client envoie une requête HTTP/Post/Get/Web-Service à WebSphere Application Server.
  2. WebSphere Application Server retourne HTTP 401 Authentifier/Négocier.
  3. Le client obtient un ticket TGT (Ticket Granting Ticket).
  4. Le client demande un ticket de service (TGS_REQ).
  5. Le client obtient un ticket de service (TGS_REP).
  6. Le client envoie HTTP/Post/Get/Web-Service et un jeton d'autorisation SPNEGO WebSphere Application Server.
  7. WebSphere Application Server valide le jeton SPNEGO. Si la validation réussit, l'ID utilisateur et les droits d'accès de délégation GSS client sont extraits du jeton SPNEGO. Créez un jeton KRBAuthnToken avec des droits d'accès de client Kerberos.
  8. WebSphere Application Server valide l'ID utilisateur avec le registre d'utilisateurs WebSphere et crée un jeton LTPA.
  9. WebSphere Application Server retourne HTTP 200, le contenu et le jeton LTPA au client.
Remarque : Les autres clients (par exemple, services Web, .NET et J2EE) qui prennent en charge SPNEGO n'ont pas à suivre le processus d'établissement de liaison demande-réponse illustré ci-dessus. Ces clients peuvent obtenir un ticket TGT (ticket-granting ticket) et un ticket de service Kerberos pour le serveur cible, créer un jeton SPNEGO, l'insérer dans l'en-tête HTTP, puis suivre le processus normal de création d'une requête HTTP.

Authentification Web SPNEGO dans un domaine Kerberos de confiance

L'authentification Web SPNEGO est également prise en charge dans un domaine Kerberos de confiance. Le processus d'établissement de liaison demande-réponse est illustré dans la figure suivante :

Figure 3. Authentification Web SPNEGO dans un domaine Kerberos de confianceL'authentification Web SPNEGO est aussi prise en charge dans un domaine Kerberos de confiance. Le processus d'échange question-réponse est illustré.

Dans la figure précédente, voici les événements qui se produisent :

  1. Le client envoie une requête HTTP/Post/Get/Web-Service à WebSphere Application Server.
  2. WebSphere Application Server retourne HTTP 401 Authentifier/Négocier.
  3. Le client obtient un ticket TGT (Ticket Granting Ticket).
  4. Le client demande un ticket interdomaine (TGS_REQ) pour REALM2 à partir du centre KDC REALM1.
  5. Le client utilise le ticket interdomaine à partir de l'étape 4 pour demander un ticket service à partir du centre KDC REALM2.
  6. Le client envoie HTTP/Post/Get/Web-Service et un jeton d'autorisation SPNEGO WebSphere Application Server.
  7. WebSphere Application Server valide le jeton SPNEGO. Si la validation réussit, l'ID utilisateur et les droits d'accès de délégation GSS client sont extraits du jeton SPNEGO. Créez un jeton KRBAuthnToken avec des droits d'accès de client Kerberos.
  8. WebSphere Application Server valide l'ID utilisateur avec le registre d'utilisateurs WebSphere et crée un jeton LTPA.
  9. WebSphere Application Server retourne HTTP 200, le contenu et le jeton LTPA au client.

Dans l'environnement de domaines Kerberos sécurisé, prenez en considération les éléments suivants :

  • L'installation du domaine sécurisé Kerberos doit être effectuée sur chacun des centres KDC Kerberos. Consultez votre administrateur Kerberos et le guide de l'utilisateur pour plus d'informations sur l'installation de domaines sécurisés Kerberos.
  • Le nom principal du client Kerberos provenant du jeton SPNEGO risque de ne pas se trouver dans le registre d'utilisateurs WebSphere ; il peut être requis pour le mappage principal Kerberos du registre d'utilisateurs WebSphere.

    [AIX Solaris HP-UX Linux Windows][IBM i]Pour plus d'informations, voir [AIX Solaris HP-UX Linux Windows][IBM i]Mappage d'un nom de principal Kerberos client à l'ID du registre d'utilisateurs WebSphere.

Informations sur la prise en charge de l'authentification Web SPNEGO avec un client Java™ utilisant le protocole HTTP

Les scénarios suivants sont pris en charge :
  • Sécurité de domaine dans la même forêt
  • Sécurité de domaine externe directement entre des domaines au sein de forêts différentes.
  • Sécurité de domaine Kerberos
Les scénarios suivants ne sont pas pris en charge :
  • Sécurité inter forêts
  • Sécurité externe de forêt

Informations sur la prise en charge de l'authentification Web SPNEGO avec un client de navigation

Les scénarios suivants sont pris en charge :
  • Sécurités inter-forêts
  • Sécurité de domaine dans la même forêt
  • Sécurité de domaine Kerberos
Les scénarios suivants ne sont pas pris en charge :
  • Sécurités externes de forêt
  • Sécurités externes de domaine

Définition de SPNEGO comme mécanisme d'authentification pour WebSphere Application Server

Pour pouvoir configurer l'authentification Web SPNEGO dans la console d'administration ou en utilisant les commandes wsadmin, vous devez exécuter les étapes énumérées dans Création d'une connexion unique pour les requêtes HTTP à l'aide de l'authentification Web SPNEGO pour configurer l'authentification Web SPNEGO pour WebSphere Application Server.
Remarque : L'authentification Web SPNEGO sur le serveur doit être effectuée par l'administrateur système. Le fichier de clés Kerberos doit être protégé.

Icône indiquant le type de rubrique Rubrique de concept



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