TestIdentityProvider - AWS Transfer Family

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.

TestIdentityProvider

Si le serveur compatible avec le protocole IdentityProviderType de transfert de fichiers est AWS_DIRECTORY_SERVICE ouAPI_Gateway, teste si votre fournisseur d'identité est correctement configuré. Nous vous recommandons vivement d'appeler cette opération pour tester votre méthode d'authentification dès la création de votre serveur. Ce faisant, vous pouvez résoudre les problèmes liés à l'intégration du fournisseur d'identité afin de garantir que vos utilisateurs peuvent utiliser le service avec succès.

Les paramètres ServerId et UserName sont obligatoires. Les ServerProtocolSourceIp, et UserPassword sont tous facultatifs.

Notez ce qui suit :

  • Vous ne pouvez pas l'utiliser TestIdentityProvider si le IdentityProviderType de votre serveur l'estSERVICE_MANAGED.

  • TestIdentityProviderne fonctionne pas avec les clés : il n'accepte que les mots de passe.

  • TestIdentityProviderpeut tester le fonctionnement du mot de passe pour un fournisseur d'identité personnalisé qui gère les clés et les mots de passe.

  • Si vous fournissez des valeurs incorrectes pour un paramètre, le Response champ est vide.

  • Si vous fournissez un ID de serveur pour un serveur qui utilise des utilisateurs gérés par des services, le message d'erreur suivant s'affiche :

    An error occurred (InvalidRequestException) when calling the TestIdentityProvider operation: s-server-ID not configured for external auth

  • Si vous entrez un ID de serveur pour le --server-id paramètre qui n'identifie pas un véritable serveur de transfert, le message d'erreur suivant s'affiche :

    An error occurred (ResourceNotFoundException) when calling the TestIdentityProvider operation: Unknown server.

    Il est possible que votre serveur se trouve dans une autre région. Vous pouvez spécifier une région en ajoutant ce qui suit :--region region-code, par exemple --region us-east-2 pour spécifier un serveur dans l'est des États-Unis (Ohio).

Syntaxe de la requête

{ "ServerId": "string", "ServerProtocol": "string", "SourceIp": "string", "UserName": "string", "UserPassword": "string" }

Paramètres de demande

Pour plus d'informations sur les paramètres courants pour toutes les actions, consultez Paramètres courants.

La demande accepte le JSON format des données suivantes.

ServerId

Identifiant attribué par le système à un serveur spécifique. La méthode d'authentification utilisateur de ce serveur est testée avec un nom d'utilisateur et un mot de passe.

Type : String

Contraintes de longueur : longueur fixe de 19.

Modèle : s-([0-9a-f]{17})

Obligatoire : oui

ServerProtocol

Type de protocole de transfert de fichiers à tester.

Les protocoles disponibles sont :

  • Protocole de transfert de fichiers Secure Shell (SSHSFTP)

  • Protocole de transfert de fichiers sécurisé (FTPS)

  • Protocole de transfert de fichiers (FTP)

  • Déclaration d'applicabilité (2) AS2

Type : String

Valeurs valides : SFTP | FTP | FTPS | AS2

Obligatoire : non

SourceIp

Adresse IP source du compte à tester.

Type : String

Contraintes de longueur : longueur minimum de 0. Longueur maximale de 32.

Modèle : \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}

Obligatoire : non

UserName

Nom du compte à tester.

Type : String

Contraintes de longueur : Longueur minimum de 3. Longueur maximum de 100.

Modèle : [\w][\w@.-]{2,99}

Obligatoire : oui

UserPassword

Le mot de passe du compte à tester.

Type : String

Contraintes de longueur : longueur minimum de 0. Longueur maximale de 1024.

Obligatoire : non

Syntaxe de la réponse

{ "Message": "string", "Response": "string", "StatusCode": number, "Url": "string" }

Eléments de réponse

Si l'action aboutit, le service renvoie une réponse HTTP 200.

Les données suivantes sont renvoyées sous JSON forme formatée par le service.

Message

Message indiquant si le test a réussi ou non.

Note

Si une chaîne vide est renvoyée, la cause la plus probable est que l'authentification a échoué en raison d'un nom d'utilisateur ou d'un mot de passe incorrect.

Type : String

Response

La réponse renvoyée par votre API passerelle ou votre fonction Lambda.

Type : String

StatusCode

Le code HTTP d'état qui est la réponse de votre API passerelle ou de votre fonction Lambda.

Type : entier

Url

Point de terminaison du service utilisé pour authentifier un utilisateur.

Type : String

Contraintes de longueur : longueur minimum de 0. Longueur maximale de 255.

Erreurs

Pour plus d'informations sur les erreurs courantes pour toutes les actions, consultez Erreurs courantes.

InternalServiceError

Cette exception est levée lorsqu'une erreur se produit dans le AWS Transfer Family service.

HTTPCode de statut : 500

InvalidRequestException

Cette exception est levée lorsque le client soumet une demande mal formée.

HTTPCode de statut : 400

ResourceNotFoundException

Cette exception est levée lorsqu'aucune ressource n'est trouvée par le service AWS Transfer Family.

HTTPCode de statut : 400

ServiceUnavailableException

La demande a échoué car le service AWS Transfer Family n'est pas disponible.

HTTPCode de statut : 500

Exemples

Exemple

La demande suivante renvoie un message d'un fournisseur d'identité indiquant qu'une combinaison nom d'utilisateur et mot de passe constitue une identité valide à utiliser AWS Transfer Family.

Exemple de demande

{ "ServerID": "s-01234567890abcdef", "UserName": "my_user", "UserPassword": "MyPassword-1" }

Exemple

La réponse suivante montre un exemple de réponse pour un test réussi.

Exemple de réponse

"Response":" {\"homeDirectory\":\"/mybucket001\",\"homeDirectoryDetails\":null,\"homeDirectoryType\":\"PATH\",\"posixProfile\":null, \"publicKeys\":\"[ssh-rsa-key]\",\"role\":\"arn:aws:iam::123456789012:role/my_role\",\"policy\":null,\"username\":\"transferuser002\", \"identityProviderType\":null,\"userConfigMessage\":null)"} "StatusCode": "200", "Message": ""

Exemple

La réponse suivante indique que l'utilisateur spécifié appartient à plusieurs groupes ayant accès.

"Response":"", "StatusCode":200, "Message":"More than one associated access found for user's groups."

Exemple

Si vous avez créé et configuré un fournisseur d'identité personnalisé à l'aide d'une API passerelle, vous pouvez entrer la commande suivante pour tester votre utilisateur :

aws transfer test-identity-provider --server-id s-0123456789abcdefg --user-name myuser

s-0123456789abcdefg est votre serveur de transfert et myuser est le nom d'utilisateur de votre utilisateur personnalisé.

Si la commande aboutit, votre réponse est similaire à la suivante, où :

  • Compte AWS L'identifiant est 012345678901

  • Le rôle de l'utilisateur est user-role-api-gateway

  • Le répertoire de base est myuser-bucket

  • La clé publique est une clé publique

  • L'invocation URL est une invocation... URL

{ "Response": "{\"Role\": \"arn:aws:iam::012345678901:role/user-role-api-gateway\",\"HomeDirectory\": \"/myuser-bucket\",\"PublicKeys\": \"[public-key]\"}", "StatusCode": 200, "Message": "", "Url": "https://invocation-URL/servers/s-0123456789abcdefg/users/myuser/config" }

consultez aussi

Pour plus d'informations sur son utilisation API dans l'une des langues spécifiques AWS SDKs, consultez ce qui suit :