Ativar a autenticação da SAML para o CA SDM

SAML (Security Assertion Markup Language) é um padrão para conectar os usuários aos aplicativos com base em suas sessões em outro contexto. O SSO de SAML funciona por meio da transferência da identidade do usuário de um local (o provedor de identidades) para outro (o provedor de serviços). Isso é feito por meio de uma troca de documentos XML assinados digitalmente.
casm173
SAML (Security Assertion Markup Language) é um padrão para conectar os usuários aos aplicativos com base em suas sessões em outro contexto. O SSO de SAML funciona por meio da transferência da identidade do usuário de um local (o provedor de identidades) para outro (o provedor de serviços). Isso é feito por meio de uma troca de documentos XML assinados digitalmente.
Este artigo explica como ativar a autenticação da SAML para o CA Service Desk Manager nos seguintes servidores:
Pré-requisitos
  1. Se desejar usar o ADFS como provedor de identidades, instale o ADFS no Windows Server 2012 R2 ou versão posterior. Depois de concluir a instalação do ADFS e do CA Service Desk Manager, você deverá configurar o ADFS com as seguintes informações relacionadas ao CA SDM:
    1. Ao configurar a opção Adicionar Confiança da Terceira Parte Confiável no ADFS, especifique o seguinte na tela
      Configurar URL
      :
      • Marque a caixa de seleção
        Habilitar suporte para o protocolo Passivo do WS-Federation
        .
      • Digite o valor na opção
        URL do protocolo WS-Federation Passive do provedor de terceira parte confiável
        da seguinte maneira:
        https://<nome do host do SDM>:<porta https>/CAisd/pdmweb.exe
      • Marque a caixa de seleção
        Habilitar suporte para o protocolo WebSSO do SAML 2.0
        .
      • Digite o valor na opção
        URL do serviço SSO do SAML 2.0 da terceira parte confiável:
        , conforme mostrado abaixo:
        https://<host do sdm>:<porta https>/CAisd/pdmweb.exe
    2. Ao adicionar regras de declaração, especifique o seguinte na etapa
      Configurar Regra de Declaração
      :
      • Nome da regra de declaração
        Especifique um nome para a regra de declaração. Por exemplo, Regras de declaração do SDM.
      • Repositório de atributos
        Selecione a origem de dados na lista suspensa. Por exemplo, Active Directory.
      • Atributo LDAP
        Selecione
        Nome da Conta SAM
        na lista suspensa.
      • Tipo de declaração de saída
        Selecione
        Nome
        na lista suspensa.
  2. Se desejar usar o CA Single Sign-On (anteriormente conhecido como CA Siteminder) como sendo seu provedor de identidades, faça o seguinte:
    1. Execute o CA Single Sign-on como administrador.
    2. Vá para Federation Partnership Partnership Federation e clique em Partnerships.
      A lista Federation Partnership é exibida.
    3. Clique no nome da parceria de federação que deseja usar.
      A página de propriedades das parcerias será exibida.
    4. Expanda a seção IP Restrictions e verifique as propriedades de Assertion Attributes.
    5. O valor do campo Espaço para nome deve ser o URI da Declaração correspondente. Se o valor for especificado como Não especificado, a autenticação da SAML não funcionará.
  3. Verifique se o certificado que você deseja usar para configurar o provedor de identidades tem a assinatura SHA-256.
  4. Certifique-se de que o SSL esteja ativado para o CA SDM. Para obter mais informações, consulte Ativar autenticação SSL para o CA SAM 17.3.
Ativar a autenticação da SAML para o CA SDM no Tomcat
Siga estas etapas:
  1. Configure o arquivo web.xml.
    1. Navegue até a pasta a seguir e edite o arquivo:
      NX_ROOT\bopcfg\www\CATALINA_BASE\webapps\CAisd\WEB-INF\
      web.xml
    2. Copie e cole a seguinte configuração sob a instrução
      <!-- 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 e cole a seguinte configuração sob a instrução
      <!-- Add filter-mapping here -->
      :
      <filter-mapping>
      <filter-name>FederationFilter</filter-name>
      <url-pattern>/*</url-pattern>
      </filter-mapping>
    4. Salve e feche o arquivo.
  2. Configure o arquivo federation.properties.
    1. Navegue até a pasta a seguir e edite o arquivo
      NX_ROOT\bopcfg\www\CATALINA_BASE\shared\resources\federation.properties
    2. Defina os detalhes a seguir relacionados ao provedor de identidades e ao CA Service Desk Manager
      1. federation.trustedissuers.issuer
        Defina o URL do provedor de identidades.
        Exemplo:
        Siteminder
        http://<siteminderURL>/affwebservices/public/wsfeddispatcher
        ADFS
        https://<trusted_issuer_URL>/<identity_provider>/ls/idpinitiatedsignon.aspx
      2. federation.trustedissuers.thumbprint
        Defina o valor da impressão digital do certificado fornecido pelo provedor de identidades. É necessário especificar a impressão digital na seção de
        autenticação de token
        do certificado.
        Exemplo
        : 0214c3035d002505b9e5e672a117d9bf5c5d4d02
        O certificado que você deseja usar para configurar o provedor de identidades deve ter a assinatura SHA-256.
        A impressão digital que você usar do certificado SHA-256 deverá ser a impressão digital SHA-1.
      3. federation.trustedissuers.friendlyname
        Defina um nome comum para o provedor de identidades.
        Exemplo:
        ADFS
        TestIP - <URL_do_emissor_confiável>
        Siteminder
        TestIP
      4. federation.audienceuris
        Defina o URI do aplicativo a partir do qual aceitar os tokens.
        Exemplo:
        https://<host_do_SDM>:<porta_SSL_SDM_TOM>/CAisd/pdmweb.exe|https://<host_do_SDM>:<porta_SSL_SDM_TOM>/CAisd/pdmweb.exe
      5. federation.realm
        Defina o local a partir do qual os tokens são enviados.
        Exemplo:
        https://<host_do_SDM>:<porta_SSL_SDM_TOM>/CAisd/pdmweb.exe
      6. federation.enableManualRedirect
        Defina se deseja ativar o redirecionamento manual do token. Defina o valor como True para ativar o redirecionamento manual e defina o valor como False para desativar o redirecionamento manual.
        Padrão
        : false.
      7. federation.reply
        Defina o URL do local que recebe as respostas.
        Exemplo:
        https://<host_do_SDM>:<porta_SSL_SDM_TOM>/CAisd/pdmweb.exe
    3. Salve e feche o arquivo.
  3. Reinicie os serviços do CA Service Desk Manager.
  4. Execute o CA SDM e ative a autenticação de usuários externos na UI para a função de usuário à qual você deseja conceder o acesso SSO com base na SAML.
Ativar a autenticação da SAML para o CA SDM no IIS
Siga estas etapas:
  1. Certifique-se de que Microsoft .NET Framework 4 esteja instalado no servidor em que o CA SDM estiver instalado. Para obter mais informações, consulte Ativar autenticação SSL para o CA SAM 17.3. Para obter mais informações, consulte a Documentação da Microsoft em Como configurar o SSL no IIS.
  2. Abra o arquivo web.config em um editor. Geralmente, o arquivo está disponível no caminho NX_ROOT\bopcfg\www\wwwroot\.
  3. Localize a seguinte declaração no arquivo:
    <!-- To Enable SAML, Comment above code and Uncomment below code. -->
  4. Defina como comentário todo o código que aparecer acima da declaração no arquivo, o que significa adicionar a marca <!-- ao início do código e a marca --> ao final do código.
  5. Remova todo o código que aparecer abaixo da declaração no arquivo, o que significa remover a marca <!-- do início do código e a marca --> do final do código.
  6. Localize as linhas a seguir e substitua o texto Defina o URI do aplicativo a partir do qual aceitar os tokens por http://<nome do host do SDM>:<porta SSL>/CAisd/pdmweb.exe:
    <audienceUris>
    <add value="Define the URI of the application from where to accept the tokens" />
    </audienceUris>
    Exemplo:
    <audienceUris>
    <add value="http://CAServiceDesk:443/CAisd/pdmweb.exe" />
    </audienceUris>
  7. Localize as linhas a seguir e modifique o valor dos parâmetros "add thumbprint" e "name". É necessário especificar a impressão digital na seção de
    autenticação de token
    do 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>
    Exemplo:
    <trustedIssuers>
    <add thumbprint="bb89519f06dc7b1ab43871e1a3310eca893b94cb" name="sdmcomputer01.casm.local" />
    </trustedIssuers>
  8. Localize as linhas a seguir e modifique o valor dos parâmetros "issuer", "realm", "reply" e "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 o URL do provedor de identidades
      Exemplo:
      ADFS:
      https://hostname.casm.local/adfs/ls/idpinitiatedsignon.aspx
      Siteminder:
      http://hostname:88/affwebservices/public/wsfeddispatcher
    2. realm
      Substitua o texto
      realm="Defina o local a partir do qual os tokens são enviados"
      por
      realm="https://<nome do host do SDM>:<porta SSL>/CAisd/pdmweb.exe"
      Exemplo:
      realm="https://CAServiceDesk:443/CAisd/pdmweb.exe"
    3. reply
      Substitua o texto
      reply="Defina o URL do local que recebe as respostas"
      por reply="https://<
      nome do host do SDM
      >:<
      porta SSL
      >/CAisd/pdmweb.exe"
      Exemplo:
      reply="https://CAServiceDesk:443/CAisd/pdmweb.exe"
    4. requireHttps
      Defina se requireHttps é true ou false.
      Verdadeiro
      Especifique o valor como
      true
      se o URL do provedor de identidades
      tiver https como base.
      Falso
      Especifique o valor como
      false
      se o URL do provedor de identidades
      tiver http como base.
  9. Salve e feche o arquivo.
  10. Reinicie os serviços do CA Service Desk Manager.
  11. Execute o CA SDM e ative a autenticação de usuários externos na UI para a função de usuário à qual você deseja conceder o acesso SSO com base na SAML.
Ativar a autenticação da SAML para o CA SDM no Apache
Siga estas etapas:
  1. Certifique-se de que o HTTPS esteja ativado para o
    Gerenciamento de serviços da CA
    . Para obter mais informações, consulte Ativar autenticação SSL para o CA SAM 17.3
  2. Baixe e instale o provedor de serviços Shibboleth no servidor Apache em que o
    Gerenciamento de serviços da CA
    estiver instalado. É necessário baixar o provedor de serviços Shibboleth específico para o sistema operacional que você estiver usando. É recomendável usar o provedor de serviços Shibboleth versão 2.6. O provedor de serviços Shibboleth não oferece suporte à instalação no Solaris. Para obter mais informações sobre a instalação do Shibboleth e o download do software, consulte a documentação do Shibboleth.
  3. Inicie o serviço do Shibboleth.
  4. Execute o URL de metadados do provedor de identidades em um navegador, gere o arquivo
    FederationMetadata.xml
    , copie-o no caminho
    \etc\shibboleth\
    e renomeie-o como
    partner-metadata.xml
    . Por exemplo, se você estiver usando o ADFS como provedor de identidades, o URL de metadados será https://<servidor do ADFS>/federationmetadata/2007-06/federationmetadata.xml
  5. Modifique o arquivo Shibboleth2.xml conforme mostrado a seguir. Geralmente, o arquivo está disponível no caminho: \etc\shibboleth\.
    1. Localize as linhas a seguir no arquivo e modifique os valores dos parâmetros “entity ID” e “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"
      >
      Exemplo:
      <
      ApplicationDefaults entityID="https://CAServiceDesk:443"
      REMOTE_USER="smuser"
      cipherSuites="ECDHE+AESGCM:ECDHE:!aNULL:!eNULL:!LOW:!EXPORT:!RC4:!SHA:!SSLv2"
      >
    2. Localize as linhas a seguir no arquivo e modifique os valores de parâmetros “entity ID”.
      <SSO entityID="<URL of the Identity Provider> "
      discoveryProtocol="SAMLDS" discoveryURL="https://ds.example.org/DS/WAYF">
      SAML2 SAML1
      </SSO>
      Exemplo:
      <SSO entityID="http://adfscomputer/adfs/services/trust"
      discoveryProtocol="SAMLDS" discoveryURL="https://ds.example.org/DS/WAYF">
      SAML2 SAML1
      </SSO>
    3. Abra o arquivo shibboleth.xml e substitua o valor da ID de entidade pelo valor da ID de entidade disponível no arquivo partner-metadata.xml.
    4. Localize as linhas a seguir e marque-as como comentário, o que significa adicionar a marca <!-- ao início do código e a marca --> ao final do código, caso ainda não estejam definidas como comentário.
      <!-- 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. Adicione as linhas a seguir abaixo do código definido como comentário, conforme explicado anteriormente.
      <!-- Example of locally maintained metadata. -->
      <MetadataProvider type="XML" validate="false" file="partner-metadata.xml"/>
  6. Abra o arquivo attribute-map.xml no caminho: ../etc/shibboleth/ e edite-o da seguinte maneira:
    Adicione as linhas a seguir ao início do arquivo.
    <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>"/>
    Exemplo:
    <Attribute name="smuser" nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified" id="smuser"/>
    Observação
    : quando você estiver criando a "confiança de terceira parte confiável" usando o ADFS para Shibboleth, os metadados que precisarem ser carregados no ADFS poderão ser obtidos por meio da execução do URL de metadados do provedor de serviços. Por exemplo, https://<nome do servidor do Shibboleth>/Shibboleth.sso/Metadata.
  7. Abra o arquivo httpd.conf e edite-o conforme mostrado a seguir. Geralmente, o arquivo está disponível no caminho:
    etc/httpd/conf/
    . Adicione as seguintes linhas ao final do arquivo:
    #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 o serviço do Shibboleth.
  9. Reinicie o servidor Apache.
  10. Execute o CA SDM e ative a autenticação de usuários externos na UI para a função de usuário à qual você deseja conceder o acesso SSO com base na SAML.