Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Résoudre les problèmes liés au fournisseur d'identité personnalisé
Cette section décrit les solutions possibles aux problèmes liés aux fournisseurs d'identité personnalisés avec Transfer Family.
Rubriques
Résoudre les erreurs d'intégration d'API Gateway
Description
Les utilisateurs ne peuvent pas s'authentifier auprès de votre serveur Transfer Family, et lorsque vous testez votre fournisseur d'identité, des erreurs telles que :
{ "Response": "", "StatusCode": 500, "Message": "Internal server error" }
Cause
Des erreurs d'intégration d'API Gateway peuvent survenir pour les raisons suivantes :
-
Configuration incorrecte de l'API Gateway
-
Les erreurs liées à la fonction Lambda ne sont pas correctement gérées
-
Problèmes d'autorisation entre API Gateway et Lambda
-
Réponses mal formées de la fonction Lambda
Solution
Pour résoudre les erreurs d'intégration d'API Gateway :
-
Consultez les journaux de vos fonctions Lambda pour obtenir des informations détaillées sur les erreurs :
-
Dans la CloudWatch console, accédez à Groupes de journaux >/aws/lambda/your-function-name
-
Recherchez les messages d'erreur ou empilez les traces indiquant la cause première
-
-
Vérifiez que votre fonction Lambda renvoie des réponses correctement formatées :
{ "Role": "arn:aws:iam::123456789012:role/TransferUserRole", "HomeDirectory": "/mybucket/home/username" } -
Activez la CloudWatch journalisation détaillée pour API Gateway :
-
Dans la console API Gateway, sélectionnez votre API et choisissez Stages
-
Sélectionnez votre étape et sous Logs/Tracing, activez Logs CloudWatch
-
Définissez le niveau du journal sur ERROR ou INFO
-
-
Testez directement votre point de terminaison 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"}' -
Vérifiez les autorisations entre API Gateway et Lambda :
-
Assurez-vous qu'API Gateway est autorisé à appeler votre fonction Lambda
-
Vérifiez que le rôle d'exécution de votre fonction Lambda dispose des autorisations nécessaires
-
Résoudre les problèmes de temporisation des fonctions Lambda
Description
Lorsque les utilisateurs tentent de s'authentifier auprès de votre serveur Transfer Family à l'aide d'un fournisseur d'identité personnalisé, ils rencontrent de longs délais suivis d'échecs d'authentification. Dans vos journaux Lambda, vous voyez des erreurs de temporisation.
Cause
Les fonctions Lambda utilisées pour les fournisseurs d'identité personnalisés ont un délai d'expiration par défaut de 3 secondes. Si votre logique d'authentification prend plus de temps que ce délai (par exemple, lorsque vous interrogez des bases de données externes ou que vous effectuez des appels d'API à des fournisseurs d'identité tiers), la fonction expirera et l'authentification échouera.
Solution
Pour résoudre les problèmes de temporisation Lambda :
-
Augmentez le délai d'expiration de la fonction Lambda :
-
Dans la console Lambda, accédez à votre fonction et sélectionnez l'onglet Configuration
-
Sous Configuration générale, cliquez sur Modifier
-
Augmenter la valeur du délai d'attente (jusqu'à 15 secondes sont recommandés pour les fonctions d'authentification)
-
-
Optimisez le code de votre fonction Lambda :
-
Utiliser le pool de connexions pour les requêtes de base de données
-
Implémenter la mise en cache pour les données fréquemment consultées
-
Minimiser les appels d'API externes lors de l'authentification
-
-
Envisagez d'utiliser Lambda Provisioned Concurrency pour éliminer les démarrages à froid :
aws lambda put-provisioned-concurrency-config \ --function-name my-authentication-function \ --qualifier prod \ --provisioned-concurrent-executions 5 -
Surveillez les performances Lambda à l'aide de CloudWatch métriques et configurez des alarmes pour les seuils de durée
Résoudre les problèmes de temporisation Lambda constants
Description
Les utilisateurs rencontrent des délais d'attente constants lorsqu'ils utilisent une fonction Lambda pour l'authentification.
Cause
Lambda ne parvient pas à accéder au AWS service correspondant utilisé pour l'authentification (tel que DynamoDB, Secrets Manager ou un autre fournisseur d'identité).
Solution
Vérifiez que les sous-réseaux peuvent accéder AWS aux services. Ou, si vous vous connectez à un fournisseur d'identité Internet (tel qu'Okta), vérifiez que le sous-réseau de la fonction Lambda peut accéder à Internet via une passerelle NAT
Résoudre les problèmes liés aux exceptions KeyError
Description
Dans les entrées de votre journal Transfer Family, vous remarquez des KeyError « » exceptions.
Cause
La cause la plus probable est que l'utilisateur ou l'identity_providerenregistrement est mal formé ou qu'il manque des champs obligatoires.
Solution
Consultez le ERRORS journal, situé dans le groupe de /aws/transfer/ journaux, pour trouver des indices.your-server-id