Um mergulho na autenticação SAML
Entendendo o SAML no single sign-on com o Salesforce
Na área de 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 sua importância no single sign-on (SSO) e explorar sua implementação com o Salesforce.
O contexto
Imagine um cenário com duas orgs do Salesforce: um provedor de identidade (IDP) e um provedor de serviços. O provedor de serviços tem os dados que você quer acessar, mas, em vez de usar várias credenciais, você quer fazer isso com um único conjunto de dados de login. A ideia parece simples, mas o mecanismo por trás pode ser complexo.

Termos-chave do SAML
Acesso do usuário: quando um usuário tenta chegar a um recurso protegido no provedor de serviços antes de se autenticar.
Redirecionamento: se o usuário não estiver autenticado, o provedor de serviços o redireciona para o provedor de identidade com uma requisição SAML. Se necessário, um relay state (a URL que o usuário queria visitar) pode ser enviado junto.
Autenticação no IDP: o provedor de identidade verifica a identidade do usuário, normalmente por nome de usuário, senha ou autenticação multifator.
Asserção SAML: após a autenticação, o IDP envia uma asserção SAML ao provedor de serviços.
Confiança do provedor de serviços: o provedor de serviços valida a asserção SAML, extrai as informações do usuário e concede o acesso. Se um relay state foi enviado antes, o provedor de serviços navega até essa URL.

Benefícios do single sign-on
Acesso simplificado: os usuários só precisam de um conjunto de credenciais para acessar 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 se conecta a vários IDPs e provedores de serviços com tecnologias diferentes.
Indo mais fundo: examinando os fluxos SAML
Requisição SAML: enviada pelo provedor de serviços ao IDP, pedindo que ele autentique um usuário.

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

Asserções: declarações do IDP sobre o usuário, com atributos como nome de usuário ou e-mail.
Assinaturas digitais: usadas para verificar as asserções e garantir que não foram alteradas de forma ilícita.
Relay state: uma URL de deep link que garante que o usuário volte ao destino pretendido depois da autenticação.
Quando um usuário inicia o acesso, uma requisição SAML é enviada ao IDP, que, após a verificação, devolve uma asserção SAML. Quando o provedor de serviços valida essa asserção, o usuário recebe o acesso pretendido.

Com ferramentas como o SAML Tracer para navegadores, dá para visualizar esse fluxo. Assim você vê com transparência o processo de autenticação, da requisição 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ó seja válida por 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 usuário, como endereço de e-mail ou tipo de usuário, permitindo controles de acesso mais detalhados no provedor 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 mágica, mas é resultado de uma tecnologia bem pensada para impedir ataques como o “man-in-the-middle” ou a repetição.
Sua capacidade de integrar vários provedores de serviços a IDPs com tecnologias diferentes faz dele uma pedra angular da autenticação digital.
Fique de olho
Comece 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). Inscreva-se e aprofunde seu entendimento do Salesforce Identity.
Ajudando a mudar o mundo compartilhando 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