Signature des jetons SAML au niveau des messages

Sécurisez les jetons SAML au niveau des messages en mettant en oeuvre la signature des assertions.

Avant de commencer

Avant de configurer la signature des jetons SAML, vous devez configurer les ensembles de règles et le liaisons SAML pour pouvoir créer des jetons SAML capables de prendre en charge l'authentification, la protection de l'intégrité étant assurée au niveau des messages. Pour plus d'informations, voir la rubrique relative à la sécurisation des messages à l'aide de SAML. Par ailleurs, les liaisons SAML associées doivent être spécifiques à une application, et non générales. L'algorithme de transformation utilisé pour la signature des assertions SAML diffère de celui utilisé pour la signature des autres parties du message, contrairement aux liaisons générales dans lesquelles un algorithme unique est utilisé.

Pourquoi et quand exécuter cette tâche

Cette tâche concerne spécifiquement la procédure de signature numérique d'un jeton SAML. Elle ne traite aucune des exigences de la norme OASIS de profil de jeton SAML pour les jetons SAML sender-vouches ou SAML bearer concernant les parties de message à signer. Dans le cadre de la signature des assertions SAML, le bloc d'en-tête <wsse:Security> d'un message SOAP doit inclure un élément <wsse:SecurityTokenReference>. L'élément SecurityTokenReference (STR) est référencé par la signature du message à l'aide d'un élément <ds:Reference>. La référence du jeton de sécurité doit comporter un élément <wsse:KeyIdentifier> avec la valeur http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLID ou http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.0#SAMLAssertionID comme valeur de ValueType, indiquant l'identificateur de l'assertion référencée. L'élément <ds:Reference> doit inclure l'URI de l'algorithme STR-transform, http://docs.oasis-open.org/wss/2004/01/oasis-200401-wsssoap-message-security-1.0#STR-Transform. L'utilisation de STR-transform garantit la signature de l'assertion SAML proprement dite, et non celle de l'élément <wsse:SecurityTokenReference>.

Suivez les étapes de configuration ci-dessous pour mettre en oeuvre la signature des jetons SAML au niveau des messages.

Eviter les incidents Eviter les incidents: L'utilisation d'un gestionnaire d'appel d'attributs SAML est le seul moyen d'ajouter des attributs personnalisés à un jeton SAML lors de la création initiale. Vous pouvez ajouter des attributs à votre objet SAMLToken à l'aide de la méthode SAMLToken.addAttribute, cette dernière supprimera la signature numérique sur le jeton si elle existe. En outre, elle ne peut pas être utilisée avec des jetons SAML chiffrés ou des attributs chiffrés.gotcha

Procédure

  1. Configurez les parties de message.
    1. Dans la console administrative, éditez l'ensemble de règles SAML, puis cliquez sur WS-Security > Règle principal > Protection des parties de message de demande.
    2. Sous Protection de l'intégrité, cliquez sur Ajouter.
    3. Saisissez le nom d'une portion dans la zone Nom de la partie à signer, par exemple portion_saml.
    4. Dans Eléments figurant dans la partie, cliquez sur Ajouter.
    5. Sélectionnez Expression XPath.
    6. Ajoutez deux expressions XPath.
      /*[namespace-uri()='http://schemas.xmlsoap.org/soap/envelope/' 
      and local-name()='Envelope']/*[namespace-uri()='http://schemas.xmlsoap.org/soap/envelope/' 
      and local-name()='Header']/*[namespace-uri()='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd' 
      and local-name()='Security']/*[namespace-uri()='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd' 
      and local-name()='SecurityTokenReference']
      /*[namespace-uri()='http://www.w3.org/2003/05/soap-envelope' 
      and local-name()='Envelope']/*[namespace-uri()='http://www.w3.org/2003/05/soap-envelope' 
      and local-name()='Header']/*[namespace-uri()='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd' 
      and local-name()='Security']/*[namespace-uri()='http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd' 
      and local-name()='SecurityTokenReference']
    7. Cliquez sur Valider et sur Sauvegarder.
    8. Si une application n'a jamais démarré à l'aide de cette règle, aucune autre action n'est requise. Dans le cas contraire, redémarrez le serveur d'applications ou suivez les instructions figurant dans l'article Régénération des configurations d'ensemble de règles à l'aide de l'outil de scriptage wsadmin, de sorte que le serveur d'applications recharge l'ensemble de règles.
  2. Modifiez les liaisons de client pour signer le jeton SAML.
    1. Dans le panneau Liaisons et ensembles de règles de client de service, cliquez sur WS-Security > Authentification et protection.
    2. Modifiez les liaisons de partie de message signée sortantes actuellement configurées pour inclure la nouvelle partie SAML que vous avez créée.

      Dans Protection par chiffrement et signature du message de demande, sélectionnez la référence de partie dont l'état est paramétré sur Configuré. Cette référence de partie sera probablement request:app_signparts.

      1. Dans la liste Disponible située sous Référence de partie de message, sélectionnez le nom de la partie à signer, telle qu'elle est créée à l'étape 1, par exemple, saml_part.
      2. Cliquez sur Ajouter, puis sur Appliquer.
      3. Dans la liste Affecté située sous Référence de partie de message, mettez en évidence le nom de la portion ajoutée, par exemple, portion_saml.
      4. Cliquez sur Editer.
      5. Pour le paramètre Algorithmes de transformation, cliquez sur Nouveau.
      6. Sélectionnez http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#STR-Transform.
      7. Cliquez sur OK, puis sur OK et une nouvelle fois sur OK.
    3. Mettez à jour le générateur de jeton SAML avec la propriété personnalisée afin d'indiquer une signature numérique avec une référence de jeton de sécurité.

      Sous Jetons d'authentification, sélectionnez et éditez le jeton SAML à signer.

      1. Sous Propriété personnalisée, cliquez sur Nouveau.
      2. Entrez le nom de propriété personnalisée com.ibm.ws.wssecurity.createSTR.
      3. Entrez true comme valeur de la propriété personnalisée.
      4. Cliquez sur Appliquer, puis sur Sauvegarder.
    4. Relancez l'application.
  3. Modifiez les liaisons de fournisseur pour accepter un jeton SAML signé.
    1. Dans le panneau Liaisons et ensembles de règles de fournisseur de service, cliquez sur WS-Security > Authentification et protection.
    2. Modifiez les liaisons de partie de message signée entrantes actuellement configurées pour inclure la nouvelle partie SAML que vous avez créée.

      Dans Protection par chiffrement et signature du message de demande, sélectionnez la référence de partie dont l'état est paramétré sur Configuré. Cette référence de partie sera probablement request:app_signparts.

      1. Dans la liste Disponible située sous Référence de partie de message, sélectionnez le nom de la partie à signer, telle qu'elle est créée à l'étape 1, par exemple, saml_part.
      2. Cliquez sur Ajouter, puis sur Appliquer.
      3. Dans la liste Affecté située sous Référence de partie de message, mettez en évidence le nom de la portion ajoutée, par exemple, portion_saml.
      4. Cliquez sur Editer.
      5. Pour le paramètre Algorithmes de transformation, cliquez sur Nouveau.
      6. Sélectionnez http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#STR-Transform.
      7. Cliquez sur OK, puis sur OK et une nouvelle fois sur OK.
      8. Cliquez sur Sauvegarder.
    3. Relancez l'application.

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