Traduzido com IA. Ainda não revisto pela comunidade. Ler em inglês

Blog · 26 de setembro de 2023 · Steve Simpson · Identidade

Um mergulho na autenticação SAML

Entender o SAML no single sign-on com o Salesforce

Na área da autenticação, o SAML (Security Assertion Markup Language) tem um papel-chave para garantir um acesso fluido entre aplicações. Vamos mergulhar no SAML, entender a sua importância no single sign-on (SSO) e explorar a sua implementação com o Salesforce.

O contexto

Imagine um cenário com duas orgs do Salesforce: um fornecedor de identidade (IDP) e um fornecedor de serviços. O fornecedor de serviços tem os dados a que quer aceder, mas, em vez de usar várias credenciais, quer fazê-lo com um único conjunto de dados de início de sessão. A ideia parece simples, mas o mecanismo por trás pode ser complexo.

Diagrama: single sign-on de uma org do Salesforce para outra. O navegador é enviado à org do fornecedor de identidade com um pedido SAML e volta à org do fornecedor de serviços com uma asserção SAML; cada org tem o certificado da outra, e os utilizadores são associados pelo ID de federação

Termos-chave do SAML

Acesso do utilizador: quando um utilizador tenta chegar a um recurso protegido no fornecedor de serviços antes de se autenticar.

Redirecionamento: se o utilizador não estiver autenticado, o fornecedor de serviços redireciona-o para o fornecedor de identidade com um pedido SAML. Se necessário, um relay state (o URL que o utilizador queria visitar) pode ser enviado em conjunto.

Autenticação no IDP: o fornecedor de identidade verifica a identidade do utilizador, normalmente por nome de utilizador, palavra-passe ou autenticação multifator.

Asserção SAML: após a autenticação, o IDP envia uma asserção SAML ao fornecedor de serviços.

Confiança do fornecedor de serviços: o fornecedor de serviços valida a asserção SAML, extrai as informações do utilizador e concede o acesso. Se um relay state foi enviado antes, o fornecedor de serviços navega até esse URL.

Resumo do SAML: o fluxo básico (acesso do utilizador, redirecionamento, autenticação, asserção, regresso, acesso concedido), as vantagens e os termos-chave

Benefícios do single sign-on

Acesso simplificado: os utilizadores só precisam de um conjunto de credenciais para aceder a vários serviços.

Segurança: o SAML usa assinaturas digitais para garantir a integridade dos dados e evitar adulterações.

Interoperabilidade: por ser um protocolo padrão, o SAML liga-se a vários IDPs e fornecedores de serviços com tecnologias diferentes.

Indo mais fundo: examinar os fluxos SAML

Pedido SAML: enviado pelo fornecedor de serviços ao IDP, pedindo-lhe que autentique um utilizador.

Exemplo de pedido SAML (AuthnRequest) da org do fornecedor de serviços para a org do fornecedor de identidade

Resposta SAML: uma mensagem do IDP após a autenticação, com os detalhes do utilizador.

Exemplo de resposta SAML do fornecedor de identidade, com o emissor e a assinatura digital

Asserções: declarações do IDP sobre o utilizador, com atributos como nome de utilizador ou e-mail.

Assinaturas digitais: usadas para verificar as asserções e garantir que não foram alteradas de forma ilícita.

Relay state: um URL de deep link que garante que o utilizador volta ao destino pretendido depois da autenticação.

Quando um utilizador inicia o acesso, é enviado um pedido SAML ao IDP, que, após a verificação, devolve uma asserção SAML. Quando o fornecedor de serviços valida essa asserção, o utilizador recebe o acesso pretendido.

Diagrama de sequência: início de sessão SAML iniciado pelo fornecedor de serviços. O utilizador pede uma página, é redirecionado para o fornecedor de identidade para iniciar sessão, volta com uma asserção SAML, e o fornecedor de serviços valida-a e cria uma sessão

Com ferramentas como o SAML Tracer para navegadores, é possível visualizar este fluxo. Assim vê com transparência o processo de autenticação, do pedido inicial ao redirecionamento final.

Medidas de segurança nas asserções SAML

Para enfrentar possíveis ameaças:

Carimbos de data e hora evitam ataques de repetição, garantindo que a asserção SAML só é válida durante um curto intervalo.

Assinaturas digitais garantem que os dados não foram adulterados durante a troca.

Além disso, as asserções podem conter atributos do utilizador, como endereço de e-mail ou tipo de utilizador, permitindo controlos de acesso mais detalhados no fornecedor de serviços.

Conclusão

No fundo, o SAML é um protocolo baseado em XML que contém os elementos-chave da autenticação. Pode parecer magia, mas é resultado de uma tecnologia bem pensada para impedir ataques como o «man-in-the-middle» ou a repetição.

A sua capacidade de integrar vários fornecedores de serviços com IDPs de tecnologias diferentes faz dele uma pedra angular da autenticação digital.

Fique atento

Comece a sua jornada no Salesforce Identity com confiança! Para mais ideias e dicas, acompanhe aqui em www.SteveTechArc.com e no canal do YouTube @SteveTechArc (opens in a new tab). Subscreva e aprofunde o seu entendimento do Salesforce Identity.

A ajudar a mudar o mundo, partilhando conhecimento sobre integração com outros arquitetos e com quem está na jornada para se tornar um!

Transcrição feita com a ajuda de IA

STA 3.6