Autenticação OIDC, erros de tempo limite, Private Service Connect e acesso a serviços particulares.
Se a instância do Looker (Google Cloud Core) não estiver se conectando a serviços externos, provedores de identidade ou back-ends de banco de dados, use este guia para diagnosticar e resolver problemas comuns de rede. É possível resolver falhas de autenticação do OpenID Connect (OIDC), tempos limite de 504 e HttpClient:ConnectTimeoutError e erros de propagação de rotas para o Private Service Connect (PSC) e o acesso a serviços particulares.
Falha na autenticação do OpenID Connect com saída controlada
Quando você configura a autenticação do OpenID Connect em uma instância do Looker (Google Cloud Core) configurada com o Private Service Connect e com a saída controlada ativada, a autenticação pode falhar.
Sintomas
Se a autenticação falhar, você poderá ter um dos seguintes sintomas:
- O endpoint
/openidconnectdo Looker fica suspenso por aproximadamente 60 segundos no navegador antes de mostrar um erro ou atingir o tempo limite com um erro504 Upstream Request Timeoutou504 Gateway Timeout. Seu provedor de identidade mostra uma mensagem de erro indicando que o URI de redirecionamento não corresponde, como:
AADSTS50011: The redirect URI specified in the request does not match the redirect URIs configured for the applicationEssa mensagem de erro é enganosa porque o URI de redirecionamento configurado no provedor de identidade pode estar correto. A falha real ocorre quando o Looker (Google Cloud Core) não consegue entrar em contato com o endpoint de token do provedor de identidade durante a troca de back-end.
Causa
O fluxo de trabalho de provisionamento automatizado para saída controlada às vezes não cria a rota de rede do Secure Web Proxy (looker-swp-route) necessária no projeto de locatário do Looker (Google Cloud Core).
Quando essa rota está ausente, as solicitações de back-end do Looker (Google Cloud Core) para o endpoint de token do provedor de identidade atingem o tempo limite porque a instância não consegue rotear o tráfego de saída para a Internet pública pelo Secure Web Proxy.
Resolução
Para resolver esse problema, siga estas etapas para redefinir a configuração de saída controlada e forçar o sistema a recriar a rota de rede ausente:
No console do Google Cloud , acesse a página Looker:
Clique no nome da instância que você quer atualizar.
Clique em Editar.
Abra a seção Conexões e acesse Configurar conexões de saída.
Registre todos os nomes de domínio totalmente qualificados (FQDNs) listados na seção FQDN global, como os endpoints do seu provedor de identidade.
Exclua todos os FQDNs listados na seção FQDN global.
Desmarque a caixa de seleção Ativar o Looker para se conectar a serviços externos e desative a saída controlada.
Clique em Salvar.
Aguarde a conclusão da atualização da instância e a remoção das mudanças de configuração.
Clique em Editar novamente.
Expanda a seção Conexões e marque a caixa de seleção Ativar o Looker para se conectar a serviços externos.
Na seção FQDN global, adicione novamente os FQDNs necessários para seu provedor de identidade e outros serviços externos.
Clique em Salvar.
A redefinição da saída controlada aciona o processo de provisionamento automatizado para
recriar a rota de rede looker-swp-route ausente. Depois que a rota é
criada, as solicitações de back-end de saída para o provedor de identidade podem ser concluídas.
Erro 504: tempo limite da solicitação upstream
Ao autenticar com um serviço ou provedor de identidade externo em uma instância do Looker (Google Cloud Core) com a saída controlada ativada, a solicitação pode falhar com um erro de tempo limite.
Sintomas
Você recebe um erro 504 Upstream Request Timeout no navegador depois de
voltar da página de login de um provedor de identidade ou ao se conectar a um
serviço externo.
Causa
Um erro 504 Upstream Request Timeout indica que a instância do Looker (Google Cloud Core) não consegue acessar o domínio externo por saída controlada. Ao contrário dos erros de rota ausente, um erro 504 geralmente significa que o caminho de rede existe, mas um domínio necessário está ausente da lista de permissões FQDN global e está sendo bloqueado, ou a solicitação está atingindo o tempo limite no gateway.
Resolução
Para resolver o problema, siga estas etapas:
- Verificar os FQDNs necessários: no console do Google Cloud , verifique se todos os domínios exigidos pelo serviço externo ou provedor de identidade foram adicionados à lista FQDN global. Os fluxos de autenticação do OIDC geralmente exigem vários endpoints (como autorização, token e informações do usuário) que podem usar domínios diferentes.
- Capture um rastreamento de rede: se o erro persistir, capture um rastreamento de rede do navegador (arquivo HAR) ao reproduzir o problema. Pesquise o rastreamento de códigos de status
504ou solicitações HTTP com falha para identificar domínios que foram contatados durante o fluxo, mas não estão incluídos na sua lista de FQDNs globais. - Redefinir configuração: se os FQDNs necessários estiverem presentes, mas as solicitações continuarem a atingir o tempo limite, siga as etapas na Resolução para falhas de autenticação do OpenID Connect e redefina a configuração de saída controlada.
HttpClient:ConnectTimeoutError execution expired
Ao testar uma conexão OpenID Connect ou outras conexões de rede externas no painel de administração do Looker, o teste de conexão pode falhar com um erro de tempo limite.
Sintomas
Ao executar um teste de conexão no painel de administração do Looker (como na página Autenticação do OpenID Connect), o Looker retorna o seguinte erro:
HttpClient:ConnectTimeoutError execution expired
Causa
Esse erro indica que a instância do Looker (Google Cloud Core) não tem o caminho de rede necessário para se comunicar com o serviço externo ou o provedor de identidade. Esse problema geralmente ocorre quando uma das seguintes condições é atendida:
- Propagação de rota ausente: o Cloud Router está usando as configurações padrão e não está propagando rotas de rede VPC (como rotas divulgadas personalizadas) para a instância do Looker (Google Cloud Core).
- NEG da Internet ausente: um grupo de endpoints de rede (NEG) da Internet não está configurado na sua rede VPC para rotear o tráfego para o serviço externo.
Resolução
Para resolver o problema, siga estas etapas:
- Configure a propagação de rotas do Cloud Router: verifique se o Cloud Router está configurado para propagar as rotas necessárias da rede VPC para sua instância do Looker (Google Cloud Core) configurando rotas anunciadas personalizadas.
- Configure um NEG da Internet: configure um NEG da Internet na sua rede VPC para permitir que a instância do Looker (Google Cloud Core) roteie o tráfego de saída para o provedor ou serviço de identidade externo.
- Verifique o acesso a serviços particulares: para instâncias que usam o acesso a serviços particulares, verifique se a rede VPC está corretamente em peering com os serviços do Google. Para mais informações, consulte Acessar serviços externos usando o acesso a serviços particulares.
Problemas de conexão do Private Service Connect na direção sul
Para instâncias do Looker (Google Cloud Core) que usam o Private Service Connect para conexões de saída com back-ends de banco de dados ou serviços publicados, podem ocorrer erros de conexão mesmo quando o status do endpoint é Accepted.
Problemas comuns incluem:
- Erros de resolução de nome do host: se o Looker (Google Cloud Core) mostrar um erro
Unknown hostao testar uma conexão, verifique se o nome do host configurado corresponde ao registro DNS na sua rede particular e se o balanceador de carga de back-end está íntegro. - Tempos limite de conexão: se as conexões expirarem, verifique as regras de firewall da VPC para verificar se o tráfego de entrada é permitido da sub-rede NAT do Private Service Connect para os back-ends do balanceador de carga.
- Status pendente ou fechado: se o status do anexo de serviço for
PendingouClosed, verifique se o projeto consumidor está na lista de permissões do anexo de serviço e se as verificações de integridade TCP obrigatórias estão configuradas.
Para fluxos de trabalho de diagnóstico detalhados e uma árvore de decisão, consulte Solução de problemas de conexões do Private Service Connect no sentido sul.
Problemas de conectividade e rota de acesso a serviços particulares
Para instâncias do Looker (Google Cloud Core) que usam o acesso a serviços particulares, a comunicação de saída com serviços externos exige a propagação adequada de rotas e infraestrutura de rede:
- Propagação de rotas: verifique se o Cloud Router está configurado para propagar rotas de rede VPC para a instância do Looker (Google Cloud Core), como rotas divulgadas personalizadas.
- Grupos de endpoints de rede da Internet: se a instância precisar alcançar endpoints externos pelo acesso a serviços particulares, verifique se um grupo de endpoints de rede da Internet (NEG) está configurado na sua rede VPC.
Se essas rotas ou grupos de endpoints estiverem faltando, os testes de conexão com endpoints externos vão falhar com um erro HttpClient:ConnectTimeoutError execution expired.
Para mais informações, consulte Acessar serviços externos usando o acesso a serviços particulares.
Ferramentas e registros de diagnóstico
Use as ferramentas e os registros a seguir para diagnosticar problemas de rede:
- Cloud Logging: veja os registros no nível da instância no Cloud Logging para identificar falhas de conexão e eventos do sistema. Para mais informações, consulte Visualizar registros de instância.
- Atividade do sistema do Looker: se você puder fazer login como administrador, analise o painel Atividade do usuário na atividade do sistema. Esse painel mostra falhas de login recentes, o método de autenticação usado e mensagens de erro. Para mais informações, consulte Painel de atividade do usuário.
- Registros de fluxo de VPC: marque Registros de fluxo de VPC para determinar se o tráfego de rede do Looker (Google Cloud Core) chega à sub-rede de destino ou é bloqueado por regras de firewall.
- Cloud Customer Care: se você concluiu as etapas de solução de problemas e o problema persiste, entre em contato com o Cloud Customer Care para receber ajuda.