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 é SAML e como funciona?

O que é SAML e como funciona?

SAML (Linguagem de Marcação de Aserções de Segurança) permite acesso seguro e contínuo a múltiplas aplicações, trocando dados de autenticação entre um Provedor de Identidade (IdP) e um Provedor de Serviço (SP).

SAML (Security Assertion Markup Language) permite acesso seguro e contínuo a várias aplicações por meio da troca de dados de autenticação entre um Provedor de Identidade (IdP) e um Provedor de Serviço (SP).

Isso permite que os usuários façam login uma vez e acessem vários serviços sem a necessidade de reentrar credenciais, melhorando a segurança e a experiência do usuário em ambientes corporativos. Neste post, exploraremos como o SAML funciona e seus benefícios.

O que é o Security Assertion Markup Language (SAML)?

A autenticação SAML (Security Assertion Markup Language) permite acesso seguro a serviços por meio da troca de dados de autenticação e autorização entre um Provedor de Identidade (IdP) e um Provedor de Serviço (SP). Este protocolo é comumente usado em ambientes corporativos para fornecer aos usuários um acesso contínuo a várias aplicações usando um único conjunto de credenciais.

Componentes SAML

Aqui estão os principais componentes e conceitos do SAML:

  • Provedor de Identidade (IdP): Esta é a entidade que autentica um usuário e fornece uma afirmação ao provedor de serviço. A afirmação contém informações sobre a identidade e atributos do usuário.
  • Provedor de Serviço (SP): Esta é a entidade que recebe a afirmação SAML e toma decisões de controle de acesso com base nela. O provedor de serviço confia no provedor de identidade para autenticar usuários.
  • Afirmação SAML: Este é o documento XML que o provedor de identidade envia ao provedor de serviço. Ele contém informações de autenticação, informações de atributos e decisões de autorização.
  • Single Sign-On (SSO): O SAML é comumente usado para implementar o SSO, permitindo que os usuários autentiquem uma vez com um provedor de identidade e ganhem acesso a vários provedores de serviço sem re-autenticar.
  • Bindings: O SAML suporta múltiplos bindings para transporte de mensagem, incluindo HTTP Redirect, HTTP POST, e SOAP.
  • Protocolo Baseado em XML: O SAML usa XML para codificar as mensagens que são trocadas entre o provedor de identidade e o provedor de serviço.
💡
O Apidog Enterprise oferece configuração de SSO em nível organizacional usando provedores de identidade compatíveis com SAML 2.0, como Microsoft Entra ID. Este recurso simplifica a autenticação para usuários corporativos.
button

SAML 2.0

Com base no conceito de SAML, vamos nos aprofundar no SAML 2.0, que é a versão mais amplamente utilizada do padrão. O SAML 2.0 introduziu várias melhorias e recursos em relação ao seu antecessor, SAML 1.1:

  1. Melhorias na Single Sign-On (SSO): O SAML 2.0 melhorou as capacidades de SSO, tornando mais fácil de implementar e mais robusto em termos de segurança e experiência do usuário.
  2. Federação de Identidade: Permite uma federação de identidade mais contínua entre diferentes domínios, tornando possível que usuários acessem recursos entre diferentes organizações com um único processo de autenticação.
  3. Suporte para Múltiplos Contextos de Autenticação: O SAML 2.0 pode gerenciar diferentes níveis de garantia de autenticação, permitindo o uso de métodos de autenticação mais fortes quando necessário.
  4. Troca de Metadados: Esta versão suporta a troca de metadados entre provedores de identidade e provedores de serviço, o que ajuda a automatizar a configuração e o estabelecimento de relacionamentos de confiança.
  5. Melhorias nos Bindings de Protocolo: O SAML 2.0 inclui melhor suporte para vários protocolos de transporte, como HTTP Redirect, HTTP POST, e Artifact Binding, aumentando flexibilidade e compatibilidade.
  6. Consulta de Atributos e Consentimento: O SAML 2.0 permite consultar atributos do usuário e gerenciar o consentimento do usuário de forma mais eficiente, melhorando o controle do usuário sobre dados pessoais.

Como Funciona a Autenticação SAML?

Processo de Autenticação

A autenticação SAML começa quando um usuário inicia o processo de login inserindo suas credenciais no IdP. O IdP verifica a identidade do usuário e cria uma afirmação SAML, que contém atributos do usuário e informações de autenticação.

Essa afirmação inclui detalhes como a identidade do usuário, hora da autenticação e as condições sob as quais a afirmação é válida. Para garantir a integridade e autenticidade das informações, a afirmação é assinada digitalmente pelo IdP.

Acesso ao Serviço

Uma vez autenticado, o usuário tenta acessar um serviço fornecido pelo SP. O SP, precisando verificar a identidade do usuário, redireciona o usuário para o IdP com uma solicitação de autenticação. O IdP responde enviando a afirmação SAML ao SP, normalmente através do navegador do usuário usando HTTP POST ou HTTP Redirect.

O SP então valida a afirmação SAML verificando a assinatura digital e as condições da afirmação. Se a afirmação for válida, o SP concede ao usuário acesso ao serviço solicitado. Este processo é transparente para o usuário, que precisa apenas fazer login uma vez para obter acesso a vários serviços.

Cenário Exemplo

Considere um cenário corporativo típico. No início da jornada de trabalho, John faz login no sistema de Gestão de Identidade e Acesso (IAM) de sua empresa, que serve como o IdP, usando suas credenciais corporativas.

O IdP verifica as credenciais de John e cria uma afirmação SAML, que inclui informações como o nome de usuário de John, o timestamp de autenticação e atributos de acesso baseados em função. John então tenta acessar o serviço de e-mail hospedado da empresa, um SP.

O serviço de e-mail redireciona John para o IdP com uma solicitação de autenticação. O IdP envia a afirmação SAML de volta ao serviço de e-mail através do navegador de John. O serviço de e-mail valida a afirmação verificando a assinatura digital e garantindo que todas as condições sejam atendidas, como a afirmação ser destinada ao serviço de e-mail e não estar expirada.

Uma vez validada, John recebe acesso ao serviço de e-mail sem precisar reentrar suas credenciais, permitindo que ele use o serviço de maneira contínua.

Benefícios da Autenticação SAML

Ao integrar a autenticação SAML, as organizações podem simplificar a gestão de acesso do usuário, melhorar a segurança ao reduzir o risco de fadiga e reutilização de senhas, e fornecer aos usuários acesso contínuo a várias aplicações. Essa integração melhora, em última análise, tanto a eficiência operacional quanto a postura de segurança.

O que é uma Afirmação SAML?

Uma Afirmação SAML é um documento XML emitido por um Provedor de Identidade SAML (IdP) e consumido por um Provedor de Serviço (SP). Ele contém declarações sobre um usuário que ambas as partes podem confiar.

O principal objetivo da Afirmação SAML é transmitir informações de segurança entre o IdP e o SP de maneira segura e padronizada. Aqui estão os principais componentes e tipos de declarações encontrados em uma Afirmação SAML:

Componentes Chave

  • Emissor: A entidade que emitiu a afirmação, tipicamente o IdP.
  • Assunto: O usuário ou entidade sobre o qual a afirmação se refere. Isso geralmente inclui um identificador único para o usuário.
  • Condições: Restrições e regras sob as quais a afirmação é válida, incluindo restrições de tempo e restrições de público.
  • Declaração de Autenticação: Informações sobre a autenticação do usuário no IdP, como o método de autenticação e o timestamp.
  • Declaração de Atributo: Uma coleção de atributos sobre o usuário, como nome, endereço de e-mail, funções, etc.
  • Declaração de Decisão de Autorização: Informações sobre os direitos de acesso do usuário a recursos específicos.

Tipos de Declarações

  • Declaração de Autenticação: Descreve o ato de autenticação no IdP, incluindo o método utilizado e o momento da autenticação.
  • Declaração de Atributo: Contém atributos associados ao sujeito. Por exemplo, o endereço de e-mail de um usuário, funções ou outras informações relevantes.
  • Declaração de Decisão de Autorização: Fornece informações sobre se um usuário está autorizado a acessar um recurso específico. Isso inclui a decisão (permitir ou negar) e o recurso em questão.

Como Funciona a Afirmação SAML

  1. Usuário Solicita Acesso: O usuário tenta acessar um recurso no SP.
  2. SP Solicita Autenticação: O SP redireciona o usuário para o IdP para autenticação.
  3. Usuário Se Autentica: O usuário fornece credenciais ao IdP.
  4. IdP Emite Afirmação: Após a autenticação bem-sucedida, o IdP gera uma Afirmação SAML e a envia de volta ao SP, tipicamente através do navegador do usuário.
  5. SP Valida Afirmação: O SP valida a afirmação, verificando sua integridade, a validade do emissor e as condições.
  6. Acesso Concedido: Se a afirmação for válida, o usuário recebe acesso ao recurso.

Considerações de Segurança

  • Criptografia: As Afirmações SAML podem ser criptografadas para garantir a confidencialidade.
  • Assinatura: As afirmações são frequentemente assinadas para garantir sua integridade e autenticidade.
  • Expiração: As afirmações incluem condições, como limites de tempo, para mitigar o risco de ataques de repetição.

Junte-se à Newsletter da Apidog

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