- Criado por Karina Dos Santos Costa, última alteração por Adriano Diniz Agrizzi em 09 out, 2023
ÍNDICE
- Visão Geral
- Requisitos
- Integração SAML no RM
01. VISÃO GERAL
SAML (Security Assertion Markup Language) é um mecanismo de autenticação segura de padrão aberto, baseado em XML para a troca de dados de autenticação e autorização de acesso entre um provedor de identidade (Identity Provider ou IDP), que atesta e certifica a identidade dos usuários, e um provedor de serviços (Service Provider ou SP).
Para acessar o configurador da integração no sistema basta acessar "Menu Serviços Globais | Ambientes | Parâmetros | Globais | Guia Integração SAML"
- Tipos de Integração:
- Nenhuma: Não está integrado, nada é alterado no sistema.
- Opcional: O Sistema estará integrado com o Identity, todas as experiências estarão ativas. O Usuário poderá logar através do RM ou pelo Identity.
- Obrigatória: O Sistema estará integrado com o Identity, todas as experiências estarão ativas. O Usuário poderá logar somente através Identity.
- Somente SSO Opcional: O Sistema estará integrado com o Identity, somente o login unificado através do Identity estará ativo. O Usuário poderá logar através do RM ou pelo Identity.
- Somente SSO Obrigatória: O Sistema estará integrado com o Identity, somente o login unificado através do Identity estará ativo. O Usuário poderá logar somente através do Identity.
- Identity Provider:
- Metadada Identity Provider - RM.exe: XML com informações sobre o Identity Provider ou Service Provider (RM.exe)
- Metadada Identity Provider - Portal: XML com informações sobre o Identity Provider ou Service Provider (Portal RM)
- Validação de dispositivos:
- Habilitar validação de dispositivos: Caso a integração utilize o recurso de validar o dispositivo local, obrigando que o dispositivo esteja inscrito em um ambiente específico, será necessário ativar essa opção para que o login seja realizado seguindo os critérios de segurança estabelecidos na integração.
A Tag ENABLESECUREENROLLEDDEVICES, pode ser utilizada no RM.Config para habilitar a validação de dispositivos.
- Habilitar validação de dispositivos: Caso a integração utilize o recurso de validar o dispositivo local, obrigando que o dispositivo esteja inscrito em um ambiente específico, será necessário ativar essa opção para que o login seja realizado seguindo os critérios de segurança estabelecidos na integração.
02. REQUISITOS
- IDP: Identity Provider (Fluig Identity):
Autentica o usuário e gera o assertion
http://en.wikipedia.org/wiki/Identity_provider - SP: Service Provicer (Software TOTVS):
Verifica o assertion e disponibiliza o serviço
http://en.wikipedia.org/wiki/Service_provider - Assertion:
XML com tokens de segurança da autenticação
http://en.wikipedia.org/wiki/SAML_2.0#SAML_2.0_Assertions - Resource:
Serviço ou aplicativo do Service Provider - Metadata:
XML com informações sobre o Identity Provider ou Service Provider para assegurar a comunicação entre eles
http://en.wikipedia.org/wiki/SAML_2.0#SAML_2.0_Metadata - Fluig Identity:
- Endereço (URL) do XML metadata (exemplo: https://www.fluigidentity.com/cloudpass/saml2/metadata)
- Software TOTVS:
- UI na politica de segurança do sistema para configuração do gerenciador de identidade onde o usuário informará:
- Endereço do IDP;
- O endereço que o Software TOTVS responderá como SP (exemplo: http://myhostname:8080/spEntityID), esse será entityID do SP;
- Lista de endereços que podem utilizar o SSO através do SP (exemplo: http://myhostname:8080/)
- Certificado digital
- UI na politica de segurança do sistema para configuração do gerenciador de identidade onde o usuário informará:
- HTTP configurado que responda aos endereços:
- XML do metadata do SP (exemplo: http://myhostname:8080/spEntityID/saml2/metadata);
- Serviço do SAML do SP (exemplo: http://myhostname:8080/spEntityID/saml2/get)
- Reposta ao assertion do IDP (exemplo: http://myhostname:8080/spEntityID/saml2/post)
- HTTP configurado que responda aos endereços:
03. INTEGRAÇÃO SAML NO RM
Abaixo temos um exemplo do metadados SAML que deve ser importado no RM:
<?xml version="1.0" encoding="UTF-8"?> <EntityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata" entityID="http://<URI do Portal Corpore .NET>" ID="_32a417e2-1378-405d-8757-94bcba2db823"> <IDPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol"> <KeyDescriptor use="signing"> <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#"> <X509Data> <X509Certificate><Conteúdo do Certificado Proveniente do Arquivo Metadata></X509Certificate> </X509Data> </KeyInfo> </KeyDescriptor> <SingleSignOnService Location="https://<Servidor AD FS>/adfs/ls/idpinitiatedsignon.aspx?loginToRp=<Identificador do RP>" Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"/> <SingleSignOnService Location="https://<Servidor AD FS>/adfs/ls/idpinitiatedsignon.aspx?loginToRp=Totvs" Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"/> <SingleLogoutService Location="https://<Servidor AD FS>/adfs/ls/?wa=wsignout1.0" Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"/> <SingleLogoutService Location="https://<Servidor AD FS>/adfs/ls/?wa=wsignout1.0" Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" /> </IDPSSODescriptor> </EntityDescriptor>
Após obter o metadados personalizado, ele deve ser importado no RM em: Ambiente → Parâmetros → Parâmetros Globais → Integração SAML.
Caso queira integrar com a MDI, via SAML, adicionar o metadado no campo "Metadata Identity Provider - RM.exe", Imagem demonstrativa abaixo:
Caso queira integrar com o Portal, via SAML, adicionar o metadado no campo "Metadata Identity Provider - Portal", imagem demonstrativa abaixo: