Este documento contém perguntas frequentes sobre o Identity-Aware Proxy (IAP).
Que apps posso proteger com a IAP?
As IAP podem ser usadas com o seguinte:
- Apps do ambiente padrão do App Engine e do ambiente flexível do App Engine
- Instâncias do Compute Engine com serviços de back-end de balanceamento de carga HTTP(S)
- Contentores do Google Kubernetes Engine
- Apps do Cloud Run com serviços de back-end de balanceamento de carga HTTP(S)
- Cloud Run com um clique e sem serviços de back-end de balanceamento de carga
Não é possível usar o IAP com o Cloud CDN.
Por que motivo existe um # no final do meu URL depois de iniciar sessão na minha app?
Em alguns navegadores e em determinadas condições, pode ser anexado um #
ao URL após a autenticação. Isto é normal e não causa problemas ao iniciar sessão.
Por que motivo os meus pedidos estão a falhar e a devolver 405 Method Not Allowed
?
Normalmente, isto acontece quando os cookies não estão anexados aos seus pedidos. Os métodos JavaScript não anexam cookies por predefinição.
Os diferentes métodos de pedido requerem abordagens diferentes:
- Para
XMLHttpRequest
, definawithCredentials
comotrue
- Para a API Fetch,
defina
credentials
comoinclude
ousame-origin
Para processar erros relacionados com a sessão, consulte o artigo Gerir sessões de IAP.
Por que motivo estou a receber um HTTP 401 Unauthorized
em vez de um 302 Redirect
?
A IAP envia um 302 Redirect
apenas quando o seu cliente está configurado para processar redirecionamentos.
Adicione HTTP Accept="text/html,*/*"
aos cabeçalhos de pedidos para indicar suporte
para redirecionamentos.
Por que motivo os pedidos POST não estão a acionar redirecionamentos?
Os navegadores não fazem o redirecionamento em resposta a pedidos POST. Em alternativa, o IAP devolve um código de estado 401 Unauthorized
.
Para pedidos POST a recursos protegidos pelo IAP, inclua uma das seguintes opções:
- Um token de ID num cabeçalho
Authorization: Bearer
- Cookies válidos (consulte a secção sobre a atualização das sessões)
Posso usar as CAsI se tiver desativado a API?
Sim, os recursos protegidos pelo IAP permanecem acessíveis quando a API está desativada, mas não pode modificar as autorizações do IAM.
Como posso impedir que os utilizadores com a função Proprietário usem a IAP para TCP?
Idealmente, limite a utilização da função de proprietário (roles/owner
) a favor de autorizações mais detalhadas. Consulte as práticas recomendadas de IAM para receber orientações.
Se tal não for possível, pode bloquear a IAP para TCP através de regras de firewall.
Que domínio usa o IAP para TCP?
A IAP usa os seguintes domínios pertencentes à Google:
tunnel.cloudproxy.app
mtls.tunnel.cloudproxy.app
(quando o acesso baseado em certificado está ativado)
Por que motivo estou a receber Server Error
?
Se vir:
The server encountered a temporary error and could not complete your request. Please try again in 30 seconds.
É possível que a sua firewall esteja a bloquear os IPs do equilibrador de carga.
Verifique se a sua firewall permite tráfego de 130.211.0.0/22
e 35.191.0.0/16
. Se estes IPs não conseguirem alcançar o seu back-end, as suas aplicações vão ficar inacessíveis.
Para ligações TCP do IAP a VMs específicas, certifique-se também de que a VM aceita ligações do intervalo 35.235.240.0/20
.
Por que motivo estou a receber erros internos do servidor intermitentes?
As mensagens como An internal server error occurred while authorizing your request.
Error code X
indicam falhas de back-end.
Normalmente, os códigos de erro 1
, 30
, 62
, 63
, 64
ou 703
refletem problemas
temporários. Implemente a retirada exponencial para novas tentativas.
Como posso resolver erros de quota excedida (código de erro 429)?
O código de erro 429 ocorre quando a sua aplicação excede os limites de pedidos do IAP. O serviço aplica quotas separadas:
- Pedidos baseados no navegador: 360 000 por minuto por projeto
- Pedidos programáticos: 360 000 por minuto por projeto
Um pedido programático é aquele que inclui um cabeçalho AUTHORIZATION
ou PROXY-AUTHORIZATION
e nenhum cookie de IAP. Todos os outros pedidos (incluindo os que não têm credenciais) são considerados pedidos de navegador.
Estes limites aplicam-se coletivamente a todos os recursos protegidos pelo IAP no seu projeto.
Se estiver a ter erros relacionados com a quota, considere estas soluções:
- Evite testes de carga em produção. Use caminhos de rede alternativos que ignorem o IAP
- Para o tráfego de serviço para serviço, implemente a retirada exponencial para processar erros 429 de forma adequada
- Distribua aplicações com tráfego elevado por vários projetos
- Use o Apigee ou soluções de gateway da API semelhantes para aplicações baseadas em API
- Contacte o Google Cloud apoio técnico para aumentar a quota se o crescimento orgânico estiver a causar o problema
Códigos de erro
A tabela seguinte apresenta códigos e mensagens de erro comuns devolvidos quando configura e usa as CAsI.
Código de erro | Descrição | Resolução de problemas |
---|---|---|
7 | ID de cliente ou segredo OAuth vazio | Visite a página Credenciais para validar o ID de cliente e o segredo. Se aparecerem corretas, mas não estiverem a funcionar, use métodos da API para verificar as definições (GET para o Compute Engine e GET para o App Engine) e repô-las com PATCH . |
9 | Falha no redirecionamento OAuth | Este é um erro interno que foi registado automaticamente. Não tem de efetuar qualquer ação. |
9 (com regras de reescrita de caminhos) | Falha no redirecionamento OAuth | As regras de reescrita de caminhos do seu equilibrador de carga estão a impedir a conclusão do OAuth. Certifique-se de que todos os back-ends atrás do balanceador de carga usam IDs de clientes OAuth idênticos. Pode atualizar esta definição através do comando gcloud compute backend-services update. |
9 (com regras de encaminhamento de caminhos) | Falha no redirecionamento OAuth | Crie variantes de regras de caminhos para ambas as versões de cada caminho (com e sem barras invertidas finais) e direcione-as para o mesmo back-end. Por exemplo, inclua regras para /path/ e /path . |
11 | ID de cliente OAuth configurado incorretamente | Verifique o ID de cliente e o segredo na página Credenciais. Se aparecerem corretas, mas não estiverem a funcionar, use métodos da API para verificar as definições (GET para o Compute Engine e GET para o App Engine) e repô-las com PATCH . |
13 | Símbolo OIDC inválido | Aceda à página Credenciais para confirmar que o ID do cliente não foi eliminado nem modificado incorretamente. |
51 | O navegador não suporta o agrupamento de ligações | Peça aos utilizadores finais que atualizem os respetivos navegadores para as versões atuais. Para ver mais detalhes sobre os requisitos de ligação, consulte o artigo Restrinja o acesso aos recursos. |
52 | Incompatibilidade entre o nome do anfitrião e o certificado SSL | O administrador do sistema tem de atualizar o certificado SSL para corresponder ao nome de anfitrião. Consulte o artigo Restrinja o acesso aos recursos para ver orientações. |
52 (com entrada de mapeamento de certificado principal) | Incompatibilidade entre o nome do anfitrião e o certificado SSL | O IAP não suporta entradas de mapeamento de certificados principais. Use entradas separadas para mapear cada certificado para o nome de anfitrião correto. Consulte o artigo Crie uma entrada de mapeamento de certificados para obter orientações. |
53 | O nome do anfitrião não está nos domínios permitidos | Um administrador tem de adicionar o seu nome de anfitrião à lista de domínios permitidos. Consulte o artigo Restrinja o acesso aos recursos para ver instruções. |
253, HTTP 429 | Quota de pedidos excedida | Atingiu os limites de pedidos (360 000/min para cada tipo de pedido). Considere distribuir as cargas de trabalho por vários projetos, implementar a limitação de pedidos do lado do cliente ou contactar o apoio técnico para aumentos de quotas, se necessário para um crescimento legítimo. |
551 | As CNAs estão ativadas em vários locais | Não pode ativar a IAP na regra de encaminhamento e no serviço de back-end. Desative-o numa localização seguindo as orientações em Ative para o Compute Engine. |
700, 701 | Problemas do fornecedor do Workforce Pool | Configure exatamente um fornecedor para o seu Workforce Pool. Reveja as limitações dos conjuntos de trabalhadores para ver os requisitos detalhados. |
705 | ID de cliente OAuth em falta para a identidade da força de trabalho | Siga o processo de configuração completo: primeiro, crie um ID de cliente OAuth e, em seguida, atualize as definições do IAP. |
708 | Nome do conjunto de trabalhadores inválido | Verifique se o seu workforce pool existe e usa o formato correto: locations/global/workforcePools/WORKFORCE_POOL_ID . |
4003 | Problema de ligação ou firewall | Verifique se o processo da VM está em execução e a escutar na porta esperada. Verifique também se as suas regras de firewall permitem ligações nessa porta. |
4010 | A ligação foi fechada pelo destino | Reponha a VM. Se os problemas persistirem, examine auth.log (normalmente em /var/log/ ) ou use a consola série para diagnósticos mais detalhados. |
4033 | Problema de autorização, existência ou estado da VM | Confirme que tem a função de utilizador do túnel atribuída ao recurso através da página do IAP e verifique se a VM existe e está em execução. |
4047 | A instância não existe ou está parada | Certifique-se de que a VM está ligada e concluiu totalmente a sequência de arranque. |
Se não conseguir resolver o problema ou não vir o seu erro listado nesta página, contacte o Apoio ao cliente da nuvem com uma descrição do erro e da resposta que recebe de uma chamada GET
à API. Certifique-se de que remove o segredo do cliente da resposta.