Um gateway VPN que se autentica por um provedor de identidade prova uma coisa: o provedor garantiu um usuário perante o gateway. Ele não entrega a esse usuário uma credencial para o wiki da intranet, o painel de monitoramento ou o servidor de build. Esses serviços autenticam as pessoas pela própria federação e aplicam a própria autorização, e o túnel só decide quais pacotes podem alcançá-los.

Três sessões, três decisões separadas

Mantenha os estados separados, porque cada um expira no seu próprio cronograma. A sessão VPN é a aceitação de uma identidade pelo gateway mais o acesso de rede que ele concedeu. A sessão do navegador no provedor de identidade é o que o navegador ainda mantém para esse provedor e pode reutilizar conforme a política dele. A sessão do aplicativo pertence a um serviço que validou uma resposta endereçada a ele.

Confundir esses estados produz a pergunta errada, normalmente formulada como por que o túnel não autentica o usuário em todo lugar. Reformule-a: qual aplicativo não tem entrada de federação, qual recusa o usuário e a qual falta uma rota. Um único aviso de login que abre o aplicativo da intranet ainda pode voltar ao provedor, porque o segundo redirecionamento é uma nova solicitação de autorização para outro público.

Conecte o gateway como aplicativo próprio

Registre a VPN como aplicativo aprovado no provedor, com identificador, URI de redirecionamento e atribuição de usuários próprios. Depois decida quais autorizações de rede esse login concede, já que é política de VPN e não recurso do provedor. Usuários que devem alcançar apenas a sub-rede de monitoramento recebem outra política de gateway, não outra senha.

A resposta de autenticação do túnel não é uma credencial reutilizável. Tokens de ID OIDC carregam uma declaração de público que nomeia o cliente para o qual foram emitidos, e as asserções portadoras SAML restringem o público ao provedor de serviço que as recebe. Um segundo serviço que aceita a resposta do primeiro está mal configurado, e copiar um token para outro aplicativo não é integração.

Registre cada aplicativo interno e depois defina o contexto do navegador

Cada serviço precisa dos valores SAML ou OIDC suportados: emissor, identificador do cliente, URL de retorno de chamada ou de consumidor de asserção, declarações exigidas e atribuição. A acessibilidade vem por cima, porque as verificações de identidade nunca fornecem uma rota ou uma resposta DNS.

  1. Crie a entrada do aplicativo e confirme que o ID de entidade ou de cliente corresponde ao que o aplicativo envia.
  2. Registre a URL exata de retorno de chamada, incluindo esquema e porta; um erro pequeno falha depois que o usuário se autentica.
  3. Atribua os usuários ou grupos e depois confirme que as declarações exigidas são emitidas.
  4. Permita os endpoints do provedor de identidade além do aplicativo privado, ou o redirecionamento não poderá concluir.

O contexto do navegador decide se uma sessão existente do provedor é reutilizada. Um cliente nativo que abre o navegador do sistema pode compartilhar esse estado, enquanto uma visão incorporada com o próprio pote de cookies geralmente não pode. Navegador novo, janelas privadas e um segundo perfil começam do zero, o que é esperado e não uma configuração de SSO quebrada.

Execute o fluxo e leia onde ele para

Reproduza com o painel de rede do navegador e observe a cadeia de redirecionamentos. Um percurso útil segue um salto por vez: do gateway ao provedor, do provedor de volta ao aplicativo com um código ou asserção, do aplicativo ao endpoint de tokens do provedor, sessão do aplicativo emitida. O salto em que a cadeia para nomeia o componente a corrigir.

Duas verificações de linha de comando resolvem as dúvidas habituais, e ambas são seguras de executar a partir de um host de administração:

curl -s https://idp.example.com/.well-known/openid-configuration | jq -r '.authorization_endpoint, .token_endpoint'
curl -sI https://app.example.net/ | grep -iE '^(HTTP/|location:)'

Quando os metadados listam endpoints que você nunca registrou, o aplicativo aponta para outro locatário ou emissor. Quando a primeira requisição ao aplicativo responde 302 para um host inesperado, a configuração de federação do aplicativo é o lugar a examinar, não o perfil de VPN.

Corrija os avisos descobrindo quem os pediu

Um segundo aviso de senha não é automaticamente um defeito. O aplicativo pode exigir um nível de garantia mais alto, ou o provedor pode impor uma idade máxima de sessão e um novo desafio. Remover esses requisitos para deixar o fluxo mais silencioso enfraquece um controle deliberado, então estabeleça qual componente pediu antes de mudar a política.

Depois decida o que melhorar. Se o aviso vem do aplicativo, corrija a entrada de federação dele. Se vem do provedor por política, documente o requisito. Se o aplicativo está inacessível após um login bem-sucedido, o roteamento do túnel é o suspeito, porque identidade e entrega de pacotes falham em lugares diferentes e parecem semelhantes do assento do usuário.

Artigos relacionados