Activación de la autenticación de SAML para CA SDM

El lenguaje de marcado de aserción de seguridad (SAML) es un estándar para el registro de usuarios en aplicaciones basadas en las sesiones en otro contexto. SSO de SAML funciona mediante la transferencia de la identidad del usuario desde un único lugar (el proveedor de identidad) a otro (el proveedor de servicios). Esta se realiza mediante un intercambio de documentos XML firmados digitalmente.
casm173
El lenguaje de marcado de aserción de seguridad (SAML) es un estándar para el registro de usuarios en aplicaciones basadas en las sesiones en otro contexto. SSO de SAML funciona mediante la transferencia de la identidad del usuario desde un único lugar (el proveedor de identidad) a otro (el proveedor de servicios). Esta se realiza mediante un intercambio de documentos XML firmados digitalmente.
Este artículo explica cómo activar la autenticación de SAML para CA Service Desk Manager en los siguientes servidores:
Requisitos previos
  1. Si desea utilizar ADFS como el proveedor de identidad, debe instalar ADFS en Windows Server 2012 R2 y posteriores. Una vez completada la instalación de ADFS y CA Service Desk Manager, debe configurar el ADFS con la siguiente información relacionada con CA SDM:
    1. Durante la configuración de Add Relying Party Trust en ADFS, especifique lo siguiente en la pantalla "
      Configuración de URL
      ":
      • Seleccione la casilla de verificación
        "Activar soporte para el protocolo pasivo de WS-Federation"
        .
      • Introduzca el valor en
        "Relying party WS-Federation Passive protocol URL:"
        tal y como se muestra a continuación:
        https://<nombredehostSDM>:<puertohttps>/CAisd/pdmweb.exe
      • Seleccione la casilla de verificación
        "Activar soporte para el protocolo SAML 2.0 WebSSO"
        .
      • Introduzca el valor en "
        Relying party SAML 2.0 SSO service URL
        :" como a continuación:
        https://<hostsdm>:<puertohttps>/CAisd/pdmweb.exe
    2. Mientras se agregan reglas de reclamación, especifique lo siguiente en el paso
      "Configurar una regla de reclamación"
      :
      • Nombre de la regla de reclamación
        Especifique un nombre para la regla de reclamación. Por ejemplo, la regla de reclamación de SDM.
      • Almacén del atributo
        Seleccione la fuente de datos en la lista desplegable. Por ejemplo, Active Directory.
      • Atributo LDAP
        Seleccione
        "Nombre de cuenta SAM"
        en la lista desplegable.
      • Tipo de reclamación saliente
        Seleccione
        Nombre
        en la lista desplegable.
  2. Si desea utilizar CA Single Sign-On (anteriormente conocido como CA Siteminder) como proveedor de identidad, realice lo siguiente:
    1. Inicie CA Single Sign-on como administrador.
    2. Vaya a la federación de asociaciones de federación y haga clic en Asociaciones.
      Aparecerá la lista de asociaciones de la federación.
    3. Haga clic en el nombre de la asociación de federación que se desea utilizar.
      Se abre la página de propiedades de asociaciones.
    4. Expanda la sección Restricciones de IP y verifique las propiedades de los atributos de aserción.
    5. El valor del campo Espacio de nombres debe ser la URI de la reclamación respectiva. Si el valor se especifica como "Sin especificar", la autenticación de SAML no funcionará.
  3. Compruebe que el certificado que desea utilizar para configurar el proveedor de identidades está firmado mediante SHA 256.
  4. Asegúrese de que SSL está activado para CA SDM. Para obtener más información, consulte Activación de la autenticación de SSL para CA SM 17.3.
Activación de la autenticación de SAML para CA SDM en Tomcat
Siga los pasos siguientes:
  1. Configure el archivo web.xml.
    1. Vaya a la siguiente carpeta y edite el archivo:
      NX_ROOT\bopcfg\www\CATALINA_BASE\webapps\CAisd\WEB-INF\web.xml
    2. Copie y pegue la siguiente configuración bajo la instrucción
      <!-- 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. Copie y pegue la siguiente configuración bajo la instrucción
      <!--Agregar asignación de filtro aquí-->
      :
      <filter-mapping>
      <filter-name>FederationFilter</filter-name>
      <url-pattern>/*</url-pattern>
      </filter-mapping>
    4. Guarde y cierre el archivo.
  2. Configure el archivo federation.properties.
    1. Vaya a la siguiente carpeta y edite el archivo
      NX_ROOT\bopcfg\www\CATALINA_BASE\shared\resources\federation.properties
    2. Defina los detalles siguientes relacionados con el proveedor de identidad y CA Service Desk Manager
      1. federation.trustedissuers.issuer
        Defina la dirección URL del proveedor de identidad.
        Ejemplo:
        Siteminder
        http://<siteminderURL>/affwebservices/public/wsfeddispatcher
        ADFS
        https://<trusted_issuer_URL>/<identity_provider>/ls/idpinitiatedsignon.aspx
      2. federation.trustedissuers.thumbprint
        Defina el valor de la huella digital del certificado proporcionado por el proveedor de identidad. Debe especificar la huella digital en la sección
        "token-signing
        " del certificado.
        Por ejemplo
        : 0214c3035d002505b9e5e672a117d9bf5c5d4d02
        El certificado que desea utilizar para configurar el proveedor de identidades debe estar firmado mediante SHA 256.
        La huella digital que se utiliza del certificado SHA-256 debe ser la huella digital SHA-1.
      3. federation.trustedissuers.friendlyname
        Defina un nombre común para el proveedor de identidad.
        Ejemplo:
        ADFS
        TestIP - <trusted_issuer_URL>
        Siteminder
        TestIP
      4. federation.audienceuris
        Defina el URI de la aplicación desde la que aceptar los tokens.
        Ejemplo
        : https://<HOST_SDM>:<PUERTO_SSL_TOM_SDM>/CAisd/pdmweb.exe|https://<HOST_SDM>:<PUERTO_SSL_TOM_SDM>/CAisd/pdmweb.exe
      5. federation.realm
        Defina la ubicación desde donde se enviarán los tokens.
        Ejemplo
        : https://<HOST_SDM>:<PUERTO_SSL_TOM_SDM>/CAisd/pdmweb.exe
      6. federation.enableManualRedirect
        Defina si desea activar la redirección manual del token. Establezca el valor como Verdadero para activar la redirección manual y establezca el valor como Falso para desactivar la redirección manual.
        Valor predeterminado
        : False
      7. federation.reply
        Defina la dirección URL de la ubicación que recibirá las respuestas.
        Ejemplo
        : https://<HOST_SDM>:<PUERTO_SSL_TOM_SDM>/CAisd/pdmweb.exe
    3. Guarde y cierre el archivo.
  3. Reinicie los servicios de CA Service Desk Manager.
  4. Inicie CA SDM y active la autenticación del usuario externo de la interfaz de usuario para el rol del usuario al que desea permitir el acceso de SSO basado en SAML.
Activación de la autenticación de SAML para CA SDM en IIS
Siga los pasos siguientes:
  1. Asegúrese de que Microsoft.NET Framework 4 está instalado en el servidor donde se ha instalado CA SDM. Para obtener más información, consulte Activación de la autenticación de SSL para CA SM 17.3. Para obtener más información, consulte la documentación de Microsoft sobre el modo de configuración de SSL en IIS.
  2. Abra el archivo web.config en un editor de texto. El archivo se encuentra disponible normalmente en la ruta NX_ROOT\bopcfg\www\ wwwroot\.
  3. Localice la siguiente instrucción en el archivo:
    <!-- To Enable SAML, Comment above code and Uncomment below code. -->
  4. Incluya un comentario en el código que aparece encima de la instrucción en el archivo, es decir, agregue la etiqueta <!-- al principio y la etiqueta --> al final del código.
  5. Anule los comentarios del código que aparece debajo de la declaración en el archivo, es decir, elimine la etiqueta <!-- al principio y la etiqueta --> al final del código.
  6. Busque las siguientes líneas y sustituya el texto "Define the URI of the application from where to accept the tokens" con http://<SDM host name>:<SSL Port>/CAisd/pdmweb.exe:
    <audienceUris>
    <add value="Define the URI of the application from where to accept the tokens" />
    </audienceUris>
    Ejemplo:
    <audienceUris>
    <add value="http://CAServiceDesk:443/CAisd/pdmweb.exe" />
    </audienceUris>
  7. Busque las líneas siguientes y modifique el valor de los parámetros "add thumbprint" y "name". Debe especificar la huella digital en la sección
    "token-signing
    " del certificado.
    <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>
    Ejemplo:
    <trustedIssuers>
    <add thumbprint="bb89519f06dc7b1ab43871e1a3310eca893b94cb" name="sdmcomputer01.casm.local" />
    </trustedIssuers>
  8. Busque las líneas siguientes y modifique el valor de los parámetros "issuer", ""realm", "reply" y "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
      Defina la dirección URL del proveedor de identidad.
      Ejemplo:
      ADFS:
      https://hostname.casm.local/adfs/ls/idpinitiatedsignon.aspx
      Siteminder:
      http://hostname:88/affwebservices/public/wsfeddispatcher
    2. realm
      Sustituya el texto
      realm="Define the location from where the tokens are sent"
      con
      realm="http://<nombre host SDM>:<Puerto SSL>/CAisd/pdmweb.exe"
      Ejemplo
      : realm="http://CAServiceDesk:443/CAisd/pdmweb.exe"
    3. reply
      Sustituya el texto
      reply="Define the URL of the location that receives responses"
      con reply="https://<
      SDM host name
      >:<
      SSL port
      >/CAisd/pdmweb.exe"
      Ejemplo
      : reply="http://CAServiceDesk:443/CAisd/pdmweb.exe"
    4. requireHttps
      Defina si la https requerida es verdadera o falsa.
      True
      Especifique el valor como
      true
      si la dirección URL del proveedor de identidad está basada en https.
      Falso
      Especifique el valor como
      false
      si la
      dirección URL del proveedor de identidad está basada en http.
  9. Guarde y cierre el archivo.
  10. Reinicie los servicios de CA Service Desk Manager.
  11. Inicie CA SDM y active la autenticación del usuario externo de la interfaz de usuario para el rol del usuario al que desea permitir el acceso de SSO basado en SAML.
Activación de la autenticación de SAML para CA SDM en Apache
Siga los pasos siguientes:
  1. Asegúrese de que se ha activado HTTPS para
    CA Service Management
    . Para obtener más información, consulte Activación de la autenticación de SSL para CA SM 17.3.
  2. Descargue e instale el proveedor de servicios Shibboleth en el servidor Apache donde está instalado
    CA Service Management
    . Debe descargar el proveedor de servicios Shibboleth específico para el sistema operativo que está utilizando. Se recomienda utilizar el proveedor de servicios Shibboleth versión 2.6. El proveedor de servicios shibboleth no admite la instalación en Solaris. Para obtener más información sobre la instalación de Shibboleth y la descarga de software, consulte la Documentación de Shibboleth.
  3. Inicie el servicio Shibboleth.
  4. Inicie la dirección URL de metadatos del proveedor de identidad en un explorador y genere el archivo
    FederationMetadata.xml
    ; cópielo en la ruta
    \etc\shibboleth\
    y cambie el nombre del archivo a
    partner-metadata.xml
    . Por ejemplo, si está utilizando ADFS como proveedor de identidad, la dirección URL de metadatos es https://<ADFS server>/federationmetadata/2007-06/federationmetadata.xml
  5. Modifique el archivo Shibboleth2.xml como se muestra a continuación. El archivo se encuentra normalmente disponible en la ruta: \etc\shibboleth\.
    1. Busque las líneas siguientes en el archivo y modifique los valores de los parámetros "entity ID" y “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"
      >
      Ejemplo:
      <
      ApplicationDefaults entityID="https://CAServiceDesk:443"
      REMOTE_USER="smuser"
      cipherSuites="ECDHE+AESGCM:ECDHE:!aNULL:!eNULL:!LOW:!EXPORT:!RC4:!SHA:!SSLv2"
      >
    2. Busque las líneas siguientes en el archivo y modifique los valores de los parámetros “entity ID”.
      <SSO entityID="<URL of the Identity Provider> "
      discoveryProtocol="SAMLDS" discoveryURL="https://ds.example.org/DS/WAYF">
      SAML2 SAML1
      </SSO>
      Ejemplo:
      <SSO entityID="http://adfscomputer/adfs/services/trust"
      discoveryProtocol="SAMLDS" discoveryURL="https://ds.example.org/DS/WAYF">
      SAML2 SAML1
      </SSO>
    3. Abra el archivo shibboleth.xml y reemplace el valor del ID de entidad con el valor del ID de entidad disponible en el archivo partner-metadata.xml.
    4. Busque las líneas siguientes e incluya un comentario, es decir, agregue la etiqueta <!-- al principio y la etiqueta --> al final del código si todavía no contienen comentarios.
      <!-- 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. Agregue las siguientes líneas debajo del código comentado tal y como se ha explicado anteriormente.
      <!-- Example of locally maintained metadata. -->
      <MetadataProvider type="XML" validate="false" file="partner-metadata.xml"/>
  6. Abra el archivo attribute-map.xml desde la ruta: ../etc/shibboleth/ y edite el archivo como se muestra a continuación:
    Agregue las líneas siguientes al principio del archivo.
    <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>"/>
    Ejemplo:
    <Attribute name="smuser" nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified" id="smuser"/>
    Nota
    : Cuando esté creando "Relying Party Trust" mediante ADFS para Shibboleth, los metadatos que necesita cargar en ADFS pueden obtenerse iniciando la dirección URL de metadatos del proveedor de servicios. Por ejemplo, https://<Shibboleth Server Name>/Shibboleth.sso/Metadata.
  7. Abra el archivo httpd.conf y edítelo como se muestra a continuación. El archivo se encuentra normalmente disponible en la ruta:
    etc/httpd/conf/
    . Agregue las siguientes líneas al final del archivo:
    #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. Reinicie el servicio Shibboleth.
  9. Reinicie el servidor Apache.
  10. Inicie CA SDM y active la autenticación del usuario externo de la interfaz de usuario para el rol del usuario al que desea permitir el acceso de SSO basado en SAML.