O que é SAML e como funciona?

Security Assertion Markup Language (SAML) é um padrão aberto que permite aos provedores de identidade (IdP) passar credenciais de autorização aos provedores de serviços (SP). O que esse jargão significa é que você pode usar um conjunto de credenciais para entrar em vários sites diferentes. É muito mais simples gerenciar um login por usuário do que gerenciar logins separados para e-mail, software de gerenciamento de relacionamento com clientes (CRM), Active Directory, etc.

transações deSAML usam linguagem de marcação extensível (XML) para comunicações padronizadas entre o provedor de identidade e os provedores de serviços. SAML é o link entre a autenticação da identidade de um usuário e a autorização para usar um serviço.

Get the Free Pen Testing Active Directory Environments EBook

“This really opened my eyes to AD security in a way defensive work never did”.

O Consórcio OASIS aprovou o SAML 2.0 em 2005. O padrão mudou significativamente de 1.1, de tal forma que as versões são incompatíveis. A adoção do SAML permite às lojas de TI usar soluções de software como serviço (SaaS) enquanto mantém um sistema de gerenciamento de identidade federado seguro.

SAML permite Single-Sign On (SSO), um termo que significa que os usuários podem fazer login uma vez, e essas mesmas credenciais podem ser reutilizadas para fazer login em outros provedores de serviços.

Para que é usado o SAML?

SAML simplifica os processos federados de autenticação e autorização para usuários, provedores de identidade e provedores de serviços. SAML fornece uma solução para permitir que o seu provedor de identidade e provedores de serviços existam separadamente um do outro, o que centraliza a gestão de usuários e fornece acesso a soluções SaaS.

SAML implementa um método seguro de passar autenticações de usuários e autorizações entre o provedor de identidade e os provedores de serviços. Quando um usuário faz login em uma aplicação habilitada para SAML, o provedor de serviços solicita autorização do provedor de identidade apropriado. O provedor de identidade autentica as credenciais do usuário e então retorna a autorização para o usuário ao provedor de serviços, e o usuário agora é capaz de usar a aplicação.

a autenticaçãoSAML é o processo de verificação da identidade e credenciais do usuário (senha, autenticação de dois fatores, etc.). A autorização SAML diz ao provedor de serviços que acesso conceder ao usuário autenticado.

O que é um provedor SAML?

Dois tipos de provedores SAMLbr>Um provedor SAML é um sistema que ajuda o usuário a acessar um serviço que ele precisa. Existem dois tipos principais de provedores SAML, provedor de serviços e provedor de identidade.

Um provedor de serviços precisa da autenticação do provedor de identidade para conceder autorização ao usuário.

Um provedor de identidade executa a autenticação de que o usuário final é quem diz ser e envia esses dados para o provedor de serviços junto com os direitos de acesso do usuário ao serviço.

Microsoft Active Directory ou Azure são provedores de identidade comuns. Salesforce e outras soluções CRM são geralmente provedores de serviços, na medida em que dependem de um provedor de identidade para autenticação do usuário.

O que é uma Asserção SAML?

Uma Asserção SAML é o documento XML que o provedor de identidade envia ao provedor de serviços que contém a autorização do usuário. Existem três tipos diferentes de Asserções SAML – autenticação, atributo e decisão de autorização.

  • As asserções de autenticação provam a identificação do usuário e fornecem o tempo que o usuário efetuou o login e qual método de autenticação usou (ou seja Kerberos, fator 2, etc.)
  • A asserção de atribuição passa os atributos SAML para o provedor de serviços – Atributos SAML são pedaços de dados específicos que fornecem informações sobre o usuário.
  • Uma afirmação de decisão de autorização diz se o usuário está autorizado a usar o serviço ou se o provedor de identificação negou sua solicitação devido a falha de senha ou falta de direitos ao serviço.

Como funciona o SAML?

SAML funciona passando informações sobre usuários, logins e atributos entre o provedor de identidade e os provedores de serviços. Cada usuário se loga uma vez ao Single Sign On com o provedor de identificação, e então o provedor de identificação pode passar atributos SAML para o provedor de serviços quando o usuário tentar acessar esses serviços. O provedor de serviços solicita a autorização e autenticação do provedor de identificação. Como ambos os sistemas falam a mesma língua – SAML – o usuário só precisa fazer o login uma vez.

Cada provedor de identidade e provedor de serviços precisa concordar com a configuração para SAML. Ambos os extremos precisam ter a configuração exata para que a autenticação SAML funcione.

passos de exemplo de SAML

Exemplo de SAML

  1. Frodo (usuário) entra no SSO logo pela manhã.
  2. Frodo então tenta abrir a página web para o seu CRM.
  3. O CRM – o provedor de serviços – verifica as credenciais de Frodo com o provedor de identidade.
  4. O provedor de identidade envia mensagens de autorização e autenticação de volta ao provedor de serviços, o que permite que Frodo faça login no CRM.
  5. Frodo pode usar o CRM e fazer o trabalho.
    “Preciso de 8 voluntários para um projeto difícil…”

SAML vs. OAuth

OAuth é um padrão um pouco mais novo que foi desenvolvido em conjunto pelo Google e Twitter para permitir logins simplificados na internet. O OAuth usa uma metodologia similar ao SAML para compartilhar informações de login. SAML fornece mais controle às empresas para manter seus logins SSO mais seguros, enquanto OAuth é melhor no celular e usa JSON.

Facebook e Google são dois provedores OAuth que você pode usar para fazer login em outros sites da internet.

TutoriaisSAML

Poucos recursos para ajudar a pesquisar exatamente como implementar SAML:

  • Configure SAML for Salesforce
  • Configure OKTA como SAML IDP
  • OneLogin tem exemplos em 5 linguagens de programação diferentes

SAML e SSO são importantes para qualquer estratégia de segurança cibernética empresarial. As melhores práticas de gerenciamento de identidade exigem que as contas de usuários sejam limitadas apenas aos recursos que o usuário precisa para fazer seu trabalho e que sejam auditadas e gerenciadas de forma centralizada. Ao usar uma solução SSO, você pode desativar contas de um sistema e remover o acesso a todos os recursos disponíveis de uma só vez, o que protege seus dados contra roubo.