Apidog

All-in-one Collaborative API Development Platform

Design de API

Documentação de API

Depuração de API

Mock de API

Testes Automatizados de API

Inscreva-se gratuitamente
Home / Ponto de vista / O que é Single Sign-On (SSO)?

O que é Single Sign-On (SSO)?

Neste artigo, apresentaremos informações básicas sobre login único (SSO), como seu mecanismo, tipos, vantagens e desvantagens. Se você quiser aprofundar seu entendimento sobre SSO, consulte este artigo.

Single Sign-On (SSO) refere-se a um método de autenticação amplamente utilizado em empresas e organizações de médio a grande porte, permitindo que os usuários acessem múltiplos sistemas e aplicações com um único login.

Este sistema é particularmente favorecido por sua conveniência na gestão da autenticação do usuário em várias plataformas de forma contínua. Neste artigo, apresentaremos os fundamentos do Single Sign-On (SSO), incluindo seu mecanismo, tipos e prós e contras.

O que é Single Sign-On (SSO)?

Single Sign-On (SSO) é um sistema de autenticação amplamente utilizado em empresas e organizações de médio a grande porte. Ele permite que os usuários acessem múltiplos sistemas e aplicações com uma única credencial de login.

Por exemplo, usando o Single Sign-On (SSO) da Microsoft Enterprise, os funcionários podem acessar não apenas os serviços da Microsoft, mas também outros serviços de terceiros, como Salesforce, Google Workspace e Slack, todos configurados para integrar-se com SSO usando seus endereços de e-mail designados pela empresa (por exemplo, nomeusuario@nomedaempresa.com) e senhas. Ao fazer login via SSO, as configurações organizacionais e as permissões de acesso do usuário são aplicadas automaticamente.

Como Funciona o SSO?

Mecanismo do SSO Vamos explorar como o SSO é implementado. O processo básico do SSO pode ser dividido em várias etapas, independentemente do método de implementação específico. Aqui está um fluxo de trabalho geral:

Configuração Inicial:

  • Os administradores do sistema configuram um servidor central (Provedor de Identidade - IdP) para gerenciar credenciais de autenticação. Este servidor armazena informações de autenticação do usuário e supervisiona o processo de autenticação.
  • Cada serviço ou aplicação que os usuários terão acesso é registrado neste servidor central.

Acesso do Usuário e Redirecionamento:

  • Quando um usuário tenta acessar um serviço ou aplicação específica, o Provedor de Serviço (SP) verifica se o usuário está autenticado.
  • Se não estiver autenticado, o SP redireciona o usuário para a página de login do Provedor de Identidade (IdP), incluindo informações sobre o serviço que o usuário pretendia acessar.

Processo de Autenticação:

  • Na página de login do IdP, o usuário insere suas credenciais de autenticação (tipicamente nome de usuário e senha).
  • O IdP verifica essas credenciais e autentica o usuário.
  • Etapas de autenticação adicionais, como Autenticação Multifator (MFA), como notificações push para smartphones ou digitalizações de impressões digitais, podem ser exigidas se configuradas.

Geração e Transmissão de Token:

  • Após a autenticação bem-sucedida, o IdP gera um token de autenticação. Este token inclui informações como identificação do usuário, status de autenticação e expiração.
  • O IdP transmite este token para o SP através do navegador do usuário.

Validação de Token e Permissão:

  • O SP valida o token recebido. Ele garante que o token é válido e emitido por um IdP confiável.
  • Após a validação bem-sucedida, o SP concede ao usuário acesso aos recursos sem exigir autenticação adicional.

Gerenciamento de Sessão:

  • O IdP mantém a sessão de autenticação do usuário. Se o usuário tentar acessar outro SP, o IdP emite um novo token sem exigir um novo processo de autenticação, facilitando o acesso contínuo entre os serviços.

Logout Único (SLO):

  • Se o usuário optar por sair, o IdP envia notificações de logout para todos os SPs. Isso permite que o usuário saia de todos os serviços com uma única operação de logout, aumentando a segurança e reduzindo o risco de deixar sessões abertas involuntariamente.

Segurança e Monitoramento:

  • A segurança é fundamental em sistemas SSO, com todas as comunicações criptografadas (HTTPS).
  • Os tokens têm períodos de expiração e devem ser frequentemente atualizados.
  • Os administradores do sistema monitoram os registros de acesso periodicamente em busca de atividades suspeitas.
  • A implementação de Autenticação Multifator (MFA) aprimora ainda mais a segurança.

Tipos de Single Sign-On (SSO)

Tipos de Single Sign-On (SSO) O SSO utiliza vários protocolos, cada um adequado a diferentes ambientes e requisitos. Aqui estão alguns protocolos SSO comuns:

SAML (Security Assertion Markup Language)

  • SAML é um protocolo principalmente utilizado em ambientes empresariais. Ele permite a troca de informações de autenticação entre Provedores de Identidade e Provedores de Serviço, tornando-o particularmente adequado para implementações de Single Sign-On baseadas em navegador.

Fluxo Operacional

  • Usuário acessa SP
  • SP redireciona para IdP
  • O IdP autentica o usuário
  • O IdP envia a afirmação SAML para o SP
  • SP concede acesso ao usuário
SAML

O SAML oferece várias vantagens. Ele fornece um alto nível de segurança, que é crucial para aplicações empresariais. Além disso, permite a troca de informações detalhadas de atributos, fornecendo aos Provedores de Serviço mais contexto sobre o usuário autenticado.

OAuth 2.0:

  • Principalmente um protocolo de autorização, frequentemente utilizado para SSO para conceder aplicações acesso a recursos em nome dos usuários.
OAuth 2.0

OAuth 2.0 suporta múltiplos tipos de concessão para acomodar diferentes cenários.

  • Fluxo de Código de Autorização
  • Fluxo Implícito
  • Credenciais de Senha do Proprietário do Recurso
  • Credenciais do Cliente

Esses incluem o Fluxo de Código de Autorização, que é adequado para aplicações do lado do servidor. O Fluxo Implícito é projetado para aplicações do lado do cliente. O tipo de concessão de Credenciais de Senha do Proprietário do Recurso é usado quando há um alto nível de confiança entre o usuário e o cliente.

Por fim, o tipo de concessão de Credenciais do Cliente é empregado para comunicação máquina-a-máquina onde a participação do usuário não é necessária.

OpenID Connect (OIDC):

  • OpenID Connect expande o OAuth 2.0, adicionando robustas capacidades de autenticação. Ele utiliza JSON Web Tokens (JWT) para troca segura de informações, tornando-o particularmente adequado para APIs RESTful. Baseado no OAuth 2.0, adiciona uma camada de autenticação permitindo que os clientes verifiquem a identidade do usuário e obtenham informações básicas do perfil.
OIDC

Fluxo

  1. O cliente envia uma solicitação de autorização
  2. O usuário autentica e autoriza
  3. Um código de autorização é retornado
  4. O cliente obtém um token de acesso e um token de ID.
  5. Obter Informações do Usuário (Opcional)

Cada um desses protocolos é adequado para diferentes casos de uso e requisitos, portanto, é importante escolher o protocolo certo com base nas necessidades e na infraestrutura existente da sua organização.

Vantagens e Desvantagens do SSO

Como descrito, o SSO oferece inúmeros benefícios, como maior conveniência para o usuário, segurança aprimorada, redução de custos de gerenciamento, aumento da produtividade, melhorias de conformidade, fácil integração com novas aplicações, mitigação de riscos para incidentes de segurança e autenticação consistente em dispositivos.

No entanto, também apresenta desafios, como ser um ponto único de falha, riscos de segurança concentrados, complexidade e custos iniciais de implementação, dependência de fornecedores, dependência do usuário, preocupações de privacidade, complexidades de conformidade, problemas de gerenciamento de sessão e a complexidade de integrar MFA de forma eficaz.

Conclusão

O Single Sign-On (SSO) é crucial em ambientes digitais modernos para equilibrar a conveniência do usuário com segurança aprimorada. Compreender seus mecanismos, tipos e prós e contras ajuda as organizações a escolher a solução certa com base em suas necessidades.

A implementação eficaz do SSO pode melhorar significativamente a eficiência e a segurança dentro de uma organização, mas requer medidas de segurança contínuas e educação dos usuários para maximizar seus benefícios.

Junte-se à Newsletter da Apidog

Inscreva-se para ficar atualizado e receber os últimos pontos de vista a qualquer momento.