Skip to content
Latchkey

O que é SAML? Single sign-on baseado em XML

O SAML é um padrão baseado em XML que permite a um provedor de identidade informar a um aplicativo que um usuário está autenticado, habilitando o single sign-on.

O SAML, a Security Assertion Markup Language, é um dos padrões originais para single sign-on corporativo. Ele define como um provedor de identidade emite uma asserção XML assinada que avaliza um usuário e como um aplicativo a consome. Para equipes de engenharia, o SAML costuma ser o que controla o acesso humano a hosts de código-fonte, consoles de nuvem e dashboards de CI/CD.

Como funciona um fluxo SAML

Um usuário tenta acessar um aplicativo (o provedor de serviço). O aplicativo redireciona para o provedor de identidade, que autentica o usuário e retorna uma asserção SAML assinada. O aplicativo valida a assinatura e concede acesso. O usuário nunca fornece uma senha ao aplicativo.

As peças principais

  • Provedor de identidade (IdP): autentica usuários e emite asserções.
  • Provedor de serviço (SP): o aplicativo que o usuário deseja acessar.
  • Asserção: uma declaração XML assinada sobre a identidade e os atributos do usuário.

SAML versus OpenID Connect

O SAML usa XML e está bem consolidado em softwares corporativos. O OpenID Connect usa JSON e JWTs e se encaixa mais naturalmente em aplicativos web e mobile modernos. Muitas organizações rodam ambos, escolhendo por aplicativo com base no que cada um suporta.

SAML e acesso a CI/CD

O SAML normalmente governa o acesso interativo e humano a plataformas, incluindo ferramentas de CI/CD. Os próprios pipelines não usam SAML para se autenticar aos serviços; eles usam tokens e OIDC. O SAML trata de pessoas fazendo login, não de jobs chamando APIs.

Considerações de segurança

A segurança do SAML repousa na validação de assinaturas e na configuração correta. Assinaturas validadas incorretamente, asserções reproduzidas e mapeamentos de atributos amplos demais são armadilhas clássicas. Como o IdP é a âncora de confiança, ele deve ser fortemente protegido.

Onde ele se encaixa

Para uma equipe que usa a Latchkey, o SAML governaria quem pode fazer login no dashboard por meio do seu IdP, enquanto a autenticação de runner e pipeline depende de credenciais com escopo e de curta duração, em vez de asserções SAML.

Principais conclusões

  • O SAML usa asserções XML assinadas para habilitar single sign-on para acesso humano.
  • Ele emparelha um provedor de identidade com provedores de serviço que confiam em suas assinaturas.
  • Ele governa o login interativo, não a autenticação de pipeline máquina a máquina.

Guias relacionados