Segurança

Configurando autenticação SAML com ADFS

1567 views 19/09/2018 04/11/2019 cesar-kuehl 4

SAML ou Security Assertion Markup Language é um padrão aberto de troca de dados de autenticação e autorização entre duas partes, um provedor de identidades e um provedor de serviços.
O SeniorX age como um provedor de serviços que apenas usufruirá dos usuários já existentes no provedor de identidade.

Para este tutorial utilizaremos o Microsoft ADFS (Active Directory Federation Services) como nosso provedor de identidades e configuraremos o SeniorX para se integrar a ele.

Pré requisitos

  • Para a configuração do ADFS, será necessário o uso de um certificado digital específico para o tenant. Este certificado é entregue para o cliente no momento da criação de seu tenant. Caso não tenha o certificado, solicite para a Senior TI através de um chamado no 0800NET.

Configurando o ADFS para o SeniorX

1. Conecte-se ao servidor do Active Directory e execute o aplication AD FS Management;

2. No menu da esquerda, expanda a guia Trust Relationships, clique com o botão direito em Relying Party Trusts e então clique em Add Relying Party Trust…;

3. Um wizard será iniciado, clique em Start para iniciar o processo e no passo Select Data Source marque a opção Enter data about the relying party manually, clique então em Next;

4. No passo Specify Display Name informe SeniorX em Display Name e então clique Next;

5. No passo Choose Profile, mantenha a opção AD FS profile e clique em Next;

6. No passo Configure Certificate apenas clique em Next;

7. No passo Configure URL, marque a opção Enable support for the SAML 2.0 WebSSO protocol e em Relying party SAML 2.0 SSO service URL informe https://platform.senior.com.br:9443/commonauth

8. No passo Configure identifiers informe SeniorX em Relying party trust identifier e clique em Add, na sequencia, clique em Next;

9. No passo Configure Multi-factor Authentication Now?, apenas clique em Next;

10. No passo Choose Issuance Authorization Rules, mantenha a opção Permit all users to access the relying party marcada e clique em Next;

11. No passo Ready to Add Trust, apenas clique em Next;

12. No passo Finish, mantenha marcada a opção Open the Edit Claim Rules dialog for this relying party trust when the wizard closes e clique em Close;

13. Na nova tela que irá abrir, clique em Add Rule…

14. Mantenha a opção Send LDAP Attributes as Claims selecionada e clique em Next;

15. Em Claim rule name informe SAM-Account-Name -> User Name, em Attribute store selecione Active Directory, em LDAP Attribute selecione SAM-Account-Name e em Outgoing Claim Type selecione User Name, na sequencia clique em Finish;

16. Adicione mais uma regra, desta vez chamada de Display-Name -> Name conforme a imagem abaixo;

17. Adicione mais uma regra, desta vez chamada de User-Principal-Name -> Email Address conforme a imagem abaixo;

18. Vamos adicionar mais uma regra, mas desta vez no passo Choose Rule Type, escolha a opção Transform an Incoming Claim em Claim rule template;

19. Em Claim Rule Name informe User Name -> Name ID, em Incoming claim type selecione User Name e em Outgoing claim type selecione Name ID, clique então em Finish;

20. Todas as claims foram configuradas, feche a dialog de inserção de claims, clique com o botão direito em SeniorX e então clique em Properties;

21. Clique na aba Signature, clique então em Add.. e selecione o certificado obtido com a Senior;

22. Clique então na aba Endpoints e depois em Add SAML…;

23. Em Endpoint type escolha SAML Logout, em Binding mantenha a opção POST, em Trusted URL informe a URL externa do ADFS do cliente e em Response URL informe https://platform.senior.com.br:9443/commonauth, após isto, clique em OK;

24. Isto conclui a configuração do ADFS, clique em Apply e depois em OK para fechar a edição;

25. Antes de iniciar a configuração da autenticação no SeniorX, clique na pasta Service no menu esquerdo do AD FS Management e então em Claim Descriptions. Anote os valores de Claim Type das claims User Name, E-mail Address e Name, estes valores serão usados mais tarde.

Configurando a autenticação SAML no SeniorX

1. Logue na plataforma SeniorX com o usuário admin do tenant;

2. Vá em Tecnologia -> Administração -> Gestão dos Tenants -> Configurar, selecione o tenant e clique em Configurações;

3. Clique na aba Autenticação e altere o tipo de autenticação para Autenticação SAML;

4. Preencha os campos conforme abaixo:

  • URL de redirecionamento da requisição SAML: https://platform.senior.com.br/auth/LoginWithCodeServlet
  • ID da entidade do Identity Provider: https://<URL ADFS do cliente>/adfs/services/trust
  • ID da entidade do Service Provider: SeniorX (valor que foi definido no passo 8 da configuração do ADFS)
  • URL para realizar o login: https://<URL ADFS do cliente>/adfs/ls
  • URL para realizar o logoff: https://<URL ADFS do cliente>/adfs/ls/?wa=wsignout1.0
  • Claim que define o username do usuário: Claim type da claim User Name (Anotação feita no passo final da configuração do ADFS)
  • Claim que define o e-mail do usuário: Claim type da claim E-Mail Address (Anotação feita no passo final da configuração do ADFS)
  • Claim que define o nome do usuário: Claim type da claim Name (Anotação feita no passo final da configuração do ADFS)
  • Papel que será definido para novos usuários: Escolha o papel que o usuário receberá no seu primeiro login via ADFS

5. Clique em Salvar para concluir a configuração;

6. Para testar, abra um outro navegador ou uma aba anônima no mesmo navegador e acesse a URL da plataforma informando o dominio do tenant na URL, exemplo: https://platform.senior.com.br?tenant=senior.com.br

Se a configuração tiver sido feita corretamente, você será redirecionamento para a tela de login do ADFS do cliente, e ao informar credenciais válidas, será redirecionado para a plataforma SeniorX já autenticado.

Se isso ocorrer, confirme se todos os dados do usuário vieram corretamente olhando para o perfil do mesmo no SeniorX. Caso algum atributo esteja errado, revise a parte de claims tanto no ADFS quanto no Seniorx.

Este artigo foi útil para você?