Português (Brasil)
  • sso
  • autenticação
  • OIDC
  • SAML

Escolhendo seu método SSO: SAML vs. OpenID Connect

Single sign-on (SSO) é uma ótima maneira de simplificar a autenticação e autorização de usuários. Mas qual método SSO você deve escolher? Neste post, oferecemos uma breve visão geral de dois métodos SSO populares: SAML e OpenID Connect.

Simeng
Simeng
Developer

Introdução

No mundo atual movido pela nuvem, single sign-on (SSO) é uma ótima maneira de simplificar a autenticação e autorização de usuários. Em vez de fazer com que os usuários se lembrem de vários nomes de usuário e senhas para diferentes aplicações, o SSO permite que eles façam login uma vez e acessem várias aplicações de forma contínua.

A maioria dos grandes Provedores de Identidade (IdPs) como o Microsoft Entra oferece dois principais concorrentes para SSO: Security Assertion Markup Language (SAML) e OpenID Connect (OIDC). Embora ambos sejam protocolos seguros e bem estabelecidos, escolher o certo para sua organização depende de uma variedade de fatores. Vamos nos aprofundar em suas forças e fraquezas para ajudá-lo a selecionar seu campeão SSO.

OpenID Connect (OIDC): A seleção leve para aplicações modernas

OIDC é um protocolo simples e leve construído com base no OAuth 2.0. Ele se destaca por proporcionar um processo de configuração amigável ao usuário, tornando-se uma escolha popular para aplicações modernas.

Prós

  • Simplicidade: OIDC fornece um processo de configuração mais simples em comparação ao SAML. Isso se traduz em uma implementação mais rápida e manutenção contínua mais fácil. Foi projetado com base no OAuth 2.0, que já é amplamente usado para fins de autorização.
  • Design moderno: Construído para o ambiente web contemporâneo, integra-se bem com aplicações e frameworks modernos. OIDC é RESTful e baseado em JSON, facilitando o trabalho em ambientes de desenvolvimento modernos e proporcionando uma experiência do usuário mais suave.
  • Escalabilidade: OIDC é projetado para ser escalável, tornando-o uma boa escolha para grandes organizações com requisitos complexos.
  • Eficiência: OIDC utiliza JSON Web Tokens (JWTs) para troca de dados. Esses tokens compactos são leves e eficientes comparados às mensagens XML mais volumosas usadas pelo SAML. Isso se traduz em tempos de autenticação mais rápidos.

Contras

  • Controle limitado de atributos: Por padrão, o OIDC oferece informações básicas de atributos do usuário limitadas, podendo não fornecer o mesmo nível de controle granular que o SAML. Isso pode ser uma preocupação para organizações com requisitos rigorosos de controle de acesso. Para um controle de atributos mais avançado, pode ser necessário estender o protocolo com mecanismos adicionais de autorização, como controle de acesso baseado em função (RBAC) ou controle de acesso baseado em atributos (ABAC).
  • Suporte limitado para aplicações legadas: Como o OIDC é um protocolo mais recente, pode não ser tão amplamente adotado por aplicações empresariais mais antigas em comparação ao padrão estabelecido SAML.

Security Assertion Markup Language (SAML): O padrão empresarial com controle granular

O SAML tem sido o protocolo de escolha para SSO no mundo empresarial por muitos anos. Sua ampla adoção e conjunto robusto de recursos fazem dele uma escolha sólida para organizações com requisitos complexos.

Prós

  • Adoção ampla: O SAML existe há bastante tempo e é amplamente adotado por muitas aplicações empresariais. Isso garante um alto grau de compatibilidade para sua infraestrutura de TI existente.
  • Controle granular de atributos: O SAML fornece um rico conjunto de atributos que podem ser trocados entre o IdP e o Provedor de Serviços (SP). Isso permite um controle de acesso detalhado e personalização dos atributos do usuário.

Contras

  • Complexidade: Configurar e configurar o SAML pode ser um processo mais envolvido em comparação ao OIDC. As mensagens baseadas em XML usadas pelo SAML são mais volumosas e verbosas do que as mensagens baseadas em JSON usadas pelo OIDC. Isso requer um entendimento mais profundo do protocolo e, potencialmente, mais recursos de engenharia.

  • Mensagens volumosas: As mensagens SAML são baseadas em XML, podendo ser mais volumosas e menos eficientes em comparação às mensagens baseadas em JSON usadas pelo OIDC. Isso pode levar a tempos de autenticação mais lentos, especialmente para cargas de dados grandes.

Escolha seu próprio campeão SSO

Ao escolher entre SAML e OIDC, considere os seguintes fatores:

FatorSAMLOIDC
Complexidade de configuraçãoAltaBaixa
Compatibilidade (Moderna)BaixaAlta
Compatibilidade (Legada)AltaBaixa
Experiência do usuárioComplexaSimples
Controle de atributosGranularLimitado
Eficiência de troca de dadosBaixaAlta

Além do binário: Combinando SAML e OIDC para uma abordagem híbrida

Em alguns casos, você pode não ter que escolher entre SAML e OIDC. Alguns IdPs oferecem a flexibilidade de suportar ambos os protocolos, permitindo que você aproveite as forças de cada um onde são mais necessárias. Por exemplo, se sua organização possui uma mistura de aplicações modernas e legadas, mas compartilham o mesmo IdP, você pode utilizar tanto OIDC quanto SAML para uma solução SSO abrangente. Por exemplo, você pode utilizar OIDC para suas aplicações web e móveis, enquanto reserva SAML para seus sistemas empresariais legados.

Conclusão: Escolhendo a ferramenta certa para o trabalho

O melhor protocolo SSO para sua organização depende do seu cenário de aplicação específico, requisitos de segurança e objetivos de experiência do usuário. Compreendendo as forças e fraquezas de ambos OIDC e SAML, você estará bem equipado para escolher a melhor opção para sua organização.

Na Logto, nós suportamos tanto SAML quanto OIDC como parte de nossa solução SSO abrangente. Quer você esteja se conectando com uma aplicação web moderna ou um sistema empresarial legado, nós temos o que você precisa. Inscreva-se para uma conta gratuita e comece a simplificar seus fluxos de trabalho de autenticação e autorização hoje.