Risolvi i problemi relativi ai provider di identità personalizzati - AWS Transfer Family

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Risolvi i problemi relativi ai provider di identità personalizzati

Questa sezione descrive le possibili soluzioni per i problemi relativi ai provider di identità personalizzati con Transfer Family.

Risolvi gli errori di integrazione dell'API Gateway

Descrizione

Gli utenti non possono autenticarsi con il tuo server Transfer Family e, durante il test del tuo provider di identità, riscontri errori come:

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

Causa

Gli errori di integrazione dell'API Gateway possono verificarsi a causa di:

  • Configurazione API Gateway errata

  • Gli errori della funzione Lambda non vengono gestiti correttamente

  • Problemi di autorizzazione tra API Gateway e Lambda

  • Risposte malformate dalla funzione Lambda

Soluzione

Per risolvere gli errori di integrazione dell'API Gateway:

  1. Controlla i registri delle funzioni Lambda per informazioni dettagliate sugli errori:

    • Nella CloudWatch console, vai a Log groups >/-function-name aws/lambda/your

    • Cerca i messaggi di errore o le tracce dello stack che indicano la causa principale

  2. Verifica che la funzione Lambda restituisca risposte formattate correttamente:

    { "Role": "arn:aws:iam::123456789012:role/TransferUserRole", "HomeDirectory": "/mybucket/home/username" }
  3. Abilita la CloudWatch registrazione dettagliata per API Gateway:

    • Nella console API Gateway, seleziona la tua API e scegli Stages

    • Seleziona la tua fase e, in Logs/Tracing, abilita Logs CloudWatch

    • Imposta il livello di registro su ERROR o INFO

  4. Testa direttamente il tuo endpoint API Gateway:

    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. Verifica le autorizzazioni tra API Gateway e Lambda:

    • Assicurati che API Gateway sia autorizzato a richiamare la tua funzione Lambda

    • Verifica che il ruolo di esecuzione per la tua funzione Lambda disponga delle autorizzazioni necessarie

Risoluzione dei problemi relativi ai timeout delle funzioni Lambda

Descrizione

Quando gli utenti tentano di autenticarsi con il server Transfer Family utilizzando un provider di identità personalizzato, subiscono lunghi ritardi seguiti da errori di autenticazione. Nei log Lambda, vengono visualizzati gli errori di timeout.

Causa

Le funzioni Lambda utilizzate per i provider di identità personalizzati hanno un timeout predefinito di 3 secondi. Se la logica di autenticazione impiega più tempo di questo timeout (ad esempio, quando si interrogano database esterni o si effettuano chiamate API a provider di identità di terze parti), la funzione scadrà e l'autenticazione avrà esito negativo.

Soluzione

Per risolvere i problemi di timeout Lambda:

  1. Aumenta il timeout della funzione Lambda:

    • Nella console Lambda, accedi alla tua funzione e seleziona la scheda Configurazione

    • In Configurazione generale, fai clic su Modifica

    • Aumenta il valore di timeout (si consigliano fino a 15 secondi per le funzioni di autenticazione)

  2. Ottimizza il codice della funzione Lambda:

    • Usa il pool di connessioni per le query del database

    • Implementa la memorizzazione nella cache per i dati ad accesso frequente

    • Riduci al minimo le chiamate API esterne durante l'autenticazione

  3. Prendi in considerazione l'utilizzo di Lambda Provisioned Concurrency per eliminare gli avviamenti a freddo:

    aws lambda put-provisioned-concurrency-config \ --function-name my-authentication-function \ --qualifier prod \ --provisioned-concurrent-executions 5
  4. Monitora le prestazioni Lambda utilizzando le CloudWatch metriche e configura allarmi per le soglie di durata

Risolvi i problemi di timeout Lambda coerenti

Descrizione

Gli utenti riscontrano timeout costanti quando utilizzano una funzione Lambda per l'autenticazione.

Causa

Lambda non riesce a raggiungere il AWS servizio corrispondente utilizzato per l'autenticazione (come DynamoDB, Secrets Manager o un altro provider di identità).

Soluzione

Verifica che le sottoreti possano raggiungere i servizi. AWS Oppure, se ti connetti a un provider di identità Internet (come Okta), verifica che la sottorete della funzione Lambda possa raggiungere Internet tramite un gateway NAT

Risolvi i problemi relativi alle eccezioni KeyError

Descrizione

Nelle voci del registro Transfer Family, si notano delle eccezioni KeyError «».

Causa

La causa più probabile è che l'utente o il identity_provider record non siano corretti o che manchino i campi obbligatori.

Soluzione

Esamina il ERRORS registro, che si trova nel gruppo di /aws/transfer/your-server-id log, per trovare indizi.