Solucionar problemas de provedores de identidade personalizados - AWS Transfer Family

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Solucionar problemas de provedores de identidade personalizados

Esta seção descreve possíveis soluções para problemas relacionados aos provedores de identidade personalizados com o Transfer Family.

Solucionar erros de integração do API Gateway

Descrição

Os usuários não podem se autenticar com seu servidor Transfer Family e, ao testar seu provedor de identidade, você vê erros como:

{ "Response": "", "StatusCode": 500, "Message": "Internal server error" }

Causa

Erros de integração do API Gateway podem ocorrer devido a:

  • Configuração incorreta do API Gateway

  • Erros da função Lambda que não estão sendo tratados adequadamente

  • Problemas de permissão entre o API Gateway e o Lambda

  • Respostas malformadas da função Lambda

Solução

Para solucionar erros de integração do API Gateway:

  1. Verifique seus registros de funções do Lambda para obter informações detalhadas sobre erros:

    • No CloudWatch console, navegue até Grupos de registros >/aws/lambda/your-function-name

    • Procure mensagens de erro ou rastreamentos de pilha que indiquem a causa raiz

  2. Verifique se sua função Lambda retorna respostas formatadas corretamente:

    { "Role": "arn:aws:iam::123456789012:role/TransferUserRole", "HomeDirectory": "/mybucket/home/username" }
  3. Ative o CloudWatch registro detalhado para o API Gateway:

    • No console do API Gateway, selecione sua API e escolha Estágios

    • Selecione seu estágio e, em Registros/Rastreamento, ative Registros CloudWatch

    • Defina o nível do registro como ERROR ou INFO

  4. Teste seu endpoint do API Gateway diretamente:

    curl -X POST https://your-api-id.execute-api.region.amazonaws.com/prod/servers/your-server-id/users/username/config \ -H "Content-Type: application/json" \ -d '{"Password": "password"}'
  5. Verifique as permissões entre o API Gateway e o Lambda:

    • Certifique-se de que o API Gateway tenha permissão para invocar sua função Lambda

    • Verifique se a função de execução da sua função Lambda tem as permissões necessárias

Solucionar problemas de tempo limite da função Lambda

Descrição

Quando os usuários tentam se autenticar com seu servidor Transfer Family usando um provedor de identidade personalizado, eles enfrentam longos atrasos seguidos por falhas de autenticação. Em seus registros do Lambda, você vê erros de tempo limite.

Causa

As funções Lambda usadas para provedores de identidade personalizados têm um tempo limite padrão de 3 segundos. Se sua lógica de autenticação demorar mais do que esse tempo limite (por exemplo, ao consultar bancos de dados externos ou fazer chamadas de API para provedores de identidade terceirizados), a função atingirá o tempo limite e a autenticação falhará.

Solução

Para resolver problemas de tempo limite do Lambda:

  1. Aumente o tempo limite da função Lambda:

    • No console Lambda, navegue até sua função e selecione a guia Configuração

    • Em Configuração geral, clique em Editar

    • Aumente o valor do tempo limite (recomenda-se até 15 segundos para funções de autenticação)

  2. Otimize seu código de função Lambda:

    • Use o pool de conexões para consultas ao banco de dados

    • Implemente o armazenamento em cache para dados acessados com frequência

    • Minimize as chamadas externas de API durante a autenticação

  3. Considere usar o Lambda Provisioned Concurrency para eliminar inícios a frio:

    aws lambda put-provisioned-concurrency-config \ --function-name my-authentication-function \ --qualifier prod \ --provisioned-concurrent-executions 5
  4. Monitore o desempenho do Lambda usando CloudWatch métricas e configure alarmes para limites de duração

Solucione problemas consistentes de tempo limite do Lambda

Descrição

Os usuários experimentam tempos limite consistentes ao usar uma função Lambda para autenticação.

Causa

O Lambda não consegue acessar o AWS serviço correspondente usado para autenticação (como DynamoDB, Secrets Manager ou outro provedor de identidade).

Solução

Verifique se as sub-redes podem alcançar AWS os serviços. Ou, se estiver se conectando a um provedor de identidade da Internet (como Okta), verifique se a sub-rede da função Lambda pode acessar a Internet por meio de um gateway NAT

Solucionar problemas de exceções KeyError

Descrição

Em suas entradas de registro do Transfer Family, você nota as exceções KeyError ''.

Causa

A causa mais provável é que o usuário ou identity_provider registro esteja mal formado ou que faltem campos obrigatórios.

Solução

Examine o ERRORS registro, localizado no grupo de /aws/transfer/your-server-id registros para obter pistas.