Authentification de clients de service Web avec un jeton SAML

Web Services Security SAML Token Profile 1.1 définit l'utilisation des assertions Security Assertion Markup Language (SAML) versions 1.1 et 2.0 avec la spécification Web Services Security (WSS): SOAP Message Security version 1.1. Liberty prend en charge l'assertion Web Services Security SAML Token Profile 1.1 for SAML version 2.0 avec méthode de confirmation bearer.

Pourquoi et quand exécuter cette tâche

Liberty prend en charge SAML version 2.0 avec méthode de confirmation bearer (<SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">). Un client de services Web transmet un jeton SAML au fournisseur de services Web comme moyen d'identification du demandeur, et le fournisseur de services Web peut utiliser ces informations de jeton SAML pour authentifier le demandeur.

L'exigence d'un jeton SAML est indiquée comme l'un des jetons de support dans la stratégie WS-Security. Vous pouvez ajouter une exigence SamlToken comme jeton obligatoire dans l'une des assertions de jeton de support, notamment SupportingTokens, SignedSupportingTokens, SignedEncryptedSupportingTokens et EncryptedSupportingTokens.

Procédure

  1. Configurez un client de services Web pour transmettre le jeton SAML.

    Un jeton Saml20Token (com.ibm.websphere.security.saml2.Saml20Token) doit obligatoirement figurer dans le sujet RunAs. Si une assertion de règle SamlToken est configurée, l'exécution de Liberty WS-Security extrait automatiquement le jeton Saml20Token du sujet RunAs et attache une assertion SAML à l'en-tête SOAP <wsse:Security>. La procédure suivante est obligatoire :

    1. Ajoutez wsSecuritySaml-1.1 à featureManager dans le fichier server.xml.
      <featureManager>
              <feature>wsSecuritySaml-1.1</feature>
      </featuremanager>
    2. L'application doit spécifier le jeton SAML comme jeton de support (incluant les assertions de jeton SupportingTokens, SignedSupportingTokens, SignedEncryptedSupportingTokens et EncryptedSupportingTokens) dans la règle du fichier .wsdl.
      <wsp:Policy wsu:Id="CallerHttpPolicy">
      	<sp:SupportingTokens>
      		<wsp:Policy>
      			<sp:SamlToken
      				sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient">
      				<wsp:Policy>
      					<sp:WssSamlV20Token11 />
      				</wsp:Policy>
      			</sp:SamlToken>
      		</wsp:Policy>
      	</sp:SupportingTokens>
      
      </wsp:Policy>
  2. Authentifiez le service Web avec un jeton SAML.

    Lorsque le fournisseur de services Web reçoit le message SOAP avec le jeton SAML, il commence par valider le jeton puis utilise les attributs du jeton SAML pour exécuter le processus d'authentification. Ci-après les étapes impliquées dans la validation du jeton SAML :

    1. Ajoutez wsSecuritySaml-1.1 à featureManager dans le fichier server.xml.
      <featureManager>
              <feature>wsSecuritySaml-1.1</feature>
      </featuremanager>
    2. L'application doit spécifier le jeton SAML comme jeton de support dans la règle du fichier .wsdl.
    3. Les attributs ci-après de la configuration du serveur sont utilisé lors de la validation du jeton.
      <wsSecurityProvider id="default"
                ..
                ..
                <samltoken
                     wantAssertionsSigned="true"
                     clockSkew="5m"
                     timeToLive="30m"
                     requiredSubjectConfirmationMethod="bearer"
                     audienceRestrictions="https://../aud1"
                     audienceRestrictions="aud2" ..          />
                      
                      
      </wsSecurityProvider>
    • wantAssertionsSigned - Indiquez si l'élément <saml:Assertion> du message SOAP reçu par le fournisseur WS-Security signé.
    • clockSkew - Différence (durée) autorisée entre les systèmes ayant généré le jeton SAML et reçu le jeton SAML. La valeur par défaut est de 5 minutes.
    • timeToLive - Durée de vie d'une assertion SAML. Ce paramètre est obligatoire quand la condition NoOnOrAfter est absente de l'assertion SAML. La valeur par défaut est de 30 minutes.
    • requiredSubjectConfirmationMethod - Méthode de confirmation de sujet dans l'assertion SAML. La valeur par défaut est bearer.
    • audienceRestrictions - Audiences autorisées de l'assertion SAML. La valeur par défaut est l'autorisation de toutes les audiences.

    Pour plus de détails sur les étapes de l'authentification, voir Création d'une configuration d'appelant SAML WS-Security.


Icône indiquant le type de rubrique Rubrique Tâche

Nom du fichier : twlp_auth_saml_token.html