Etablissement du contexte de sécurité pour les clients de services Web à l'aide de jetons de sécurité SAML

WebSphere Application Server prend en charge deux options de configuration de liaison de demandeur d'ensembles de règles pour établir le contexte de sécurité client à l'aide de jetons de sécurité SAML dans les messages de demande SOAP de services Web. Deux options de configuration mappent les jetons SAML à une entrée utilisateur dans un référentiel utilisateur local, et affectent les jetons SAML selon une relation de confiance.

Avant de commencer

Cette tâche suppose que vous connaissez bien la technologie SAML WebSphere Application Server.

Pourquoi et quand exécuter cette tâche

Cette tâche décrit le paramétrage de l'option de configuration de liaison de demandeur d'ensembles de règles WebSphere Application Server pour établir le contexte de sécurité client à l'aide de jetons de sécurité SAML dans les messages de demande SOAP de services Web. Vous pouvez mapper les jetons SAML à une entrée utilisateur dans un référentiel d'utilisateur local ou affecter des jetons SAML selon une relation de confiance. La seconde option de configuration ne requiert pas d'accès au référentiel d'utilisateur local. A la place, l'environnement d'exécution WS-Security remplit le contexte de sécurité client complètement selon le contenu des jetons de sécurité SAML. Ce processus est basé sur une relation de confiance avec l'émetteur du jeton SAML. Si un jeton SAML spécifie la méthode de confirmation de sujet sender-vouches. Le processus est basé sur une relation de confiance avec l'expéditeur du message.

Procédure

  1. Configurez une liaison de demandeur d'ensemble de règles et sélectionnez le type de jeton SAML pour représenter une demande de client des services Web.
    1. Cliquez sur Applications d'entreprise WebSphere > nom_application > Ensembles de règles et liaisons du fournisseur de services > nom_liaison > WS-Security > Appelants.
    2. Cliquez sur Nouveau pour créer la configuration de l'appelant.
    3. Définissez un Nom, par exemple caller.
    4. Remplissez la zone Partie locale de l'identité de l'appelant. Par exemple, http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV2.0, qui doit correspondre à la portion locale de l'élément CustomToken dans la règle WS-Security associée.
    5. Cliquez sur Valider et sur Sauvegarder.
  2. Facultatif : Mappez les jetons de sécurité SAML sur une entrée utilisateur dans un référentiel utilisateur local. Le mappage sur une entrée utilisateur représente le comportement par défaut lorsque vous configurez une liaison d'appelant sans spécifier d'option de configuration. Sinon, vous pouvez éventuellement sélectionner cette option de configuration explicitement en procédant comme suit :
    1. Sur la page de configuration de la liaison de l'appelant, ajoutez un gestionnaire de rappels : com.ibm.websphere.wssecurity.callbackhandler.SAMLIdAssertionCallbackHandler.
    2. Ajoutez une propriété personnalisée de gestionnaire de rappels, crossDomainIdAssertion, et définissez sa valeur sur false.
  3. Facultatif : Affectez des jetons de sécurité SAML selon une relation de confiance.
    1. Sur la page de configuration de la liaison de l'appelant, ajoutez un gestionnaire de rappels : com.ibm.websphere.wssecurity.callbackhandler.SAMLIdAssertionCallbackHandler.
    2. Ajoutez une propriété personnalisée de gestionnaire de rappels, crossDomainIdAssertion, et définissez sa valeur sur true.
    Dans WebSphere Application Server Version 7.0 Fix Pack 7 et éditions ultérieures, l'environnement d'exécution WS-Security prend un nom d'émetteur de jeton SAML pour représenter le nom de domaine de sécurité étranger. WS-Security prend l'élément NameID dans le cas de jetons de sécurité SAML 2.0 ou l'élément NameIdentifier dans le cas de jetons de sécurité SAML 1.1 pour représenter le nom de sécurité utilisateur. Sinon, vous pouvez spécifier de manière explicite l'attribut de jeton SAML à utiliser pour représenter le nom de sécurité utilisateur. En outre, vous pouvez également spécifier l'attribut de jeton SAML à utiliser pour représenter l'appartenance à un groupe utilisateur. Consultez les informations sur les assertions SAML sur les domaines de sécurité WebSphere Application Server pour une discussion détaillée sur le modèle de confiance d'assertion de jeton SAML et la configuration de liaison.

    La version 8.x peut propager le contenu de com.ibm.websphere.security.cred.WSCredential dans un jeton SAML. Vous devez définir une propriété personnalisée tokenRequest avec une valeur de propriété issueByWSCredential dans la configuration de liaison WS-Security du client des services Web. Consultez les informations sur la propagation des jetons SAML pour une description détaillée de cette option de liaison. Lorsque la propriété crossDomainIdAssertion est définie sur true dans la version 8.x, WS-Security vérifie si un jeton SAML contient un attribut SAML UniqueSecurityName avec un élément NameFormat avec une valeur de com.ibm.websphere.security.cred.WSCredential. Le cas échéant, WS-Security utilise la valeur d'attribut NameQualifier de l'élément NameID ou NameIdentifier pour représenter le nom de domaine de sécurité utilisateur. WS-Security utilise également la valeur d'attribut UniqueSecurityName et GroupIds pour représenter une appartenance à un groupe et un nom d'utilisateur unique. Ce comportement par défaut est différent entre les versions 7 et 8.x du produit. Vous pouvez ajouter une propriété CallbackHandler, IssuerNameForRealm, et lui affecter la valeur true pour configurer la Version 8.x de sorte à conserver le comportement de la Version 7. Sinon, vous pouvez ajouter une propriété CallbackHandler, NameQualifierForRealm, et lui affecter la valeur true pour configurer la Version 8.x de sorte à toujours utiliser l'attribut NameQualifier pour représenter le nom de domaine de sécurité utilisateur.

  4. Activez et configurez la sécurité globale WebSphere Application Server.

    Vous pouvez utiliser l'assistant de configuration de sécurité pour activer la sécurité administrative. Vous devez également activer la sécurité d'application de sorte que l'exemple d'application puisse utiliser le sujet d'utilisateur authentifié dans le contexte de sécurité afin de créer un jeton SAML. Cette étape implique de configurer le troisième point de vérification de relation d'accréditation côté fournisseur de services Web. Cette étape est nécessaire pour utiliser le serveur d'applications afin de simuler le fournisseur de services Web du domaine de sécurité Web cible. Le sous-système d'authentification WebSphere Application Server V8.0 prend en charge l'assertion d'une identité d'utilisateur avec un nom de domaine étranger, et vérifie le nom de domaine étranger par rapport à la liste de domaines d'authentification sécurisés entrants. Une fois cette étape de configuration terminée, WebSphere Application Server peut créer un sujet d'appelant client avec une identité d'utilisateur dans un domaine de sécurité étranger.

  5. Configurez les domaines de sécurité sécurisés.
    1. Dans le panneau Sécurité globale, cliquez sur le bouton Configurer à côté de Définitions de domaine disponibles.
    2. Cliquez sur le lien Domaines d'authentification sécurisés - Entrants.
    3. Choisissez l'option Sécurité des domaines comme indiqué ci-dessous.
    4. Cliquez sur Ajouter un domaine externe.
    5. Ajoutez le nom de l'émetteur d'assertion SAML à Nom de domaine externe.

      Le nom de l'émetteur d'assertion SAML fournit des informations sur l'émetteur de l'assertion SAML, qui se trouve dans l'élément Issuer de l'assertion SAML 2.0 ou correspond à l'attribut Issuer de l'assertion SAML.

Résultats

Vous avez configuré un service Web pour établir un contexte de sécurité client à l'aide du jeton de sécurité SAML dans les messages de demande SOAP des services Web.

Exemple

L'exemple suivant illustre les éléments NameIdentifier et Attribute à partir d'une assertion SAML 1.1 auto-générée basée sur WSCredential:
<saml:AttributeStatement>
    <saml:Subject>
        <saml:NameIdentifier NameQualifier="ldap.example.com:9080">uid=alice,dc=example,dc=com</saml:NameIdentifier>
        <saml:SubjectConfirmation>
            <saml:ConfirmationMethod>urn:oasis:names:tc:SAML:1.0:cm:bearer</saml:ConfirmationMethod>
        </saml:SubjectConfirmation>
    </saml:Subject>
    <saml:Attribute AttributeName="UniqueSecurityName" AttributeNamespace="com.ibm.websphere.security.cred.WSCredential">
        <saml:AttributeValue>uid=alice,dc=example,dc=com</saml:AttributeValue>
    </saml:Attribute>
    <saml:Attribute AttributeName="GroupIds" AttributeNamespace="com.ibm.websphere.security.cred.WSCredential">
        <saml:AttributeValue>cn=development,dc=example,dc=com</saml:AttributeValue>
        <saml:AttributeValue>cn=deployment,dc=example,dc=com</saml:AttributeValue>
        <saml:AttributeValue>cn=test,dc=example,dc=com</saml:AttributeValue>
    </saml:Attribute>
</saml:AttributeStatement>
L'exemple suivant illustre les éléments NameID et Attribute à partir d'une assertion SAML 2.0 auto-générée basée sur WSCredential:
<saml2:AttributeStatement>
    <saml2:Attribute Name="UniqueSecurityName" NameFormat="com.ibm.websphere.security.cred.WSCredential" />
    <saml2:AttributeValue>uid=alice,dc=example,dc=com</saml2:AttributeValue>
    <saml2:Attribute>
        <saml2:Attribute AttributeName="GroupIds" NameFormat="com.ibm.websphere.security.cred.WSCredential" />
        <saml2:AttributeValue>cn=development,dc=example,dc=com</saml2:AttributeValue>
        <saml2:AttributeValue>cn=deployment,dc=example,dc=com</saml2:AttributeValue>
        <saml2:AttributeValue>cn=test,dc=example,dc=com</saml2:AttributeValue>
    </saml2:Attribute>
<saml2:AttributeStatement>

<saml2:NameID NameQualifier="ldap.example.com:9060">alice</saml2:NameID>

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_representclientbysaml
Nom du fichier : twbs_representclientbysaml.html