Modèles d'autorisation applicables à la sécurité des services Web

Les applications de fournisseur implémentées en tant que servlets ou EJB (Enterprise JavaBeans) peuvent utiliser des services Web et être protégés par la sécurité des services Web. Le processus d'autorisation par rôle Java Platform, Enterprise Edition (Java EE) permet de contrôler l'accès aux applications de fournisseur de service Web implémentées en tant servlets ou EJB. Bien que les rôles de sécurité pour les implémentations de servlet et d'EJB soient configurés de la même manière, l'accès aux services diffère selon l'implémentation.

Pour un fournisseur implémenté en tant que servlet, le conteneur Web effectue l'autorisation par rôle via l'authentification de base HTTP.
  1. Un jeton de sécurité est transmis dans l'en-tête HTTP de la demande SOAP.
  2. Le conteneur Web authentifie le jeton de sécurité, puis effectue l'autorisation par rôle de l'utilisateur.
  3. Une fois que l'autorisation de l'utilisateur aboutit, le conteneur Web appelle le moteur de services Web à l'aide du message entrant.

La figure ci-dessous illustre l'emplacement de chaque étape du processus d'autorisation par rôle pour les servlets.

Figure 1. Autorisation de servlet dans la sécurité de service Web. Cette figure présente le processus d'autorisation par rôle pour les implémentations de servlet.
Autorisation de servlet dans la sécurité de service Web
Pour un fournisseur implémenté en tant qu'EJB, le conteneur d'EJB effectue l'autorisation par rôle.
  1. Un jeton de sécurité pour l'identité de l'utilisateur est transmis dans l'en-tête de sécurité de la demande SOAP.
  2. La sécurité des services Web authentifie le jeton.
  3. A l'aide d'une configuration d'appelant, la sécurité des services Web définit l'identité du jeton authentifié sur l'unité d'exécution en cours.
  4. Lorsque le noeud final est appelé par le moteur de services Web, le conteneur d'EJB exécute le processus d'autorisation par rôle sur l'identité dans l'unité d'exécution en cours.

La figure ci-dessous illustre l'emplacement de chaque étape du processus d'autorisation par rôle pour les EJB.

Figure 2. Autorisation d'EJB dans la sécurité de service Web. Cette figure présente le processus d'autorisation par rôle pour les implémentations d'EJB.
Autorisation d'EJB dans la sécurité de service Web

Lorsqu'un fournisseur de service Web est implémenté en tant que servlet, un jeton transmis par la sécurité des services Web dans l'en-tête de sécurité de la demande SOAP ne peut pas être utilisé pour l'autorisation par rôle à des fins d'accès au service.

Lorsqu'un fournisseur de service Web est implémenté en tant qu'EJB, un jeton transmis par la sécurité des services Web dans l'en-tête de sécurité de la demande SOAP ne peut être utilisé pour l'autorisation par rôle par le conteneur d'EJB à des fins d'accès au service que s'il existe une configuration d'appelant pour ce jeton dans les contraintes de sécurité de services Web actives.

Les fournisseurs de service Web implémentés en tant qu'EJB peuvent également utiliser le conteneur Web pour effectuer l'autorisation par rôle. Pour cela, le servlet routeur présenté dans la figure Autorisation d'EJB dans la sécurité de service Web est protégé à l'aide de l'authentification de base HTTP. Une fois cette opération terminée, le processus se poursuit comme illustré dans la figure Autorisation de servlet dans la sécurité de service Web.

Lorsqu'il existe une configuration d'appelant dans les contraintes de sécurité de services Web actives pour un jeton entrant, ce dernier sera défini comme identité runAs dans le contexte de sécurité sur l'unité d'exécution en cours. L'application de fournisseur protégée peut elle-même prendre des décisions d'autorisation en fonction de cette identité. Cela s'applique à la fois aux servlets et aux EJB.

Conseil : Bien que les consommateurs de jeton WS-Security ne puissent pas prendre des décisions d'autorisation par rôle pour un servlet, vous pouvez créer un module de connexion personnalisé qui valide l'utilisateur entrant par rapport à des groupes spécifiques présents dans le registre d'utilisateurs. Pour obtenir un exemple illustrant cette procédure pour un jeton UsernameToken, voir la rubrique "Remplacement de la méthode d'authentification du consommateur de jeton UsernameToken à l'aide d'un module de connexion JAAS empilé".

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