- Introdução ao IAM
- O que é o SAML 2.0?
O que é o SAML 2.0?
Como funciona a autenticação SAML e por que ela ainda é relevante para clientes corporativos
O SAML 2.0 (Security Assertion Markup Language) é um padrão aberto criado para fornecer login único (SSO) em vários domínios. Em outras palavras, ele permite que um usuário se autentique em um sistema e obtenha acesso a outro sistema, fornecendo prova de sua autenticação.
Visão geral do SAML
Embora o SAML esteja em uso desde 2005, ele continua sendo muito usado para a federação de identidade em aplicativos B2B e B2E. Essa ampla adoção levou ao seu sucesso contínuo. Geralmente, para fornecer SSO contínuo entre empresas e corporações, você precisa ser capaz de lidar com o SAML. Na verdade, o protocolo SAML 2.0 é usado principalmente para aplicativos empresariais e governamentais.
O SAML usa XML para representar os dados de identidade do usuário e HTTP simples para mecanismos de transporte de dados.
Neste artigo, veremos o que é o SAML e o que o distingue de outros padrões de identidade; também veremos qual é o papel de um parceiro de gestão de identidades como a Auth0.
Como funciona o SAML?
O SAML é um protocolo de autenticação baseado em XML no qual provedores de serviços de identificação (IdP) – entidades que gerenciam e armazenam credenciais de usuário – trocam documentos XML assinados digitalmente (SAML Assertions) permitindo que um usuário final acesse um provedor de serviços(SP), como a coleção de aplicativos que você usa todos os dias no trabalho ou em um site.
O serviço que solicita e recebe dados dos provedores de identidade (IdP) é conhecido como Parte Confiável (RP), e os dados de identidade do usuário, encapsulados no SAML Assertion, estão na forma de atributos; por exemplo, endereço de e-mail, nome, telefone, etc.
Uma analogia do mundo real seria o cenário de viagens internacionais. Pense em um viajante que deseja ir de seu país de origem para os EUA. Quando chega à fronteira, seu passaporte é solicitado para autenticação e, possivelmente, autorização do seu acesso. Se o viajante não tiver passaporte, ele será redirecionado ao governo de seu país de origem para obter um.
Depois que o viajante tiver seu passaporte, ele poderá provar sua identidade aos oficiais na fronteira. Eles verificam a validade do passaporte e os dados de identidade contidos nele e decidem deixar o viajante entrar ou não.
Neste cenário:
- o país de origem do viajante é o provedor de identidade
- os oficiais na fronteira, representando o governo dos EUA, são a Parte Confiável,
- os EUA são o provedor de serviços
- o passaporte é a SAML Assertion.
Considere que os EUA aceitam passaportes apenas de países com os quais fez acordos preliminares.
Você pode replicar este cenário do mundo real em um sistema de computador.
Digamos que você trabalha em uma empresa que tem vários aplicativos, mas um ponto centralizado para autenticação do usuário. Digamos que um parceiro da empresa tenha uma organização semelhante e, para um projeto específico, alguns funcionários do parceiro precisem acessar um ou mais aplicativos da sua empresa. Usando o SAML, após uma configuração preliminar que estabelece a confiança entre os dois sistemas, você pode replicar o cenário de viagem internacional.
O funcionário do parceiro tenta acessar um dos aplicativos da sua empresa. Como esse usuário não pertence à sua empresa, o sistema da sua empresa redireciona o usuário para o sistema do parceiro para obter a prova de identidade. O sistema do parceiro autentica o usuário e fornece a ele uma SAML Assertion. O sistema da sua empresa verifica a SAML Assertion e permite o acesso do usuário.
SAML e login único (SSO)
Com o SAML, o fluxo de trabalho de autenticação pode ser iniciado pelo provedor de serviços ou pelo provedor de identidade. A autenticação iniciada pelo IdP pode ocorrer se um funcionário estiver conectado em seu painel corporativo e quiser usar uma ferramenta comprada pela empresa em um site externo. Nesse caso, o IdP envia uma SAML Assertion por meio do navegador da web para fazer login automaticamente.
A autenticação iniciada pelo SP ocorre se um funcionário tentar fazer login nesse site externo – o SP – e o site o redirecionar para a página de login único (SSO) corporativo para inserir suas credenciais e autenticar. Após a autenticação, o funcionário é redirecionado ao site externo com uma SAML Assertion comprovando sua identidade.
Benefícios do SAML 2.0 e casos de uso
Os desenvolvedores ocasionalmente questionam por que devem implementar o protocolo SAML. O que faz o SAML valer a pena? Como mencionado neste tutorial técnico, os benefícios incluem:
Padronização: Sendo um padrão aberto, o SAML torna possível a interoperabilidade dos sistemas.
Experiência do usuário: Os usuários podem acessar vários provedores de serviço fazendo login apenas uma vez, sem autenticação adicional, o que permite uma experiência mais rápida e melhor em cada provedor de serviço. Isso também centraliza problemas de gerenciamento de senha, como redefinição e recuperação.
Acoplamento fraco de diretórios: O SAML não requer que as informações do usuário sejam mantidas e sincronizadas entre os diretórios. \ nMaior segurança: O SAML fornece um único ponto de autenticação, que acontece em um IdP seguro. Evitando a replicação de credenciais (contas-sombra) e a sincronização, o SAML reduz os pontos de ataque por roubo de identidade.
Custos reduzidos para provedores de serviços: Com o SAML, você não precisa manter as informações da conta em vários serviços. O provedor de identidade arca com esse ônus.
Aumento de conformidade: Na Era da Privacidade de Dados, a capacidade de receber atributos instantaneamente e esquecê-los quando não são mais necessários reduz a responsabilidade da sua organização, pois você não precisa mais criar contas-sombra para realizar o trabalho
Como a sua plataforma de identidade (IdP) se combina ao SAML 2.0 e ao login único?
Os desenvolvedores podem atestar que tentar implementar o SAML 2.0 internamente pode ser complicado, e é fácil deixar, sem perceber, pontos vulneráveis em uma assinatura XML e criptografia que deixam um aplicativo vulnerável aos invasores. No entanto, um parceiro de identidade como a Auth0 pode tornar a autenticação SAML simples e segura.
Usando o login universal da Auth0, você pode rapidamente configurar o SAML e oferecê-lo aos seus clientes corporativos. Quando você usa a Auth0, recebe todos os benefícios do SAML, mas se livra do ônus e do risco de ser o único provedor de identidade.
A Auth0 pode se conectar a qualquer linguagem ou API. Ela pode atuar como provedor de identidade, provedor de serviços ou ambos.
Quando você implementa um SP SAML e está usando a Auth0 como provedor de identidade, os usuários são redirecionados para a Auth0 para fazer login e a Auth0 os autentica. A Auth0 é independente da conexão de autenticação e pode usar provedores de redes sociais, bancos de dados, diretórios LDAP (como o Active Directory) ou outros IdPs SAML.
Quando seu aplicativo precisa conversar com um SP SAML usando a Auth0, a Auth0 traduz as solicitações dele em uma Solicitação de Autenticação SAML e a encaminha para um IdP SAML. Não importa o protocolo que você esteja usando para conversar com a Auth0.
Usar a Auth0 como seu provedor IdaaS permite que você ofereça aos usuários vários provedores de serviços de identificação. Dessa forma, os usuários de uma organização podem fazer login com suas credenciais do G-Suite, enquanto outros podem usar uma conexão com o banco de dados.
Para uma empresa de SaaS que tenta atrair clientes corporativos, oferecer o SAML 2.0 além de outros protocolos, como OAuth e OpenID Connect, é uma maneira simples de demonstrar flexibilidade para atender às necessidades dos clientes que o usam há anos.
Quer saber mais?
Continue lendo a Introdução ao IAM para conhecer outros tópicos sobre a Gestão de Identidades e Acesso.
Table of contents
Quick assessment
Qual das afirmativas é um benefício do SAML?
Quick assessment
Por que o login único (SSO) é um benefício para os usuários?
Quick assessment
Qual papel um Provedor de Identidade (IdP) desempenha no SAML 2?