Escolhendo o seu método SSO: SAML vs. OpenID Connect
Single sign-on (SSO) é uma ótima maneira de simplificar a autenticação e autorização de utilizadores. Mas qual método SSO deverias escolher? Neste post, damos-te uma breve visão geral de dois métodos SSO populares: SAML e OpenID Connect.
Introdução
No mundo de hoje, impulsionado pela nuvem, o single sign-on (SSO) é uma ótima maneira de simplificar a autenticação e autorização dos utilizadores. Ao invés de teres os utilizadores a lembrar-se de múltiplos nomes de utilizador e senhas para diferentes aplicações, o SSO permite-lhes fazer o login uma vez e aceder a múltiplas aplicações de forma integrada.
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 correto para a tua organização depende de uma variedade de fatores. Vamos aprofundar-nos nas suas forças e fraquezas para te ajudar a escolher o teu campeão SSO.
OpenID Connect (OIDC): A seleção leve para aplicações modernas
OIDC é um protocolo simples e leve construído em cima do OAuth 2.0. Ele destaca-se em fornecer um processo de configuração amigável, tornando-se uma escolha popular para aplicações modernas.
Prós
- Simplicidade: O OIDC oferece um processo de configuração mais simples em comparação com o SAML. Isso traduz-se em implementação mais rápida e manutenção contínua mais fácil. Foi projetado em cima do OAuth 2.0, que já é amplamente usado para fins de autorização.
- Design moderno: Criado para o ambiente web contemporâneo, integra-se bem com as aplicações e frameworks modernos. O OIDC é RESTful e baseado em JSON, facilitando o trabalho em ambientes de desenvolvimento modernos e proporcionando uma experiência de utilizador mais fluida.
- Escalabilidade: O OIDC é projetado para ser escalável, tornando-o uma boa escolha para organizações grandes com requisitos complexos.
- Eficiência: O OIDC utiliza JSON Web Tokens (JWTs) para troca de dados. Estes tokens compactos são leves e eficientes em comparação com as mensagens XML mais volumosas usadas pelo SAML. Isso traduz-se em tempos de autenticação mais rápidos.
Contras
- Controle limitado de atributos: Por padrão, o OIDC oferece informações básicas limitadas sobre atributos de utilizador, podendo não fornecer o mesmo nível de controle granular como 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 de autorização adicionais, por exemplo, 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 com o padrão SAML estabelecido.
Security Assertion Markup Language (SAML): O padrão empresarial com controle granular
O SAML tem sido o protocolo de referência para SSO no mundo empresarial há muitos anos. Sua extensa 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á muito tempo e é amplamente adotado por muitas aplicações empresariais. Isso garante um alto grau de compatibilidade para a tua infraestrutura de TI existente.
- Controle granular de atributos: O SAML oferece um conjunto rico 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 utilizador.
Contras
-
Complexidade: Configurar e configurar o SAML pode ser um processo mais envolvido em comparação com o 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 mais volumosas: As mensagens SAML são baseadas em XML, o que pode torná-las mais volumosas e menos eficientes em comparação com as mensagens baseadas em JSON usadas pelo OIDC. Isso pode levar a tempos de autenticação mais lentos, especialmente para cargas úteis grandes.
Escolhe o teu próprio campeão SSO
Ao escolher entre o SAML e o OIDC, considera os seguintes fatores:
Fator | SAML | OIDC |
---|---|---|
Complexidade da configuração | Alta | Baixa |
Compatibilidade (Moderna) | Baixa | Alta |
Compatibilidade (Legada) | Alta | Baixa |
Experiência do utilizador | Complexa | Simples |
Controle de atributos | Granular | Limitada |
Eficiência na troca de dados | Baixa | Alta |
Além do binário: combinando SAML e OIDC para uma abordagem híbrida
Em alguns casos, podes não precisar escolher entre SAML e OIDC. Alguns IdPs oferecem a flexibilidade de suportar ambos os protocolos, permitindo que aproveites os pontos fortes de cada um onde são mais necessários. Por exemplo, se a tua organização tem uma mistura de aplicações modernas e legadas, mas partilham o mesmo IdP, podes aproveitar tanto OIDC quanto SAML para uma solução SSO abrangente. Por exemplo, podes utilizar OIDC para as tuas aplicações web e móveis, enquanto reservas o SAML para os teus sistemas empresariais legados.
Conclusão: Escolher a ferramenta certa para o trabalho
O melhor protocolo SSO para a tua organização depende do teu cenário específico de aplicações, requisitos de segurança e objetivos de experiência do utilizador. Ao compreenderes as forças e fraquezas de ambos OIDC e SAML, estarás bem equipado para escolher a melhor opção para a tua organização.
Na Logto, suportamos tanto SAML quanto OIDC como parte da nossa solução SSO abrangente. Seja a ligar com uma aplicação web moderna ou um sistema empresarial legado, temos tudo o que precisas. Registra-te para uma conta gratuita e começa a simplificar os teus fluxos de trabalho de autenticação e autorização hoje.