Traduzido por IA. Ainda não revisado pela comunidade. Ler em inglês

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

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.

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

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.

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

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.

Exemplo de requisição SAML (AuthnRequest) da org do provedor de serviços para a org do provedor de identidade

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

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

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.

Diagrama de sequência: login SAML iniciado pelo provedor de serviços. O usuário pede uma página, é redirecionado ao provedor de identidade para fazer login, volta com uma asserção SAML, e o provedor de serviços a valida e cria uma sessão

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