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.
Argomenti
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:
-
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
-
-
Verifica che la funzione Lambda restituisca risposte formattate correttamente:
{ "Role": "arn:aws:iam::123456789012:role/TransferUserRole", "HomeDirectory": "/mybucket/home/username" } -
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
-
-
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"}' -
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:
-
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)
-
-
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
-
-
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 -
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/ log, per trovare indizi.your-server-id