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 os protocolos OAuth e OIDC.

O SSO (Single Sign) OAuth é uma funcionalidade que muitas organizações configuram durante a implementação do SaltStack Config com o objetivo de:

  • 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 OAuth com suporte para OIDC, incluindo OKTA, Google, Microsoft, GitLab, Zendesk, Apple, Keycloak, Salesforce e muitos outros.

Observação: Atualmente, o SaltStack Config apenas oferece suporta para autenticação OAuth e OIDC via OKTA e Google.
Observação: Se necessário, você pode usar mais de um sistema ao mesmo tempo para autenticar usuários no SaltStack Config. Por exemplo, você pode usar um IdP baseado em SAML ou um IdP baseado em LDAP ao mesmo tempo em que armazena algumas credenciais de usuário nativamente no servidor RaaS. No entanto, o SaltStack Config não permite configurar mais dois provedores SAML ou dois provedores LDAP ao mesmo tempo.
Tabela 1. Terminologia de autenticação OAuth e OIDC
Termo Definição
OAuth

O OAuth 2.0 é um protocolo aberto (também às vezes chamado de padrão) para delegação de acesso no qual o usuário pode realizar ações em um site após a sua identidade ter sido autenticada com um token de segurança. Ele costuma ser usado como uma maneira de os usuários darem acesso para os aplicativos às suas informações em outros aplicativos de terceiros sem lhes fornecer suas credenciais de acesso (senhas).

OAuth é um single sign-on (SSO) baseado em navegador. O OAuth permite que tokens de acesso sejam emitidos para clientes de terceiros por um servidor de autorização, com a aprovação do proprietário do recurso. Em seguida, o terceiro usa o token de acesso para acessar os recursos protegidos que são hospedados pelo servidor de recursos.

OIDC (Open ID Connect)

O Open ID Connect (OIDC) é uma camada de identidade simples sobre o protocolo OAuth 2.0. O OIDC permite que os clientes verifiquem as identidades do usuário com base na autenticação realizada por um servidor de autorização. Ele também pode obter informações de perfil básicas sobre o usuário entre aplicativos.

Proprietário de recursos O proprietário de recursos é o usuário que autoriza um aplicativo a acessar sua conta. O acesso do aplicativo à conta do usuário está limitado ao escopo da autorização concedida, como acesso de leitura ou gravação.
Cliente O cliente é o aplicativo de terceiros que precisa de acesso à conta do usuário, o que, neste caso, é o SaltStack Config.
Servidor de autorização O servidor de autorização hospeda as contas de usuário protegidas e suas credenciais. Ele verifica a identidade do usuário e, em seguida, emite tokens de acesso ao cliente. Ele é frequentemente acessado por meio da API do serviço.
Servidor de recursos

O servidor de recursos é o servidor de API usado para acessar as informações do usuário. Ele lida com solicitações autenticadas depois que o cliente obteve um token de acesso. Implantações menores normalmente têm apenas um servidor de recursos e muitas vezes são criadas como parte da mesma base de código ou da mesma implantação que o servidor de autorização.

Implantações em grande escala podem ter mais de um servidor de recursos. Cada um deles é distintamente separado, mas todos compartilham o mesmo servidor de autorização.

Para o OIDC, o usuário primeiramente precisará fazer login no SaltStack Config para ser adicionado como usuário no banco de dados de usuários local. Depois que os usuários fizerem login inicialmente, suas funções e permissões serão gerenciadas da mesma forma que você gerenciaria usuários cujas credenciais estão armazenadas localmente SaltStack Config no servidor RaaS. Após o login inicial do usuário, você poderá usar o espaço de trabalho Funções para atribuir funções e permissões apropriadas a esse usuário.

Como o OAuth e o OIDC funcionam com o SaltStack Config

Quando você tenta fazer login no SaltStack Config usando uma identidade OAuth:

  1. O SaltStack Config solicita autorização para acessar recursos de serviços desse usuário.
  2. Se o usuário autorizar a solicitação, o SaltStack Config receberá uma concessão de autorização.
  3. O SaltStack Config solicita um token de acesso do servidor de autorização (API), apresentando a autenticação de sua própria identidade.
  4. Se a identidade do aplicativo for autenticada e a concessão de autorização for válida, o servidor de autorização (API) emitirá um token de acesso ao SaltStack Config.
  5. O SaltStack Config solicita o recurso do servidor de recursos (API) e apresenta o token de acesso para autenticação.
  6. Se o token de acesso for válido, o servidor de recursos (API) servirá o recurso ao aplicativo, e o usuário terá permissão para fazer login no SaltStack Config.

Pré-requisitos

Antes de configurar o OAuth e o OIDC no SaltStack Config, certifique-se de que você tenha o acesso necessário ao seu serviço OAuth 2.0 para a sua organização (OKTA ou Google) e que esteja relativamente familiarizado com o processo de registro de aplicativos.

No site do seu serviço OAuth, insira informações básicas sobre o SaltStack Config, como nome, site, etc. Depois de registrar o aplicativo, você receberá um segredo de cliente que precisará fornecer ao SaltStack Config.

Uma das coisas mais importantes ao criar o aplicativo é registrar uma ou mais URLs de redirecionamento que ele usará. As URLs de redirecionamento são onde o serviço OAuth 2.0 retornará o usuário depois que o aplicativo for autorizado.

Configurar um provedor de identidade

Para configurar o SSO usando o serviço OAuth ou OIDC preferencial da sua organização:

  1. Clique em Administração > Autenticação no menu lateral.
  2. Clique em Criar.
  3. No menu Tipo de configuração, selecione OIDC.
  4. No campo Nome, atribua um nome descritivo a essa configuração.
  5. No menu Provedor OIDC, selecione OKTA ou Google.
  6. Preencha os seguintes campos necessários com as informações sobre a sua instalação do SaltStack Config:
    Campo Descrição
    URI Base A URL base usada pela sua organização no SaltStack Config, também conhecida como endereço do servidor host. Essa URL é formatada como um FQDN ou endereço IP, como https://example.com.
    URL da API A URL da API fornecida pelo seu provedor de identidade. Esse campo só será exibido se seu o provedor de identidade for o OKTA.
    Key A chave fornecida pelo seu provedor de identidade. No OKTA, a chave é chamada de ID do cliente.
    Segredo O segredo fornecido pelo seu provedor de identidade. No OKTA, a chave é chamada de Segredo do Cliente.
  7. Clique em Salvar.

A configuração OIDC para o SaltStack Config está agora completa.