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.
AWS Transfer Family Référence d’API
Le guide de référence API complet pour Transfer Family est disponible sur AWS Transfer Family API Reference.
AWS Transfer Family est un service de transfert sécurisé que vous pouvez utiliser pour transférer des fichiers vers et depuis le stockage Amazon Simple Storage Service (Amazon S3) via les protocoles suivants :
-
Protocole de transfert de fichiers (SFTP) Secure Shell (SSH)
-
Protocole de transfert de fichiers sécurisé (FTPS)
-
Protocole de transfert de fichiers (FTP)
-
Déclaration d'applicabilité 2 (AS2)
Les serveurs, les utilisateurs et les rôles sont tous identifiés par leur Amazon Resource Name (ARN). Vous pouvez attribuer des balises, qui sont des paires clé-valeur, à des entités dotées d'un ARN. Les balises sont des métadonnées qui peuvent être utilisées pour regrouper ou rechercher ces entités. Les balises s'avèrent utiles dans le domaine de la comptabilité, notamment.
Les conventions suivantes sont respectées dans les formats AWS Transfer Family d'identification :
-
Les valeurs
ServerIdse présentent sous la formes-01234567890abcdef. -
Les valeurs
SshPublicKeyIdse présentent sous la formekey-01234567890abcdef.
Les formats Amazon Resource Name (ARN) se présentent sous la forme suivante :
-
Pour les serveurs, les ARN prennent la forme
arn:aws:transfer:.region:account-id:server/server-idVoici un exemple d'ARN de serveur :
arn:aws:transfer:us-east-1:123456789012:server/s-01234567890abcdef. -
Pour les utilisateurs, les ARN se présentent sous la forme
arn:aws:transfer:.region:account-id:user/server-id/usernamePar exemple :
arn:aws:transfer:us-east-1:123456789012:user/s-01234567890abcdef/user1.
Les entrées DNS (points de terminaison) utilisées sont les suivantes :
-
Les points de terminaison d'API se présentent sous la forme
transfer..region.amazonaws.com -
Les points de terminaison de serveur se présentent sous la forme
.server-id.server.transfer.region.amazonaws.com
Cette référence d'interface d'API AWS Transfer Family contient la documentation d'une interface de programmation que vous pouvez utiliser pour gérer AWS Transfer Family. La structure du document de référence se présente comme suit :
-
Pour la liste alphabétique des actions d'API, voir Actions.
-
Pour la liste alphabétique des types de données, voir Types.
-
Pour consulter la liste des paramètres de requête courants, reportez-vous à la page Paramètres courants.
-
Pour la description des codes d'erreur, consultez la page Erreurs courantes.
Astuce
Plutôt que d'exécuter une commande, vous pouvez utiliser le --generate-cli-skeleton paramètre avec n'importe quel appel d'API pour générer et afficher un modèle de paramètre. Vous pouvez ensuite utiliser le modèle généré pour le personnaliser et l'utiliser comme entrée dans une commande ultérieure. Pour plus de détails, voir Générer et utiliser un fichier squelette de paramètres.
Effectuer des demandes d'API
Outre l'utilisation de la console, vous pouvez utiliser l' AWS Transfer Family API pour configurer et gérer vos serveurs par programmation. Cette section décrit les AWS Transfer Family opérations, la signature des demandes d'authentification et le traitement des erreurs. Pour plus d'informations sur les régions et les points de terminaison disponibles pour Transfer Family, consultez la section AWS Transfer Family Points de terminaison et quotas dans le Références générales AWS
Note
Vous pouvez également utiliser les AWS SDK lorsque vous développez des applications avec Transfer Family ;. Les AWS SDK pour Java, .NET et PHP intègrent l'API Transfer Family sous-jacente, simplifiant ainsi vos tâches de programmation. Pour plus d'informations sur le téléchargement des bibliothèques du SDK, consultez la section Exemples de bibliothèques de code
Transfer Family a requis les en-têtes de demande
Cette section décrit les en-têtes obligatoires que vous devez envoyer avec chaque requête POST à AWS Transfer Family. Vous incluez les en-têtes HTTP pour identifier les informations clés relatives à la demande, y compris l’opération que vous souhaitez appeler, la date de la demande et les informations correspondant à votre autorisation en tant qu’expéditeur de la demande. Les en-têtes ne sont pas sensibles à la casse et leur ordre n’est pas important.
L'exemple suivant montre les en-têtes utilisés dans l'ListServersopération.
POST / HTTP/1.1 Host:transfer---us-east-1.amazonaws.com.rproxy.govskope.cax-amz-target: TransferService.ListServers x-amz-date: 20220507T012034Z Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20220507/us-east-1/transfer/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-amz-target, Signature=13550350a8681c84c861aac2e5b440161c2b33a3e4f302ac680ca5b686de48de Content-Type: application/x-amz-json-1.1 Content-Length: 17 {"MaxResults":10}
Les en-têtes suivants doivent être inclus dans vos requêtes POST adressées à Transfer Family. Les en-têtes ci-dessous qui commencent par « x-amz » sont spécifiques à. AWS Tous les autres en-têtes répertoriés sont des en-têtes courants utilisés dans les transactions HTTP.
Transfer Family : saisie et signature des demandes
Toutes les entrées de demande doivent être envoyées dans le cadre de la charge utile JSON dans le corps de la demande. Pour les actions dans lesquelles tous les champs de requête sont facultatifs, par exempleListServers, vous devez toujours fournir un objet JSON vide dans le corps de la demande, tel que{}. La structure de la charge utile de Transfer Family request/response est documentée dans la référence d'API existante, par exemple DescribeServer.
Transfer Family prend en charge l'authentification à l'aide de AWS Signature Version 4. Pour plus de détails, consultez la section Signature des demandes d' AWS API.
Réponses d'erreur
Lorsqu’il y a une erreur, les informations de l’en-tête de réponse contiennent :
-
Content-Type:
application/x-amz-json-1.1 -
Un code d’état HTTP approprié
4xxou5xx
Le corps d’une réponse d’erreur contient des informations sur l’erreur qui s’est produite. L’exemple de réponse d’erreur suivant illustre la syntaxe de sortie des éléments de réponse commune à toutes les réponses d’erreur.
{ "__type": "String", "Message": "String", <!-- Message is lowercase in some instances --> "Resource": "String", "ResourceType": "String", "RetryAfterSeconds": "String" }
Le tableau suivant explique les champs de réponse d’erreur JSON affichés dans la syntaxe précédente.
- __type
-
L'une des exceptions à un appel d'API Transfer Family.
Type : chaîne
- Message ou message
-
Un des messages de code d’erreur d’opération .
Note
Certaines exceptions utilisent
message, d'autres utilisentMessage. Vous pouvez vérifier le code de votre interface afin de déterminer le cas approprié. Vous pouvez également tester chaque option pour voir laquelle fonctionne.Type : chaîne
- Ressource
-
La ressource pour laquelle l'erreur est invoquée. Par exemple, si vous essayez de créer un utilisateur qui existe déjà, il
Resources'agit du nom d'utilisateur de l'utilisateur existant.Type : chaîne
- ResourceType
-
Type de ressource pour lequel l'erreur est invoquée. Par exemple, si vous essayez de créer un utilisateur qui existe déjà,
ResourceTypec'est le casUser.Type : chaîne
- RetryAfterSeconds
-
Le nombre de secondes à attendre avant de réessayer la commande.
Type : chaîne
Exemples de réponses aux erreurs
Le corps JSON suivant est renvoyé si vous appelez l'DescribeServerAPI et spécifiez un serveur qui n'existe pas.
{ "__type": "ResourceNotFoundException", "Message": "Unknown server", "Resource": "s-11112222333344444", "ResourceType": "Server" }
Le corps JSON suivant est renvoyé si l'exécution d'une API entraîne un ralentissement.
{ "__type":"ThrottlingException", "RetryAfterSeconds":"1" }
Le corps JSON suivant est renvoyé si vous utilisez l'CreateServerAPI et que vous ne disposez pas des autorisations suffisantes pour créer un serveur Transfer Family.
{ "__type": "AccessDeniedException", "Message": "You do not have sufficient access to perform this action." }
Le corps JSON suivant est renvoyé si vous utilisez l'CreateUserAPI et spécifiez un utilisateur qui existe déjà.
{ "__type": "ResourceExistsException", "Message": "User already exists", "Resource": "Alejandro-Rosalez", "ResourceType": "User" }
Bibliothèques disponibles
AWS fournit des bibliothèques, des exemples de code, des didacticiels et d'autres ressources aux développeurs de logiciels qui préfèrent créer des applications à l'aide d'API spécifiques au langage plutôt que des outils de ligne de commande et de l'API de requête. Ces bibliothèques fournissent des fonctions de base (non incluses dans les API), telles que l'authentification des demandes, les nouvelles tentatives et la gestion des erreurs, afin de faciliter le démarrage. Voir Outils sur lesquels s'appuyer AWS
Pour les bibliothèques et les exemples de code dans toutes les langues, voir Exemples de code et bibliothèques
Fournisseurs d'identité
AWS Transfer Family prend en charge plusieurs types de fournisseurs d'identité pour authentifier et gérer les utilisateurs. Chaque serveur ne peut utiliser qu'une seule méthode d'authentification, qui doit être sélectionnée lors de la création du serveur.
- Service géré
-
Avec la méthode
SERVICE_MANAGEDd'authentification, les informations d'identification des utilisateurs sont stockées et gérées au sein de celle-ci AWS Transfer Family. Les utilisateurs sont authentifiés à l'aide de clés publiques SSH associées à leur nom d'utilisateur sur le serveur.Chaque utilisateur peut avoir une ou plusieurs clés publiques SSH stockées dans le service. Lorsqu'un client demande une opération sur un fichier, il fournit le nom d'utilisateur et la clé privée SSH, qui sont authentifiés par rapport à la clé publique enregistrée.
- Directory Service
-
La méthode
AWS_DIRECTORY_SERVICEd'authentification vous permet d'intégrer AWS Directory Service for Microsoft Active Directory (AWS Directory Service for Microsoft Active Directory).Cette option vous permet de gérer l'authentification et l'accès des utilisateurs par le biais de vos groupes Active Directory existants. Les utilisateurs peuvent s'authentifier à l'aide de leurs informations d'identification Active Directory.
Il existe une limite par défaut de 100 groupes Active Directory par serveur, qui peut être portée à un maximum de 150 groupes par le biais d'une augmentation de la limite de service.
- Lambda
-
La méthode
AWS_LAMBDAd'authentification vous permet de vous connecter à un fournisseur d'identité personnalisé à l'aide de AWS Lambda.Cette option offre la flexibilité nécessaire pour s'intégrer à vos systèmes de gestion des identités existants. La fonction Lambda est chargée d'authentifier les utilisateurs et de renvoyer les politiques d'accès appropriées.
- Personnalisé (API Gateway)
-
La méthode
API_GATEWAYd'authentification (affichée sous la forme Personnalisée dans la console) vous permet d'utiliser une méthode d'authentification personnalisée qui fournit à la fois l'authentification des utilisateurs et le contrôle d'accès.Cette méthode repose sur Amazon API Gateway pour utiliser votre appel d'API provenant de votre fournisseur d'identité afin de valider les demandes des utilisateurs. Vous pouvez utiliser cette méthode personnalisée pour authentifier les utilisateurs auprès d'un service d'annuaire, d'une name/password paire de bases de données ou d'un autre mécanisme.
Pour toutes les méthodes d'authentification, les utilisateurs se voient attribuer des politiques qui définissent leur accès aux buckets Amazon S3 ou aux systèmes de fichiers Amazon Elastic File System. Le serveur hérite de la relation de confiance de l'utilisateur par le biais d'un rôle IAM assorti d'une AssumeRole action, ce qui lui permet d'effectuer des opérations sur les fichiers pour le compte de l'utilisateur.
Conventions de dénomination
AWS Transfer Family utilise des formats standardisés pour les identifiants de ressources et les Amazon Resource Names (ARN). Il est important de comprendre ces conventions lorsque vous travaillez avec l' AWS Transfer Family API.
Formats d'identification
Les conventions suivantes sont respectées dans les formats AWS Transfer Family d'identification :
- Identifiants de serveur
-
Les valeurs
ServerIdse présentent sous la formes-01234567890abcdef. - Identifiants de clé publique SSH
-
Les valeurs
SshPublicKeyIdse présentent sous la formekey-01234567890abcdef. - Identifiants du connecteur
-
Les valeurs
ConnectorIdse présentent sous la formec-01234567890abcdef. - ID de flux de travail
-
Les valeurs
WorkflowIdse présentent sous la formew-01234567890abcdef. - Identifiants de profil
-
Les valeurs
ProfileIdse présentent sous la formep-01234567890abcdef. - WebApp Identifiants
-
Les valeurs
WebAppIdse présentent sous la formewebapp-01234567890abcdef.
Formats ARN
Les formats Amazon Resource Name (ARN) se présentent sous la forme suivante :
- ARN du serveur
-
Pour les serveurs, les ARN prennent la forme
arn:aws:transfer:.region:account-id:server/server-idExemple:
arn:aws:transfer:us-east-1:123456789012:server/s-01234567890abcdef. - ARN des utilisateurs
-
Pour les utilisateurs, les ARN se présentent sous la forme
arn:aws:transfer:.region:account-id:user/server-id/usernameExemple:
arn:aws:transfer:us-east-1:123456789012:user/s-01234567890abcdef/user1. - RNA du connecteur
-
Pour les connecteurs, les ARN prennent la forme
arn:aws:transfer:.region:account-id:connector/connector-idExemple:
arn:aws:transfer:us-east-1:123456789012:connector/c-01234567890abcdef. - ARN du flux de travail
-
Pour les flux de travail, les ARN prennent la forme
arn:aws:transfer:.region:account-id:workflow/workflow-idExemple:
arn:aws:transfer:us-east-1:123456789012:workflow/w-01234567890abcdef. - WebApp ARN
-
Pour les applications Web, les ARN prennent la forme
arn:aws:transfer:.region:account-id:webapp/webapp-idExemple:
arn:aws:transfer:us-east-1:123456789012:webapp/webapp-01234567890abcdef.
Vous pouvez attribuer des balises, qui sont des paires clé-valeur, à des entités dotées d'un ARN. Les balises sont des métadonnées qui peuvent être utilisées pour regrouper ou rechercher ces entités. Les balises s'avèrent utiles dans le domaine de la comptabilité, notamment.
DNS et points de terminaison
AWS Transfer Family utilise des conventions de dénomination DNS standardisées pour les points de terminaison d'API et les points de terminaison de serveur. Il est essentiel de comprendre ces points de terminaison pour configurer les clients et effectuer des appels d'API.
Points de terminaison d'API
Les points de terminaison d'API sont utilisés pour effectuer des appels d'API afin de gérer les AWS Transfer Family ressources. Ces points de terminaison prennent les formes suivantes :
- Points de terminaison d'API standard
-
Les points de terminaison d'API standard prennent la forme
transfer..region.amazonaws.com.rproxy.govskope.caExemple :
transfer.us-east-1.amazonaws.com - Dual-Stack Points de terminaison de l'API
-
AWS Transfer Family propose des points de terminaison d'API à double pile accessibles via des requêtes IPv4 ou IPv6 :
-
https://transfer.
region-code.api .aws -
https://transfer-fips.
region-code.api .aws
-
Points de terminaison du serveur
Les points de terminaison du serveur sont utilisés par les clients de transfert de fichiers pour se connecter aux AWS Transfer Family serveurs. Ces points de terminaison prennent les formes suivantes :
- Points de terminaison de serveur standard
-
Les points de terminaison de serveur standard prennent la forme
.server-id.server.transfer.region.amazonaws.com.rproxy.govskope.caExemple :
s-01234567890abcdef.server.transfer.us-east-1.amazonaws.com - Noms d'hôtes personnalisés
-
Vous pouvez également configurer des noms d'hôte personnalisés pour vos AWS Transfer Family serveurs. Les noms d'hôte personnalisés peuvent être utilisés pour offrir une expérience plus conviviale ou personnalisée à vos utilisateurs.
Pour utiliser un nom d'hôte personnalisé, vous devez :
-
Posséder le nom de domaine
-
Fournir un certificat valide
-
Configurer les enregistrements DNS pour qu'ils pointent vers votre AWS Transfer Family serveur
-
Pour une liste complète des AWS Transfer Family points de terminaison par AWS région, consultez les AWS Transfer Family points de terminaison et les quotas dans le. Références générales AWS