Activation de l’authentification SAML pour CA SDM

Le langage SAML (Security Assertion Markup Language) est une norme permettant de connecter les utilisateurs aux applications en fonction de leur session dans un autre contexte. L'authentification unique SAML fonctionne en transférant l’identité des utilisateurs d’un emplacement (fournisseur d’identités) vers un autre (fournisseur de services). Elle est effectuée via un échange de documents XML signés numériquement.
casm173
Le langage SAML (Security Assertion Markup Language) est une norme permettant de connecter les utilisateurs aux applications en fonction de leur session dans un autre contexte. L'authentification unique SAML fonctionne en transférant l’identité des utilisateurs d’un emplacement (fournisseur d’identités) vers un autre (fournisseur de services). Elle est effectuée via un échange de documents XML signés numériquement.
Cet article décrit la procédure à suivre pour activer l’authentification SAML pour CA Service Desk Manager sur les serveurs suivants :
Configuration requise
  1. Si vous souhaitez utiliser ADFS en tant que fournisseur d’identités, vous devez installer ADFS sur Windows Server 2012 R2 et versions ultérieures. Une fois qu'ADFS et CA Service Desk Manager sont installés, vous devez configurer ADFS avec les informations suivantes relatives à CA SDM :
    1. Lors de la configuration du paramètre Ajouter une approbation de partie de confiance sur ADFS, spécifiez ce qui suit dans la fenêtre
      Configurer l'URL
      :
      • Sélectionnez la case à cocher
        Activer la prise en charge du protocole WS-Federation passif
        .
      • Entrez la valeur suivante dans le champ
        URL du protocole WS-Federation passif de la partie de confiance
        :
        https://<nom_hôte_SDM>:<port_https>/CAisd/pdmweb.exe
      • Sélectionnez la case à cocher
        Activer la prise en charge du protocole WebSSO SAML 2.0
        .
      • Entrez la valeur suivante dans champ
        URL du service SSO SAML 2.0 de la partie de confiance
        :
        https://<hôte_sdm>:<port_https>/CAisd/pdmweb.exe
    2. Lorsque vous ajoutez des règles de revendication, spécifiez la valeur suivante dans l'étape
      Configurer la règle de revendication
      :
      • Nom de la règle de revendication
        Spécifiez un nom pour la règle de revendication. Par exemple, Règle de revendication SDM.
      • Magasin d’attributs
        Sélectionnez la source de données dans la liste déroulante. Par exemple, Active Directory.
      • Attribut LDAP
        Dans la liste déroulante, sélectionnez
        Nom de compte SAM
        .
      • Type de revendication sortante
        Dans la liste déroulante, sélectionnez
        Nom
        .
  2. Si vous souhaitez utiliser CA Single Sign-On (anciennement CA Siteminder) comme fournisseur d’identités, procédez comme suit :
    1. Lancez CA Single Sign-On en tant qu’administrateur.
    2. Accédez au partenariat de fédération et cliquez sur Partnerships (Partenariats).
      La liste des partenariats de fédération s’affiche.
    3. Cliquez sur le nom du partenariat de fédération qui vous souhaitez utiliser.
      La page Partnerships properties (Propriétés des partenariats) s’affiche.
    4. Développez la section IP Restrictions (restrictions des adresses IP) et vérifiez les propriétés des attributs d’assertion.
    5. La valeur du champ Namespace (Espace de noms) doit être l’URI de la réclamation correspondante. Si la valeur n'est pas spécifiée, l’authentification SAML ne fonctionne pas.
  3. Vérifiez que le certificat à utiliser pour configurer le fournisseur d’identités est signé en SHA 256.
  4. Assurez-vous que le protocole SSL est activé pour CA SDM. Pour plus d'informations, reportez-vous à la section Activation de l'authentification SSL pour CA SM 17.3.
Activation de l’authentification SAML pour CA SDM sur Tomcat
Procédez comme suit :
  1. Configurez le fichier web.xml.
    1. Accédez au dossier suivant et modifiez le fichier :
      NX_ROOT\bopcfg\www\CATALINA_BASE\webapps\CAisd\WEB-INF\web.xml
    2. Copiez et collez la configuration suivante sous l'instruction
      <!-- Add filter here -->
      :
      <filter>
      <filter-name>FederationFilter</filter-name>
      <filter-class>com.auth10.federation.WSFederationFilter</filter-class>
      <init-param>
      <param-name>login-page-url</param-name>
      <param-value>main.jsp</param-value>
      </init-param>
      <init-param>
      <param-name>exclude-urls-regex</param-name>
      <param-value>/images/|/js/|/css/</param-value>
      </init-param>
      </filter>
    3. Copiez et collez la configuration suivante sous l'instruction
      <!-- Add filter-mapping here -->
      :
      <filter-mapping>
      <filter-name>FederationFilter</filter-name>
      <url-pattern>/*</url-pattern>
      </filter-mapping>
    4. Enregistrez et fermez le fichier.
  2. Configurez le fichier federation.properties.
    1. Accédez au dossier suivant et modifiez le fichier
      NX_ROOT\bopcfg\www\CATALINA_BASE\shared\resources\federation.properties
      .
    2. Définissez les informations suivantes relatives au fournisseur d’identités CA Service Desk Manager.
      1. federation.trustedissuers.issuer
        Définissez l'URL du fournisseur d'identités.
        Exemple :
        Siteminder
        http://<siteminderURL>/affwebservices/public/wsfeddispatcher
        ADFS
        https://<trusted_issuer_URL>/<identity_provider>/ls/idpinitiatedsignon.aspx
      2. federation.trustedissuers.thumbprint
        Définissez la valeur de l'empreinte de certificat fournie par le fournisseur d'identités. Vous devez spécifier l'empreinte dans la section
        token-signing
        du certificat.
        Exemple :
        0214c3035d002505b9e5e672a117d9bf5c5d4d02
        Le certificat que vous souhaitez utiliser pour configurer le fournisseur d’identités doit être signé en SHA-256.
        L’empreinte du certificat SHA-256 que vous utilisez doit être l’empreinte SHA-1.
      3. federation.trustedissuers.friendlyname
        Définissez un nom commun pour le fournisseur d’identités.
        Exemple :
        ADFS
        TestIP - <URL_émetteur_approuvé>
        Siteminder
        TestIP
      4. federation.audienceuris
        Définissez l'URI de l'application à partir de laquelle vous souhaitez accepter les jetons.
        Exemple
        : https://<hôte_SDM>:<port_SSL_TOM_SDM>/CAisd/pdmweb.exe|https://<hôte_SDM>:<port_SSL_TOM_SDM>/CAisd/pdmweb.exe
      5. federation.realm
        Définissez l'emplacement depuis lequel les jetons sont envoyés.
        Exemple
        : https://<hôte_SDM>:<port_SSL_TOM_SDM>/CAisd/pdmweb.exe
      6. federation.enableManualRedirect
        Indiquez si vous souhaitez activer la redirection manuelle du jeton. Définissez la valeur sur True pour activer la redirection manuelle et définissez-la sur False pour désactiver la redirection manuelle.
        Valeur par défaut :
        False
      7. federation.reply
        Définissez l'URL de l'emplacement qui reçoit les réponses.
        Exemple
        : https://<hôte_SDM>:<port_SSL_TOM_SDM>/CAisd/pdmweb.exe
    3. Enregistrez et fermez le fichier.
  3. Redémarrez les services CA Service Desk Manager.
  4. Lancez CA SDM et activez l’authentification des utilisateurs externes à partir de l’interface utilisateur pour le rôle d’utilisateur pour lequel vous souhaitez autoriser l'accès via l'authentification unique SAML.
Activation de l’authentification SAML pour CA SDM sur IIS
Procédez comme suit :
  1. Assurez-vous que Microsoft .NET Framework 4 est installé sur le serveur sur lequel CA SDM est installé. Pour plus d'informations, reportez-vous à la section Activation de l'authentification SSL pour CA SM 17.3. Pour plus d'informations, consultez la Documentation Microsoft sur la configuration du protocole SSL sur IIS.
  2. Ouvrez le fichier web.config dans un éditeur. Le fichier est généralement disponible sous NX_ROOT\bopcfg\www\wwwroot\.
  3. Recherchez l'instruction suivante dans le fichier :
    <!-- To Enable SAML, Comment above code and Uncomment below code. -->
  4. Définissez le code qui s’affiche au-dessus de l’instruction dans le fichier en tant que commentaire, c'est-à-dire ajoutez la balise <!-- au début du code et la balise --> à la fin.
  5. Annulez la mise en commentaire du code qui s’affiche sous l’instruction dans le fichier. Pour cela, supprimez la balise <!-- au début du code et la balise --> à la fin.
  6. Recherchez les lignes suivantes et remplacez le texte Définissez l'URI de l'application à partir de laquelle vous souhaitez accepter les jetons par http://<nom_hôte_SDM>:<port_SSL>/CAisd/pdmweb.exe :
    <audienceUris>
    <add value="Define the URI of the application from where to accept the tokens" />
    </audienceUris>
    Exemple :
    <audienceUris>
    <add value="http://CAServiceDesk:443/CAisd/pdmweb.exe" />
    </audienceUris>
  7. Recherchez les lignes suivantes et modifiez la valeur des paramètres add thumbprint et name. Vous devez spécifier l'empreinte dans la section
    token-signing
    du certificat.
    <trustedIssuers>
    <add thumbprint="Define the value of the certificate thumbprint provided by the Identity Provider" name="Define a common name for the Identity Provider" />
    </trustedIssuers>
    Exemple :
    <trustedIssuers>
    <add thumbprint="bb89519f06dc7b1ab43871e1a3310eca893b94cb" name="sdmcomputer01.casm.local" />
    </trustedIssuers>
  8. Recherchez les lignes suivantes et modifiez la valeur des paramètres issuer, realm, reply et requireHttps :
    <federationConfiguration>
    <cookieHandler requireSsl="false" />
    <wsFederation passiveRedirectEnabled="true" issuer="Define the Identity Provider URL" realm="Define the location from where the tokens are sent" reply="Define the URL of the location that receives responses" requireHttps="true|false" />
    </federationConfiguration>
    1. issuer
      Définissez l’URL du fournisseur d’identités.
      Exemple :
      ADFS
      : https://hostname.casm.local/adfs/ls/idpinitiatedsignon.aspx
      Siteminder
      : http://hostname:88/affwebservices/public/wsfeddispatcher
    2. domaine
      Remplacez le texte
      realm="Définissez l'emplacement depuis lequel les jetons sont envoyés"
      par
      realm="http://<nom_hôte_SDM>:<port_SSL>/CAisd/pdmweb.exe"
      .
      Exemple
      : realm="http://CAServiceDesk:443/CAisd/pdmweb.exe"
    3. reply
      Remplacez le texte
      reply="Définissez l'URL de l'emplacement qui reçoit les réponses"
      par reply="http://<
      nom_hôte_SDM
      >:<
      port_SSL
      >/CAisd/pdmweb.exe".
      Exemple
      : reply="http://CAServiceDesk:443/CAisd/pdmweb.exe"
    4. requireHttps
      Indiquez si le protocole HTTPS est True ou False.
      True
      Spécifiez la valeur
      true
      si l'URL
      du fournisseur d'identités est HTTPS.
      False
      Spécifiez la valeur
      False
      si l'URL
      du fournisseur d’identités HTTP.
  9. Enregistrez et fermez le fichier.
  10. Redémarrez les services CA Service Desk Manager.
  11. Lancez CA SDM et activez l’authentification des utilisateurs externes à partir de l’interface utilisateur pour le rôle d’utilisateur pour lequel vous souhaitez autoriser l'accès via l'authentification unique SAML.
Activation de l’authentification SAML pour CA SDM sur Apache
Procédez comme suit :
  1. Assurez-vous que le protocole HTTPS est activé pour
    CA Service Management
    . Pour plus d'informations, reportez-vous à la section Activation de l'authentification SSL pour CA SM 17.3.
  2. Téléchargez et installez le fournisseur de services Shibboleth sur le serveur Apache sur lequel
    CA Service Management
    est installé. Vous devez télécharger le fournisseur de services Shibboleth spécifique au système d’exploitation que vous utilisez. Nous vous recommandons d’utiliser le fournisseur de services Shibboleth version 2.6. L'installation du fournisseur de services Shibboleth sur Solaris n'est pas prise en charge. Pour en savoir plus sur le téléchargement et l'installation de Shibboleth, reportez-vous à la documentation de Shibboleth.
  3. Démarrez le service Shibboleth.
  4. Lancez l'URL des métadonnées du fournisseur d’identités dans un navigateur, générez le fichier
    FederationMetadata.xml
    , copiez-le dans le chemin d'accès
    \etc\shibboleth\
    , puis renommez-le
    partner-metadata.xml
    . Par exemple, si vous utilisez ADFS en tant que fournisseur d’identités, l’URL des métadonnées est https://<serveur_ADFS>/federationmetadata/2007-06/federationmetadata.xml.
  5. Modifiez le fichier Shibboleth2.xml comme suit. Le fichier est généralement disponible sous le chemin d’accès \etc\shibboleth\.
    1. Recherchez les lignes suivantes dans le fichier et modifiez les valeurs des paramètres entityID et REMOTE_USER.
      <
      ApplicationDefaults entityID="https://<SDM host name>:<SSL Port>" REMOTE_USER="<IdP claim user detail property>" cipherSuites="ECDHE+AESGCM:ECDHE:!aNULL:!eNULL:!LOW:!EXPORT:!RC4:!SHA:!SSLv2"
      >
      Exemple :
      <
      ApplicationDefaults entityID="https://CAServiceDesk:443"
      REMOTE_USER="smuser"
      cipherSuites="ECDHE+AESGCM:ECDHE:!aNULL:!eNULL:!LOW:!EXPORT:!RC4:!SHA:!SSLv2"
      >
    2. Recherchez les lignes suivantes dans le fichier et modifiez les valeurs des paramètres entityID.
      <SSO entityID="<URL of the Identity Provider> "
      discoveryProtocol="SAMLDS" discoveryURL="https://ds.example.org/DS/WAYF">
      SAML2 SAML1
      </SSO>
      Exemple :
      <SSO entityID="http://adfscomputer/adfs/services/trust"
      discoveryProtocol="SAMLDS" discoveryURL="https://ds.example.org/DS/WAYF">
      SAML2 SAML1
      </SSO>
    3. Ouvrez le fichier shibboleth.xml et remplacez la valeur du paramètre entityID par la valeur disponible dans le fichier partner-metadata.xml.
    4. Recherchez les lignes suivantes et, le cas échéant, mettez les en commentaire, c'est-à-dire ajoutez la balise <!--au début du code et la balise --> à la fin.
      <!-- Example of remotely supplied batch of signed metadata. -->
      <!--
      <MetadataProvider type="XML" validate="true"
      uri="http://example.org/federation-metadata.xml"
      backingFilePath="federation-metadata.xml" reloadInterval="7200">
      <MetadataFilter type="RequireValidUntil" maxValidityInterval="2419200"/>
      <MetadataFilter type="Signature" certificate="fedsigner.pem"/>
      <DiscoveryFilter type="Blacklist" matcher="EntityAttributes" trimTags="true"
      attributeName="http://macedir.org/entity-category"
      attributeNameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
      attributeValue="http://refeds.org/category/hide-from-discovery" />
      </MetadataProvider>
      -->
    5. Ajoutez les lignes suivantes sous le code commenté comme indiqué ci-dessus.
      <!-- Example of locally maintained metadata. -->
      <MetadataProvider type="XML" validate="false" file="partner-metadata.xml"/>
  6. Ouvrez le fichier attribut-map.xml à partir du chemin d’accès .../etc/shibboleth/ et modifiez-le comme suit :
    Ajoutez les lignes suivantes au début du fichier.
    <Attribute name="<IdP claim to send to the relying party>" nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified" id="<IdP claim to send to the relying party>"/>
    Exemple :
    <Attribute name="smuser" nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified" id="smuser"/>
    Remarque
    : Lorsque vous créez l'approbation de partie de confiance à l'aide d'ADFS pour Shibboleth, vous pouvez obtenir les métadonnées que vous devez charger dans ADFS en lançant l’URL des métadonnées du fournisseur de services. Par exemple, https://<nom_serveur_Shibboleth>/Shibboleth.sso/Metadata.
  7. Ouvrez le fichier httpd.conf et modifiez-le comme suit. Le fichier est généralement disponible sous le chemin d'accès
    etc/httpd/conf/
    . Ajoutez les lignes suivantes à la fin du fichier :
    #Shibboleth configuration
    LoadModule mod_shib /usr/lib64/shibboleth/mod_shib_22.so
    <Location /Shibboleth.sso>
    SetHandler shib
    </Location>
    <Location />
    AuthType shibboleth
    ShibRequestSetting requireSession 1
    Require valid-user
    ShibUseHeaders Off
    </location>
  8. Redémarrez le service Shibboleth.
  9. Redémarrez le serveur Apache.
  10. Lancez CA SDM et activez l’authentification des utilisateurs externes à partir de l’interface utilisateur pour le rôle d’utilisateur pour lequel vous souhaitez autoriser l'accès via l'authentification unique SAML.