Você pode usar o espaço de trabalho Autenticação para configurar o SSO no SaltStack Config para funcionar com um sistema de autenticação compatível com o protocolo SAML (Security Assertion Markup Language).
O SSO (Single Sign-on) SAML é uma funcionalidade que muitas organizações configuram durante a implementação do SaltStack Config para fazer o seguinte:
- Reduzir o tempo que os usuários gastam entrando em serviços para a mesma identidade. Depois que os usuários entrarem em um dos serviços de uma instituição, eles serão automaticamente autenticados em qualquer outro serviço que use o SSO.
- Reduzir a fadiga de senhas. O usuário só precisa se lembrar de um conjunto de credenciais, em vez de várias.
Muitos serviços fornecem implementações do protocolo SSO SAML, incluindo ADFS, OneLogin, Okta, Shibboleth, SimpleSAMLPHP, Google Suite e muito mais.
Como o SSO SAML funciona com o SaltStack Config
Quando o SaltStack Config recebe uma declaração de identidade bem-sucedida de qualquer uma de suas integrações de autenticação com suporte, ele procura um login de usuário que corresponda ao valor da identidade afirmada. Se ele encontrar um login correspondente, ele fará login na conta de usuário associada.
Por exemplo, se o SaltStack Config receber uma declaração do ADFS para um usuário, e o valor do atributo de identidade configurado for “fred”, o SSE procurará um login com um nome de usuário “fred”. Se encontrado, o usuário associado será conectado. Caso contrário, o login não será bem-sucedido.
Terminologia de autenticação SAML
Acrônimo | Definição |
---|---|
SAML | Security Assertion Markup Language (SAML, pronunciado SAM-el) O SAML é um protocolo aberto (às vezes também chamado de padrão) para o intercâmbio de dados de autenticação e autorização entre as partes. Em particular, ele é usado para o intercâmbio de dados entre um provedor de identidade e um provedor de serviços. O SAML é um single sign-on (SSO) baseado em navegador. Todas as comunicações acontecem através do agente do usuário (o navegador). Não há comunicação entre um provedor de serviços (como o SaltStack Config) e um provedor de identidade (como o Azure AD). Essa separação permite que a autenticação ocorra entre domínios de segurança, nos quais um provedor de serviços pode estar em um único domínio (possivelmente público) e o provedor de identidade pode estar em um segmento de rede separado e seguro. |
IdP | Provedor de identidade O trabalho do IdP é identificar usuários com base em credenciais. Um provedor de identidade é um software que fornece um serviço que está em conformidade com a parte do provedor de identidade da Especificação SAML. Em geral, o IdP fornece a interface da tela de login e apresenta informações sobre o usuário autenticado aos provedores de serviços após uma autenticação bem-sucedida. Exemplos de provedores de identidade:
|
SP | Provedor de serviços ou terceira parte confiável Um SP (provedor de serviços) é geralmente um site que fornece informações, ferramentas, relatórios, etc. ao usuário final. Um provedor de serviços é um software que fornece um serviço que está em conformidade com a parte do provedor de serviços da Especificação SAML do SaltStack Config. Os produtos da Microsoft (como o Azure AD e o ADFS) chamam o SP de terceira parte confiável. Neste cenário, o SaltStack Config é o provedor de serviços. O SaltStack Config aceita declarações de autenticação do IdP e permite que os usuários façam login. Um SP não pode se autenticar em um IdP a menos que esteja incluído na lista de serviços aprovados. Configurar um SP de armazenamento com uma lista de IdPs aprovados faz parte do processo de configuração. |
SSO | Single sign-on O Single sign-on é um sistema de autenticação no qual um usuário não é obrigado a fazer login em um segundo serviço, pois as informações sobre o usuário autenticado são transmitidas a esse serviço. |
SLO | Single logout Quando um usuário faz logout de um serviço, alguns IdPs podem subsequentemente fazer com que ele se desconecte de todos os outros serviços nos quais se autenticou. No momento, o SaltStack Config não oferece suporte para SLO. |
RBAC | Controle de acesso baseado em função O controle de acesso baseado em função, também conhecido como segurança baseada em funções, é uma medida avançada de controle de acesso que restringe o acesso à rede com base na função de uma pessoa dentro de uma organização. As funções no RBAC referem-se aos níveis de acesso que os funcionários têm à rede. Os funcionários só podem acessar os recursos da rede ou realizar tarefas necessárias para o desempenho efetivo de suas funções de trabalho. Por exemplo, funcionários de nível inferior geralmente não têm acesso a dados confidenciais ou recursos de rede quando não precisam desses dados para cumprir suas responsabilidades. O SaltStack Config pode oferecer suporte ao RBAC com configurações SAML usando o espaço de trabalho Funções. No entanto, o usuário precisará primeiro fazer login no SaltStack Config para ser adicionado como usuário no banco de dados de usuários local e gerenciado pelo espaço de trabalho Funções. |
Pré-requisitos
Antes de configurar o SAML no SaltStack Config:
- Instale o provedor de identidade SAML (IdP) e verifique se ele está em execução.
- Assegure-se de que você tenha acesso às credenciais e aos dados de configuração fornecidos pelo IdP.
- Gere um certificado para adicionar o SaltStack Config como provedor de serviços aprovado com seu IdP. Seu provedor de serviços do SaltStack Config precisa de um par de chaves RSA. Você insere os valores de chave pública e privada em vários locais ao configurar o SAML para o SaltStack Config.
Observação: Esse par de chaves pode ser gerado em qualquer sistema. Ele não precisa ser criado no servidor SSE. Esses comandos são executados em qualquer sistema com utilitários openssl instalados. Outra alternativa é usar o Salt para gerar o certificado autoassinado. Para obter mais informações, consulte certificados autoassinados com o módulo Salt TLS.Para criar o certificado, gere uma chave privada, chamada cert.perm, usando openssl genrsa -out cert.pem 2048. Em seguida, crie a chave pública associada à chave privada usando o comando openssl req -new -x509 -key cert.pem -out cert.pub -days 1825 e seguindo os prompts. Grave esses pares de chaves públicas e privadas para facilitar o acesso ao trabalhar no restante do processo de configuração.
Definindo uma configuração SAML
- Clique em Administração > Autenticação no menu lateral.
- Clique em Criar.
- No menu Tipo de configuração, selecione SAML.
O espaço de trabalho exibe as configurações com suporte para o tipo de configuração SAML.
- Na guia Configurações, configure estes campos com as informações sobre a sua instalação do SaltStack Config:
- Nome
- URI Base
- ID da Entidade
- Nome da Empresa
- Nome de Exibição
- Site
- No campo Chave Privada, copie a chave privada que você gerou quando criou o certificado do provedor de serviços para SaltStack Config.
- No campo Chave Pública, copie a chave pública que você gerou quando criou o certificado do provedor de serviços para SaltStack Config.
- Preencha os campos com as informações de contato relevantes do seu:
- Contato técnico
- Contato de suporte
- Na seção Informações do Provedor, configure estes campos com os metadados sobre o seu provedor de identidade (IdP):
- ID da Entidade
- ID do Usuário
- Nome de Usuário
- URL
- Certificado x509
Observação: ADFS, Azure AD e Google SAML são exemplos de provedores de identidade comuns. Essas informações são fornecidas pelo seu IdP. - (Opcional) Marque a caixa Verificação de Instruções de Atributos para permitir que o SaltStack Config verifique as Instruções de Atributos SAML em busca de perfis de usuário. Essa opção está marcada por padrão.
- Clique em Salvar.
O que fazer em seguida
- Fornecer ao seu IdP a URL AssertionCustomerService (por exemplo:
https://<your-sse-hostname>/auth/complete/saml
) e o certificado público (x509) e a chave que você gerou para o SaltStack Config. - Crie mapeamentos de atributos para usuários, especificamente para a ID do usuário, o e-mail e o nome de usuário. Muitas organizações mapearão todos esses três valores para o endereço de e-mail do usuário como um único atributo, pois normalmente é exclusivo em uma organização. O processo para mapear esses atributos é específico para cada provedor de identidade SAML. Para obter assistência na criação desses mapeamentos de atributos, consulte a documentação do IdP ou entre em contato com o administrador.
- Adicione usuários ao SaltStack Config. Por padrão, novos usuários são registrados no SaltStack Config somente após o primeiro login bem-sucedido de um usuário com o SAML. Como alternativa, você pode adicionar usuários manualmente para pré-registrar esses usuários no SaltStack Config. Para adicionar manualmente usuários do espaço de trabalho Autenticação, selecione sua configuração SAML na lista de Configurações de Autenticação e clique na guia Usuário nas definições de configuração. Clique em Criar, insira as credenciais do usuário e selecione Funções.
Observação: Certifique-se de que ele seja preciso. Quando que um usuário é criado, seu nome de usuário não pode ser alterado ou renomeado. Depois de criado manualmente, um usuário só pode ser excluído antes do primeiro login. Após o login inicial do usuário, o botão Excluir ainda está disponível nesse espaço de trabalho, mas deixará de funcionar.
- Valide sua configuração SAML fazendo login como um usuário típico para garantir que o processo de login funcione conforme o esperado e que as funções e permissões estejam corretas. Solucione possíveis erros usando a ferramenta de rastreamento SAML, que está disponível para os navegadores Firefox e Chrome, e visualizando as mensagens de log de
/var/log/raas/raas
.Observação: Usuários não podem ser excluídos por meio da interface do usuário do SaltStack Config ou usando a API após o provisionamento inicial com uma autenticação SAML bem-sucedida.