

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.

# Configuration d'un point de terminaison de serveur SFTP, FTPS ou FTP
<a name="sftp-for-transfer-family"></a>

Cette rubrique fournit des informations détaillées sur la création et l'utilisation de points de terminaison de AWS Transfer Family serveur utilisant un ou plusieurs protocoles SFTP, FTPS et FTP.

**Topics**
+ [Options du fournisseur d'identité](#identity-provider-details)
+ [AWS Transfer Family matrice des types de terminaux](#endpoint-matrix)
+ [Configuration d'un point de terminaison de serveur SFTP, FTPS ou FTP](tf-server-endpoint.md)
+ [Considérations relatives aux Network Load Balancer FTP et FTPS](#ftp-ftps-nlb-considerations)
+ [Transfert de fichiers via un point de terminaison serveur à l'aide d'un client](transfer-file.md)
+ [Gestion des utilisateurs pour les points de terminaison du serveur](create-user.md)
+ [Utilisation de répertoires logiques pour simplifier vos structures de répertoires Transfer Family](logical-dir-mappings.md)
+ [Accédez à vos systèmes de fichiers FSx for NetApp ONTAP avec Transfer Family](fsx-s3-access-points.md)

## Options du fournisseur d'identité
<a name="identity-provider-details"></a>

AWS Transfer Family propose plusieurs méthodes d'authentification et de gestion des utilisateurs. Le tableau suivant compare les fournisseurs d'identité disponibles que vous pouvez utiliser avec Transfer Family.


| Action | AWS Transfer Family service géré | AWS Managed Microsoft AD | Amazon API Gateway | AWS Lambda | 
| --- | --- | --- | --- | --- | 
| Protocoles pris en charge | SFTP | SFTP, FTPS, FTP | SFTP, FTPS, FTP | SFTP, FTPS, FTP | 
|  Authentification basée sur des clés  |  Oui  |  Non  |  Oui  |  Oui  | 
|  Authentification par mot de passe  |  Non  |  Oui  |  Oui  |  Oui  | 
|  Gestion des identités et des accès AWS (IAM) et POSIX  |  Oui  |  Oui  |  Oui  |  Oui  | 
|  Répertoire de base logique  |  Oui  |  Oui  |  Oui  |  Oui  | 
| Accès paramétré (basé sur le nom d'utilisateur) | Oui | Oui | Oui | Oui | 
|  Structure d'accès ad hoc  |  Oui  |  Non  |  Oui  |  Oui  | 
|  AWS WAF  |  Non  |  Non  |  Oui  |  Non  | 

Remarques :
+ IAM est utilisé pour contrôler l'accès au stockage de sauvegarde Amazon S3, et POSIX est utilisé pour Amazon EFS.
+ *Ad hoc* fait référence à la possibilité d'envoyer le profil utilisateur lors de l'exécution. Par exemple, vous pouvez rediriger les utilisateurs vers leur répertoire personnel en transmettant le nom d'utilisateur sous forme de variable.
+ Pour plus de détails sur AWS WAF, voir[Ajouter un pare-feu pour applications Web](web-application-firewall.md).
+ Un article de blog décrit l'utilisation d'une fonction Lambda intégrée à Microsoft Entra ID (anciennement Azure AD) en tant que fournisseur d'identité Transfer Family. Pour plus de détails, consultez [Authentification AWS Transfer Family auprès d'Azure Active Directory et AWS Lambda](https://aws.amazon.com/blogs/storage/authenticating-to-aws-transfer-family-with-azure-active-directory-and-aws-lambda/).
+ Nous proposons plusieurs CloudFormation modèles pour vous aider à déployer rapidement un serveur Transfer Family qui utilise un fournisseur d'identité personnalisé. Pour en savoir plus, consultez [Modèles de fonctions Lambda](custom-lambda-idp.md#lambda-idp-templates).

Dans les procédures suivantes, vous pouvez créer un serveur compatible SFTP, un serveur compatible FTP, un serveur compatible FTP ou un serveur activé. AS2

**Étape suivante**
+ [Création d'un serveur compatible SFTP](create-server-sftp.md)
+ [Création d'un serveur compatible FTP](create-server-ftps.md)
+ [Création d'un serveur compatible FTP](create-server-ftp.md)
+ [Configuration AS2](create-b2b-server.md)

## AWS Transfer Family matrice des types de terminaux
<a name="endpoint-matrix"></a>

Lorsque vous créez un serveur Transfer Family, vous choisissez le type de point de terminaison à utiliser. Le tableau suivant décrit les caractéristiques de chaque type de point de terminaison.


**Matrice des types de terminaux**  

| Caractéristiques | Public | VPC - Internet | VPC - Interne | VPC\$1Endpoint (obsolète) | 
| --- | --- | --- | --- | --- | 
| Protocoles pris en charge | SFTP | SFTP, FTPS, AS2 | SFTP, FTP, FTPS, AS2 | SFTP | 
| Accès | Depuis Internet. Ce type de point de terminaison ne nécessite aucune configuration particulière dans votre VPC. | Sur Internet et depuis des environnements VPC ou connectés à un VPC, tels qu'un centre de données sur site ou un VPN. Direct Connect  | Depuis un VPC ou des environnements connectés à un VPC, tels qu'un centre de données sur site ou un VPN. Direct Connect  | Depuis un VPC ou des environnements connectés à un VPC, tels qu'un centre de données sur site ou un VPN. Direct Connect  | 
| Adresse IP statique | Vous ne pouvez pas joindre une adresse IP statique. AWS fournit des adresses IP susceptibles d'être modifiées. |  Vous pouvez associer des adresses IP élastiques au point de terminaison. Il peut s'agir d'adresses IP que vous AWS possédez ou de vos propres adresses IP ([apportez vos propres adresses IP](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html)). Les adresses IP élastiques associées au point de terminaison ne changent pas. Les adresses IP privées associées au serveur ne changent pas non plus.  | Les adresses IP privées associées au point de terminaison ne changent pas. | Les adresses IP privées associées au point de terminaison ne changent pas. | 
| Liste d'adresses IP autorisées source |  Ce type de point de terminaison ne prend pas en charge les listes d'autorisation par adresse IP source. Le point de terminaison est accessible au public et écoute le trafic sur le port 22.  Pour les terminaux hébergés par VPC, les serveurs SFTP Transfer Family peuvent fonctionner sur le port 22 (par défaut), 2222, 2223 ou 22000.   |  Pour autoriser l'accès par adresse IP source, vous pouvez utiliser des groupes de sécurité attachés aux points de terminaison du serveur et un réseau ACLs rattaché au sous-réseau dans lequel se trouve le point de terminaison.  |  Pour autoriser l'accès par adresse IP source, vous pouvez utiliser des groupes de sécurité attachés aux points de terminaison du serveur et des listes de contrôle d'accès réseau (réseau ACLs) attachées au sous-réseau dans lequel se trouve le point de terminaison.  |  Pour autoriser l'accès par adresse IP source, vous pouvez utiliser des groupes de sécurité attachés aux points de terminaison du serveur et un réseau ACLs rattaché au sous-réseau dans lequel se trouve le point de terminaison.  | 
| Liste des autorisations du pare-feu client |  Vous devez autoriser le nom DNS du serveur. Les adresses IP étant susceptibles de changer, évitez d'utiliser des adresses IP pour la liste d'autorisation de votre pare-feu client.  |  Vous pouvez autoriser le nom DNS du serveur ou les adresses IP élastiques associées au serveur.  |  Vous pouvez autoriser les adresses IP privées ou le nom DNS des points de terminaison.  |  Vous pouvez autoriser les adresses IP privées ou le nom DNS des points de terminaison.  | 
| Type d’adresse IP | IPv4 (par défaut) ou double pile (IPv4 et IPv6) | IPv4 uniquement (la double pile n'est pas prise en charge) | IPv4 (par défaut) ou double pile (IPv4 et IPv6) | IPv4 uniquement (la double pile n'est pas prise en charge) | 

**Note**  
Le type de `VPC_ENDPOINT` point de terminaison est désormais obsolète et ne peut pas être utilisé pour créer de nouveaux serveurs. Au lieu de l'utiliser`EndpointType=VPC_ENDPOINT`, utilisez le type de point de terminaison VPC (`EndpointType=VPC`), que vous pouvez utiliser comme point de terminaison **interne** ou **connecté à Internet**, comme décrit dans le tableau précédent.  
Pour plus de détails sur cette dépréciation, consultez. [Arrêt de l'utilisation de VPC\$1ENDPOINTVous pouvez modifier le type de point de terminaison de votre serveur à l'aide de la console Transfer Family SDKs, de l'API ou CloudFormation. AWS CLI Pour modifier le type de point de terminaison de votre serveur, consultez[Mise à jour du type de point de terminaison du AWS Transfer Family serveur de VPC\$1ENDPOINT à VPC](update-endpoint-type-vpc.md).](create-server-in-vpc.md#deprecate-vpc-endpoint)
Pour plus d'informations sur la gestion des autorisations des points de terminaison VPC, consultez. [Limiter l'accès aux points de terminaison VPC pour les serveurs Transfer Family](create-server-in-vpc.md#limit-vpc-endpoint-access)

Envisagez les options suivantes pour améliorer le niveau de sécurité de votre AWS Transfer Family serveur :
+ Utilisez un point de terminaison VPC doté d'un accès interne, afin que le serveur ne soit accessible qu'aux clients de votre VPC ou d'environnements connectés au VPC, tels qu'un centre de données sur site ou un VPN. Direct Connect 
+ Pour permettre aux clients d'accéder au point de terminaison via Internet et de protéger votre serveur, utilisez un point de terminaison VPC avec accès Internet. Modifiez ensuite les groupes de sécurité du VPC pour autoriser uniquement le trafic provenant de certaines adresses IP hébergeant les clients de vos utilisateurs.
+ Si vous avez besoin d'une authentification par mot de passe et que vous utilisez un fournisseur d'identité personnalisé pour votre serveur, il est recommandé que votre politique en matière de mots de passe empêche les utilisateurs de créer des mots de passe faibles et limite le nombre de tentatives de connexion infructueuses.
+ AWS Transfer Family est un service géré et ne fournit donc pas d'accès au shell. Vous ne pouvez pas accéder directement au serveur SFTP sous-jacent pour exécuter des commandes natives du système d'exploitation sur les serveurs Transfer Family Family.
+ Utilisez un Network Load Balancer devant un point de terminaison VPC doté d'un accès interne. Changez le port d'écoute de l'équilibreur de charge du port 22 à un port différent. Cela peut réduire, mais pas éliminer, le risque que des scanners de ports et des robots explorent votre serveur, car le port 22 est le plus souvent utilisé pour le scan. Pour plus de détails, consultez le billet de blog Les [Network Load Balancers supportent désormais les groupes de sécurité](https://aws.amazon.com/blogs/containers/network-load-balancers-now-support-security-groups/).
**Note**  
Si vous utilisez un Network Load Balancer, les AWS Transfer Family CloudWatch journaux indiquent l'adresse IP du NLB, plutôt que l'adresse IP réelle du client.

# Configuration d'un point de terminaison de serveur SFTP, FTPS ou FTP
<a name="tf-server-endpoint"></a>

Vous pouvez créer un serveur de transfert de fichiers à l'aide de ce AWS Transfer Family service. Les protocoles de transfert de fichiers suivants sont disponibles :
+ Protocole de transfert de fichiers (SFTP) Secure Shell (SSH) — Transfert de fichiers via SSH. Pour en savoir plus, consultez [Création d'un serveur compatible SFTP](create-server-sftp.md).
**Note**  
Nous fournissons un AWS CDK exemple de création d'un serveur SFTP Transfer Family. L'exemple utilise TypeScript et est disponible GitHub [ici](https://github.com/aws-samples/aws-cdk-examples/tree/master/typescript/aws-transfer-sftp-server).
+ Protocole de transfert de fichiers sécurisé (FTPS) — Transfert de fichiers avec cryptage TLS. Pour en savoir plus, consultez [Création d'un serveur compatible FTP](create-server-ftps.md).
+ Protocole de transfert de fichiers (FTP) — Transfert de fichiers non chiffré. Pour en savoir plus, consultez [Création d'un serveur compatible FTP](create-server-ftp.md).
+ Déclaration d'applicabilité 2 (AS2) — Transfert de fichiers pour le transport de business-to-business données structurées. Pour en savoir plus, consultez [Configuration AS2](create-b2b-server.md). En AS2 effet, vous pouvez créer rapidement une CloudFormation pile à des fins de démonstration. Cette procédure est décrite dans[Utilisez un modèle pour créer une démo Transfer Family AS2 stack](create-as2-transfer-server.md#as2-cfn-demo-template).

Vous pouvez créer un serveur avec plusieurs protocoles.

**Note**  
Si plusieurs protocoles sont activés pour le même point de terminaison de serveur et que vous souhaitez fournir un accès en utilisant le même nom d'utilisateur sur plusieurs protocoles, vous pouvez le faire à condition que les informations d'identification spécifiques au protocole aient été configurées dans votre fournisseur d'identité. Pour le protocole FTP, nous vous recommandons de conserver des informations d'identification distinctes pour le protocole SFTP et le protocole FTPS. Cela est dû au fait que, contrairement au SFTP et au FTPS, le protocole FTP transmet les informations d'identification en texte clair. En isolant les informations d'identification FTP de celles du protocole SFTP ou FTPS, si les informations d'identification FTP sont partagées ou exposées, vos charges de travail utilisant le protocole SFTP ou FTPS restent sécurisées.

Lorsque vous créez un serveur, vous choisissez un serveur spécifique Région AWS pour exécuter les demandes d'opérations de fichier des utilisateurs assignés à ce serveur. Outre l'attribution d'un ou de plusieurs protocoles au serveur, vous attribuez également l'un des types de fournisseurs d'identité suivants :
+ **Service géré à l'aide de clés SSH.** Pour en savoir plus, consultez [Travailler avec des utilisateurs gérés par des services](service-managed-users.md).
+ **AWS Directory Service for Microsoft Active Directory (AWS Managed Microsoft AD)**. Cette méthode vous permet d'intégrer vos groupes Microsoft Active Directory afin de fournir un accès à vos serveurs Transfer Family. Pour en savoir plus, consultez [Utilisation de AWS Directory Service pour Microsoft Active Directory](directory-services-users.md).
+ **Un fournisseur d'identité personnalisé**. Transfer Family propose plusieurs options pour utiliser un fournisseur d'identité personnalisé, comme décrit dans la [Travailler avec des fournisseurs d'identité personnalisés](custom-idp-intro.md) rubrique.

Vous attribuez également au serveur un type de point de terminaison (accessible au public ou hébergé par VPC) et un nom d'hôte en utilisant le point de terminaison du serveur par défaut, ou un nom d'hôte personnalisé en utilisant le service Amazon Route 53 ou en utilisant un service DNS (Domain Name System) de votre choix. Le nom d'hôte d'un serveur doit être unique dans l' Région AWS endroit où il a été créé.

En outre, vous pouvez attribuer un rôle de CloudWatch journalisation Amazon pour envoyer des événements à vos CloudWatch journaux, choisir une politique de sécurité contenant les algorithmes cryptographiques activés pour être utilisés par votre serveur et ajouter des métadonnées au serveur sous la forme de balises qui sont des paires clé-valeur.

**Important**  
Vous engagez des coûts pour les serveurs instanciés et pour le transfert de données. Pour plus d'informations sur les tarifs et Calculateur de tarification AWS pour obtenir une estimation du coût d'utilisation de Transfer Family, consultez [AWS Transfer Family les tarifs](https://aws.amazon.com/aws-transfer-family/pricing/).

# Création d'un serveur compatible SFTP
<a name="create-server-sftp"></a>

Le protocole de transfert de fichiers (SFTP) Secure Shell (SSH) est un protocole réseau utilisé pour le transfert sécurisé de données sur Internet. Le protocole prend en charge toutes les fonctionnalités de sécurité et d'authentification de SSH. Il est largement utilisé pour échanger des données, y compris des informations sensibles entre des partenaires commerciaux de divers secteurs tels que les services financiers, les soins de santé, le commerce de détail et la publicité.

**Notez ce qui suit**
+ Les serveurs SFTP de Transfer Family fonctionnent via le port 22. Pour les terminaux hébergés par VPC, les serveurs SFTP Transfer Family peuvent également fonctionner via les ports 2222, 2223 ou 22000. Pour en savoir plus, consultez [Création d'un serveur dans un cloud privé virtuel](create-server-in-vpc.md).
+ Les points de terminaison publics ne peuvent pas restreindre le trafic via des groupes de sécurité. Pour utiliser des groupes de sécurité avec votre serveur Transfer Family, vous devez héberger le point de terminaison de votre serveur dans un cloud privé virtuel (VPC) comme décrit dans. [Création d'un serveur dans un cloud privé virtuel](create-server-in-vpc.md)

**Voir aussi**
+ Nous fournissons un AWS CDK exemple de création d'un serveur SFTP Transfer Family. L'exemple utilise TypeScript et est disponible GitHub [ici](https://github.com/aws-samples/aws-cdk-examples/tree/master/typescript/aws-transfer-sftp-server).
+ Pour savoir comment déployer un serveur Transfer Family au sein d'un VPC, [consultez la section Utiliser la liste d'adresses IP autorisées pour sécuriser AWS Transfer Family](https://aws.amazon.com/blogs//storage/use-ip-allow-list-to-secure-your-aws-transfer-for-sftp-servers/) vos serveurs.

**Pour créer un serveur compatible SFTP**

1. Ouvrez la AWS Transfer Family console sur [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/)et sélectionnez **Servers** dans le volet de navigation, puis choisissez **Create server**.

1. Dans **Choisir les protocoles**, sélectionnez **SFTP**, puis **Next**.

1. Dans **Choisir un fournisseur d'identité**, choisissez le fournisseur d'identité que vous souhaitez utiliser pour gérer l'accès des utilisateurs. Vous avez les options suivantes :
   + **Service géré** — Vous y stockez les identités et les clés des utilisateurs AWS Transfer Family. 
   + **AWS Directory Service for Microsoft Active Directory**— Vous fournissez un Directory Service répertoire pour accéder au point de terminaison. Ce faisant, vous pouvez utiliser les informations d'identification stockées dans votre Active Directory pour authentifier vos utilisateurs. Pour en savoir plus sur la collaboration avec les fournisseurs AWS Managed Microsoft AD d'identité, consultez[Utilisation de AWS Directory Service pour Microsoft Active Directory](directory-services-users.md).
**Note**  
 Les annuaires multicomptes et partagés ne sont pas pris en charge pour AWS Managed Microsoft AD. 
Pour configurer un serveur avec Directory Service comme fournisseur d'identité, vous devez ajouter des Directory Service autorisations. Pour en savoir plus, consultez [Avant de commencer à utiliser AWS Directory Service for Microsoft Active Directory](directory-services-users.md#managed-ad-prereq).
   + **Fournisseur d'identité personnalisé** : choisissez l'une des options suivantes :
     + ** AWS Lambda À utiliser pour connecter votre fournisseur d'identité** : vous pouvez utiliser un fournisseur d'identité existant, soutenu par une fonction Lambda. Vous indiquez le nom de la fonction Lambda. Pour de plus amples informations, veuillez consulter [Utilisation AWS Lambda pour intégrer votre fournisseur d'identité](custom-lambda-idp.md).
     + **Utilisez Amazon API Gateway pour connecter votre fournisseur d'identité** : vous pouvez créer une méthode API Gateway basée sur une fonction Lambda à utiliser en tant que fournisseur d'identité. Vous fournissez une URL Amazon API Gateway et un rôle d'invocation. Pour de plus amples informations, veuillez consulter [Utilisation d'Amazon API Gateway pour intégrer votre fournisseur d'identité](authentication-api-gateway.md).  
![\[La section de console Choisissez un fournisseur d'identité avec le fournisseur d'identité personnalisé sélectionné. La valeur par défaut est également sélectionnée, à savoir que les utilisateurs peuvent s'authentifier à l'aide de leur mot de passe ou de leur clé.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/custom-lambda-console.png)

1. Choisissez **Suivant**.

1. Dans **Choisir un point de terminaison**, procédez comme suit :

   1. Pour le **type de point de terminaison**, choisissez le type de point de terminaison **accessible au public**. Pour un point de terminaison **hébergé par un VPC**, consultez. [Création d'un serveur dans un cloud privé virtuel](create-server-in-vpc.md)

   1.  Pour le **type d'adresse IP**, choisissez **IPv4**(par défaut) pour la rétrocompatibilité ou **Dual-Stack** pour activer à la fois les IPv6 connexions à votre IPv4 point de terminaison.
**Note**  
Le mode Dual-Stack permet à votre terminal Transfer Family de communiquer à la fois avec IPv4 les clients IPv6 activés. Cela vous permet de passer progressivement d'un système IPv4 IPv6 à un autre sans avoir à tout changer en même temps.

   1. (Facultatif) Pour **Nom d'hôte personnalisé**, choisissez **Aucun**.

      Vous obtenez un nom d'hôte de serveur fourni par AWS Transfer Family. Le nom d'hôte du serveur se présente sous la forme `serverId.server.transfer.regionId.amazonaws.com`.

      Pour un nom d'hôte personnalisé, vous devez spécifier un alias personnalisé pour le point de terminaison de votre serveur. Pour en savoir plus sur l'utilisation de noms d'hôtes personnalisés, consultez[Utilisation de noms d'hôtes personnalisés](requirements-dns.md).

   1. (Facultatif) Pour **FIPS Enabled**, cochez la case **FIPS Enabled endpoint** pour vous assurer que le endpoint est conforme aux Federal Information Processing Standards (FIPS).
**Note**  
Les terminaux compatibles FIPS ne sont disponibles que dans les régions d'Amérique du Nord. AWS Pour les régions disponibles, consultez les [AWS Transfer Family points de terminaison et les quotas](https://docs.aws.amazon.com/general/latest/gr/transfer-service.html) dans le *Références générales AWS*. Pour plus d'informations sur la norme FIPS, consultez la [norme fédérale de traitement de l'information (FIPS)](https://aws.amazon.com/compliance/fips/) 140-2.

   1. Choisissez **Suivant**.

1. Sur la page **Choisir un domaine**, choisissez le service de AWS stockage que vous souhaitez utiliser pour stocker et accéder à vos données via le protocole sélectionné :
   + Choisissez **Amazon S3** pour stocker et accéder à vos fichiers sous forme d'objets via le protocole sélectionné.
   + Choisissez **Amazon EFS** pour stocker et accéder à vos fichiers dans votre système de fichiers Amazon EFS via le protocole sélectionné.

   Choisissez **Suivant**.

1. Dans **Configurer les détails supplémentaires**, procédez comme suit :

   1. Pour la journalisation, spécifiez un groupe de journaux existant ou créez-en un nouveau (option par défaut). Si vous choisissez un groupe de journaux existant, vous devez en sélectionner un qui est associé à votre Compte AWS.  
![\[Volet de journalisation pour configurer des détails supplémentaires dans l'assistant de création de serveur. Choisir un groupe de journaux existant est sélectionné.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/logging-server-choose-existing-group.png)

      Si vous choisissez **Créer un groupe de journaux**, la CloudWatch console ([https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)) s'ouvre sur la page **Créer un groupe de journaux**. Pour plus de détails, voir [Création d'un groupe de CloudWatch journaux dans Logs](https://docs.aws.amazon.com//AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html#Create-Log-Group). 

   1.  (Facultatif) Pour les **flux de travail gérés**, choisissez le flux de travail IDs (et le rôle correspondant) que Transfer Family doit assumer lors de l'exécution du flux de travail. Vous pouvez choisir un flux de travail à exécuter lors d'un téléchargement complet et un autre à exécuter lors d'un téléchargement partiel. Pour en savoir plus sur le traitement de vos fichiers à l'aide de flux de travail gérés, consultez[AWS Transfer Family flux de travail gérés](transfer-workflows.md).  
![\[La section Console des flux de travail gérés.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/workflows-addtoserver.png)

   1. Pour les **options d'algorithme cryptographique**, choisissez une politique de sécurité contenant les algorithmes cryptographiques activés pour être utilisés par votre serveur. Notre dernière politique de sécurité est celle par défaut : pour plus de détails, voir[Politiques de sécurité pour les AWS Transfer Family serveurs](security-policies.md).

   1. (Facultatif) Pour la **clé d'hôte du serveur**, entrez une clé privée RSA ou ECDSA qui sera utilisée pour identifier votre serveur lorsque les clients s'y connecteront via SFTP. ED25519 Vous pouvez également ajouter une description pour différencier les différentes clés d'hôte. 

      Après avoir créé votre serveur, vous pouvez ajouter des clés d'hôte supplémentaires. Il est utile de disposer de plusieurs clés hôtes si vous souhaitez faire pivoter les clés ou si vous souhaitez disposer de différents types de clés, comme une clé RSA et une clé ECDSA.
**Note**  
La section **Server Host Key** est utilisée uniquement pour migrer des utilisateurs depuis un serveur SFTP existant.

   1. (Facultatif) Pour les **balises**, pour la **clé** et **la valeur**, entrez une ou plusieurs balises sous forme de paires clé-valeur, puis choisissez **Ajouter** une balise.

   1. Choisissez **Suivant**.

   1. Vous pouvez optimiser les performances de vos annuaires Amazon S3. Supposons, par exemple, que vous vous rendiez dans votre répertoire personnel et que vous disposiez de 10 000 sous-répertoires. En d'autres termes, votre compartiment Amazon S3 contient 10 000 dossiers. Dans ce scénario, si vous exécutez la commande `ls` (list), l'opération de liste prend entre six et huit minutes. Toutefois, si vous optimisez vos répertoires, cette opération ne prend que quelques secondes.

      Lorsque vous créez votre serveur à l'aide de la console, les répertoires optimisés sont activés par défaut. Si vous créez votre serveur à l'aide de l'API, ce comportement n'est pas activé par défaut.  
![\[La section console des annuaires optimisés.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/optimized-directories.png)

   1. (Facultatif) Configurez AWS Transfer Family les serveurs pour afficher des messages personnalisés tels que les politiques organisationnelles ou les conditions générales à l'intention de vos utilisateurs finaux. Pour **Afficher la bannière**, dans la zone de texte de la **bannière d'affichage préalable à l'authentification**, entrez le message texte que vous souhaitez afficher à vos utilisateurs avant qu'ils ne s'authentifient.

   1. (Facultatif) Vous pouvez configurer les options supplémentaires suivantes.
      + **SetStat option** : activez cette option pour ignorer l'erreur générée lorsqu'un client tente de l'utiliser `SETSTAT` sur un fichier que vous téléchargez dans un compartiment Amazon S3. Pour plus de détails, consultez la `SetStatOption` documentation dans le [ProtocolDetails](https://docs.aws.amazon.com/transfer/latest/APIReference/API_ProtocolDetails.html).
      + Reprise de **session TLS** : cette option n'est disponible que si vous avez activé le protocole FTPS pour ce serveur.
      + **IP passive** : cette option n'est disponible que si vous avez activé FTPS ou FTP comme protocole pour ce serveur.  
![\[Écran d'options supplémentaires pour la page de détails du serveur.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/create-server-configure-additional-items-sftp.png)

1. Dans **Réviser et créer**, passez en revue vos choix.
   + Si vous souhaitez modifier l'un d'entre eux, choisissez **Modifier** à côté de l'étape.
**Note**  
Vous devez passer en revue chaque étape après celle que vous avez choisi de modifier.
   + Si aucune modification n'est apportée, choisissez **Create server** pour créer votre serveur. Vous êtes dirigé vers la page **Servers (Serveurs)**, représentée ci-dessous, dans laquelle figure votre nouveau serveur.

Quelques minutes peuvent s'écouler avant que le statut de votre nouveau serveur passe à **En ligne**. À ce stade, votre serveur peut effectuer des opérations sur les fichiers, mais vous devez d'abord créer un utilisateur. Pour plus de détails sur la création d'utilisateurs, consultez[Gestion des utilisateurs pour les points de terminaison du serveur](create-user.md).

# Création d'un serveur compatible FTP
<a name="create-server-ftps"></a>

Le protocole de transfert de fichiers via SSL (FTPS) est une extension du protocole FTP. Il utilise les protocoles cryptographiques Transport Layer Security (TLS) et Secure Sockets Layer (SSL) pour chiffrer le trafic. Le protocole FTPS permet le chiffrement des connexions au canal de commande et au canal de données, simultanément ou indépendamment.

**Note**  
Pour des considérations importantes concernant les équilibreurs de charge réseau, voir[Évitez de placer NLBs les AWS Transfer Family serveurs et NATs de les placer devant eux](infrastructure-security.md#nlb-considerations).

**Pour créer un serveur compatible FTP**

1. Ouvrez la AWS Transfer Family console sur [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/)et sélectionnez **Servers** dans le volet de navigation, puis choisissez **Create server**.

1. Dans **Choisir les protocoles**, sélectionnez **FTPS.**

   **Pour le **certificat de serveur**, choisissez un certificat stocké dans AWS Certificate Manager (ACM) qui sera utilisé pour identifier votre serveur lorsque les clients s'y connecteront via FTPS, puis choisissez Next.**

   Pour demander un nouveau certificat public, consultez la section [Demander un certificat public](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html) dans le *guide de AWS Certificate Manager l'utilisateur*.

   Pour importer un certificat existant dans ACM, consultez la section [Importation de certificats dans ACM dans](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) le guide de l'*AWS Certificate Manager utilisateur*.

   Pour demander un certificat privé afin d'utiliser le protocole FTPS via des adresses IP privées, consultez la section [Demande d'un certificat privé](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html) dans le *guide de l'AWS Certificate Manager utilisateur*.

   Les certificats avec les algorithmes de chiffrement et les tailles de clés suivants sont pris en charge :
   + RSA 2048 octets (RSA\$12048)
   + RSA 4 096 octets (RSA\$14096)
   + Elliptic Prime Curve 256 octets (EC\$1prime256v1)
   + Elliptic Prime Curve 384 octets (EC\$1secp384r1)
   + Elliptic Prime Curve 521 octets (EC\$1secp521r1)
**Note**  
Le certificat doit être un certificat SSL/TLS X.509 version 3 valide avec le nom de domaine complet ou l'adresse IP spécifiée et contenir des informations sur l'émetteur.

1. Dans **Choisir un fournisseur d'identité**, choisissez le fournisseur d'identité que vous souhaitez utiliser pour gérer l'accès des utilisateurs. Vous avez les options suivantes :
   + **AWS Directory Service for Microsoft Active Directory**— Vous fournissez un Directory Service répertoire pour accéder au point de terminaison. Ce faisant, vous pouvez utiliser les informations d'identification stockées dans votre Active Directory pour authentifier vos utilisateurs. Pour en savoir plus sur la collaboration avec les fournisseurs AWS Managed Microsoft AD d'identité, consultez[Utilisation de AWS Directory Service pour Microsoft Active Directory](directory-services-users.md).
**Note**  
 Les annuaires multicomptes et partagés ne sont pas pris en charge pour AWS Managed Microsoft AD. 
Pour configurer un serveur avec Directory Service comme fournisseur d'identité, vous devez ajouter des Directory Service autorisations. Pour en savoir plus, consultez [Avant de commencer à utiliser AWS Directory Service for Microsoft Active Directory](directory-services-users.md#managed-ad-prereq).
   + **Fournisseur d'identité personnalisé** : choisissez l'une des options suivantes :
     + ** AWS Lambda À utiliser pour connecter votre fournisseur d'identité** : vous pouvez utiliser un fournisseur d'identité existant, soutenu par une fonction Lambda. Vous indiquez le nom de la fonction Lambda. Pour de plus amples informations, veuillez consulter [Utilisation AWS Lambda pour intégrer votre fournisseur d'identité](custom-lambda-idp.md).
     + **Utilisez Amazon API Gateway pour connecter votre fournisseur d'identité** : vous pouvez créer une méthode API Gateway basée sur une fonction Lambda à utiliser en tant que fournisseur d'identité. Vous fournissez une URL Amazon API Gateway et un rôle d'invocation. Pour de plus amples informations, veuillez consulter [Utilisation d'Amazon API Gateway pour intégrer votre fournisseur d'identité](authentication-api-gateway.md).  
![\[La section de console Choisissez un fournisseur d'identité avec le fournisseur d'identité personnalisé sélectionné.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/custom-lambda-console-no-sftp.png)

1. Choisissez **Suivant**.

1. Dans **Choisir un point de terminaison**, procédez comme suit :
**Note**  
 Les serveurs FTPS pour Transfer Family fonctionnent sur le port 21 (canal de contrôle) et sur la plage de ports 8192 à 8200 (canal de données).

   1. Pour le **type de point de terminaison**, choisissez le type de point de terminaison **hébergé par VPC** pour héberger le point de terminaison de votre serveur. Pour plus d'informations sur la configuration de votre point de terminaison hébergé par VPC, consultez. [Création d'un serveur dans un cloud privé virtuel](create-server-in-vpc.md)
**Note**  
Les points de terminaison accessibles au public ne sont pas pris en charge.

   1. (Facultatif) Pour **FIPS Enabled**, cochez la case **FIPS Enabled endpoint** pour vous assurer que le endpoint est conforme aux Federal Information Processing Standards (FIPS).
**Note**  
Les terminaux compatibles FIPS ne sont disponibles que dans les régions d'Amérique du Nord. AWS Pour les régions disponibles, consultez les [AWS Transfer Family points de terminaison et les quotas](https://docs.aws.amazon.com/general/latest/gr/transfer-service.html) dans le *Références générales AWS*. Pour plus d'informations sur la norme FIPS, consultez la [norme fédérale de traitement de l'information (FIPS)](https://aws.amazon.com/compliance/fips/) 140-2.

   1. Choisissez **Suivant**.  
![\[La section Choisissez une console de point de terminaison avec un VPC hébergé est sélectionnée.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/create-server-choose-endpoint-vpc-internal.png)

1. Sur la page **Choisir un domaine**, choisissez le service de AWS stockage que vous souhaitez utiliser pour stocker et accéder à vos données via le protocole sélectionné :
   + Choisissez **Amazon S3** pour stocker et accéder à vos fichiers sous forme d'objets via le protocole sélectionné.
   + Choisissez **Amazon EFS** pour stocker et accéder à vos fichiers dans votre système de fichiers Amazon EFS via le protocole sélectionné.

   Choisissez **Suivant**.

1. Dans **Configurer les détails supplémentaires**, procédez comme suit :

   1. Pour la journalisation, spécifiez un groupe de journaux existant ou créez-en un nouveau (option par défaut).  
![\[Volet de journalisation pour configurer des détails supplémentaires dans l'assistant de création de serveur. Choisir un groupe de journaux existant est sélectionné.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/logging-server-choose-existing-group.png)

      Si vous choisissez **Créer un groupe de journaux**, la CloudWatch console ([https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)) s'ouvre sur la page **Créer un groupe de journaux**. Pour plus de détails, voir [Création d'un groupe de CloudWatch journaux dans Logs](https://docs.aws.amazon.com//AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html#Create-Log-Group). 

   1.  (Facultatif) Pour les **flux de travail gérés**, choisissez le flux de travail IDs (et le rôle correspondant) que Transfer Family doit assumer lors de l'exécution du flux de travail. Vous pouvez choisir un flux de travail à exécuter lors d'un téléchargement complet et un autre à exécuter lors d'un téléchargement partiel. Pour en savoir plus sur le traitement de vos fichiers à l'aide de flux de travail gérés, consultez[AWS Transfer Family flux de travail gérés](transfer-workflows.md).  
![\[La section Console des flux de travail gérés.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/workflows-addtoserver.png)

   1. Pour les **options d'algorithme cryptographique**, choisissez une politique de sécurité contenant les algorithmes cryptographiques activés pour être utilisés par votre serveur. Notre dernière politique de sécurité est celle par défaut : pour plus de détails, voir[Politiques de sécurité pour les AWS Transfer Family serveurs](security-policies.md).

   1. Pour la **clé d'hôte du serveur**, laissez-la vide.

   1. (Facultatif) Pour les **balises**, pour la **clé** et **la valeur**, entrez une ou plusieurs balises sous forme de paires clé-valeur, puis choisissez **Ajouter** une balise.

   1. Vous pouvez optimiser les performances de vos annuaires Amazon S3. Supposons, par exemple, que vous vous rendiez dans votre répertoire personnel et que vous disposiez de 10 000 sous-répertoires. En d'autres termes, votre compartiment Amazon S3 contient 10 000 dossiers. Dans ce scénario, si vous exécutez la commande `ls` (list), l'opération de liste prend entre six et huit minutes. Toutefois, si vous optimisez vos répertoires, cette opération ne prend que quelques secondes.

      Lorsque vous créez votre serveur à l'aide de la console, les répertoires optimisés sont activés par défaut. Si vous créez votre serveur à l'aide de l'API, ce comportement n'est pas activé par défaut.  
![\[La section console des annuaires optimisés.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/optimized-directories.png)

   1. Choisissez **Suivant**.

   1. (Facultatif) Vous pouvez configurer AWS Transfer Family les serveurs pour afficher des messages personnalisés tels que les politiques organisationnelles ou les conditions générales à l'intention de vos utilisateurs finaux. Vous pouvez également afficher un message du jour (MOTD) personnalisé aux utilisateurs qui se sont authentifiés avec succès.

      Pour **Afficher la bannière**, dans la zone de texte de la **bannière d'affichage préalable à l'authentification**, entrez le message texte que vous souhaitez afficher à vos utilisateurs avant qu'ils ne s'authentifient, et dans la zone de texte de la **bannière d'affichage après l'authentification**, entrez le texte que vous souhaitez afficher à vos utilisateurs une fois qu'ils se sont authentifiés avec succès.

   1. (Facultatif) Vous pouvez configurer les options supplémentaires suivantes.
      + **SetStat option** : activez cette option pour ignorer l'erreur générée lorsqu'un client tente de l'utiliser `SETSTAT` sur un fichier que vous téléchargez dans un compartiment Amazon S3. Pour plus de détails, consultez la `SetStatOption` documentation dans cette [ProtocolDetails](https://docs.aws.amazon.com/transfer/latest/APIReference/API_ProtocolDetails.html)rubrique.
      + **Reprise de session TLS** : fournit un mécanisme permettant de reprendre ou de partager une clé secrète négociée entre le contrôle et la connexion de données pour une session FTPS. Pour plus de détails, consultez la `TlsSessionResumptionMode` documentation dans cette [ProtocolDetails](https://docs.aws.amazon.com/transfer/latest/APIReference/API_ProtocolDetails.html)rubrique.
      + **IP passive** : indique le mode passif, pour les protocoles FTP et FTPS. Entrez une IPv4 adresse unique, telle que l'adresse IP publique d'un pare-feu, d'un routeur ou d'un équilibreur de charge. Pour plus de détails, consultez la `PassiveIp` documentation dans cette [ProtocolDetails](https://docs.aws.amazon.com/transfer/latest/APIReference/API_ProtocolDetails.html)rubrique.  
![\[L'écran de configuration supplémentaire affiche SetStat les paramètres de reprise de session TLS et IP passive.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/create-server-configure-additional-items-all.png)

1. Dans **Réviser et créer**, passez en revue vos choix.
   + Si vous souhaitez modifier l'un d'entre eux, choisissez **Modifier** à côté de l'étape.
**Note**  
Vous devez passer en revue chaque étape après celle que vous avez choisi de modifier.
   + Si aucune modification n'est apportée, choisissez **Create server** pour créer votre serveur. Vous êtes dirigé vers la page **Servers (Serveurs)**, représentée ci-dessous, dans laquelle figure votre nouveau serveur.

Quelques minutes peuvent s'écouler avant que le statut de votre nouveau serveur passe à **En ligne**. À ce stade, votre serveur peut effectuer des opérations sur fichiers pour vos utilisateurs.

**Prochaines étapes** : Pour l'étape suivante, passez [Travailler avec des fournisseurs d'identité personnalisés](custom-idp-intro.md) à la section Configuration des utilisateurs.

# Création d'un serveur compatible FTP
<a name="create-server-ftp"></a>

Le protocole FTP (File Transfer Protocol) est un protocole réseau utilisé pour le transfert de données. Le protocole FTP utilise un canal distinct pour le contrôle et les transferts de données. Le canal de contrôle est ouvert jusqu'à son arrêt ou jusqu'à expiration du délai d'inactivité. Le canal de données est actif pendant toute la durée du transfert. Le protocole FTP utilise du texte clair et ne prend pas en charge le chiffrement du trafic.

**Note**  
Lorsque vous activez le FTP, vous devez choisir l'option d'accès interne pour le point de terminaison hébergé par VPC. Si vous avez besoin que les données de votre serveur transitent par le réseau public, vous devez utiliser des protocoles sécurisés, tels que SFTP ou FTPS. 

**Note**  
Pour des considérations importantes concernant les équilibreurs de charge réseau, voir[Évitez de placer NLBs les AWS Transfer Family serveurs et NATs de les placer devant eux](infrastructure-security.md#nlb-considerations).

**Pour créer un serveur compatible FTP**

1. Ouvrez la AWS Transfer Family console sur [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/)et sélectionnez **Servers** dans le volet de navigation, puis choisissez **Create server**.

1. Dans **Choisir les protocoles**, sélectionnez **FTP**, puis **Next**.

1. Dans **Choisir un fournisseur d'identité**, choisissez le fournisseur d'identité que vous souhaitez utiliser pour gérer l'accès des utilisateurs. Vous avez les options suivantes :
   + **AWS Directory Service for Microsoft Active Directory**— Vous fournissez un Directory Service répertoire pour accéder au point de terminaison. Ce faisant, vous pouvez utiliser les informations d'identification stockées dans votre Active Directory pour authentifier vos utilisateurs. Pour en savoir plus sur la collaboration avec les fournisseurs AWS Managed Microsoft AD d'identité, consultez[Utilisation de AWS Directory Service pour Microsoft Active Directory](directory-services-users.md).
**Note**  
 Les annuaires multicomptes et partagés ne sont pas pris en charge pour AWS Managed Microsoft AD. 
Pour configurer un serveur avec Directory Service comme fournisseur d'identité, vous devez ajouter des Directory Service autorisations. Pour en savoir plus, consultez [Avant de commencer à utiliser AWS Directory Service for Microsoft Active Directory](directory-services-users.md#managed-ad-prereq).
   + **Fournisseur d'identité personnalisé** : choisissez l'une des options suivantes :
     + ** AWS Lambda À utiliser pour connecter votre fournisseur d'identité** : vous pouvez utiliser un fournisseur d'identité existant, soutenu par une fonction Lambda. Vous indiquez le nom de la fonction Lambda. Pour de plus amples informations, veuillez consulter [Utilisation AWS Lambda pour intégrer votre fournisseur d'identité](custom-lambda-idp.md).
     + **Utilisez Amazon API Gateway pour connecter votre fournisseur d'identité** : vous pouvez créer une méthode API Gateway basée sur une fonction Lambda à utiliser en tant que fournisseur d'identité. Vous fournissez une URL Amazon API Gateway et un rôle d'invocation. Pour de plus amples informations, veuillez consulter [Utilisation d'Amazon API Gateway pour intégrer votre fournisseur d'identité](authentication-api-gateway.md).  
![\[La section de console Choisissez un fournisseur d'identité avec le fournisseur d'identité personnalisé sélectionné.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/custom-lambda-console-no-sftp.png)

1. Choisissez **Suivant**.

1. Dans **Choisir un point de terminaison**, procédez comme suit :
**Note**  
Les serveurs FTP pour Transfer Family fonctionnent sur le port 21 (canal de contrôle) et sur la plage de ports 8192 à 8200 (canal de données).

   1. Pour le **type de point de terminaison**, choisissez **VPC hébergé** pour héberger le point de terminaison de votre serveur. Pour plus d'informations sur la configuration de votre point de terminaison hébergé par VPC, consultez. [Création d'un serveur dans un cloud privé virtuel](create-server-in-vpc.md)
**Note**  
Les points de terminaison accessibles au public ne sont pas pris en charge.

   1. Pour **FIPS Enabled**, laissez la case **FIPS Enabled Endpoint** cochée.
**Note**  
Les points de terminaison compatibles FIPS ne sont pas pris en charge par les serveurs FTP.

   1. Choisissez **Suivant**.  
![\[La section Choisissez une console de point de terminaison avec un VPC hébergé est sélectionnée.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/create-server-choose-endpoint-vpc-internal.png)

1. Sur la page **Choisir un domaine**, choisissez le service de AWS stockage que vous souhaitez utiliser pour stocker et accéder à vos données via le protocole sélectionné.
   + Choisissez **Amazon S3** pour stocker et accéder à vos fichiers sous forme d'objets via le protocole sélectionné.
   + Choisissez **Amazon EFS** pour stocker et accéder à vos fichiers dans votre système de fichiers Amazon EFS via le protocole sélectionné.

   Choisissez **Suivant**.

1. Dans **Configurer les détails supplémentaires**, procédez comme suit :

   1. Pour la journalisation, spécifiez un groupe de journaux existant ou créez-en un nouveau (option par défaut).  
![\[Volet de journalisation pour configurer des détails supplémentaires dans l'assistant de création de serveur. Choisir un groupe de journaux existant est sélectionné.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/logging-server-choose-existing-group.png)

      Si vous choisissez **Créer un groupe de journaux**, la CloudWatch console ([https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)) s'ouvre sur la page **Créer un groupe de journaux**. Pour plus de détails, voir [Création d'un groupe de CloudWatch journaux dans Logs](https://docs.aws.amazon.com//AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html#Create-Log-Group). 

   1.  (Facultatif) Pour les **flux de travail gérés**, choisissez le flux de travail IDs (et le rôle correspondant) que Transfer Family doit assumer lors de l'exécution du flux de travail. Vous pouvez choisir un flux de travail à exécuter lors d'un téléchargement complet et un autre à exécuter lors d'un téléchargement partiel. Pour en savoir plus sur le traitement de vos fichiers à l'aide de flux de travail gérés, consultez[AWS Transfer Family flux de travail gérés](transfer-workflows.md).  
![\[La section Console des flux de travail gérés.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/workflows-addtoserver.png)

   1. Pour les **options d'algorithme cryptographique**, choisissez une politique de sécurité contenant les algorithmes cryptographiques activés pour être utilisés par votre serveur.
**Note**  
Transfer Family attribue la dernière politique de sécurité à votre serveur FTP. Cependant, étant donné que le protocole FTP n'utilise aucun cryptage, les serveurs FTP n'utilisent aucun algorithme de politique de sécurité. À moins que votre serveur n'utilise également le protocole FTPS ou SFTP, la politique de sécurité reste inutilisée.

   1. Pour la **clé d'hôte du serveur**, laissez-la vide.

   1. (Facultatif) Pour les **balises**, pour la **clé** et **la valeur**, entrez une ou plusieurs balises sous forme de paires clé-valeur, puis choisissez **Ajouter** une balise.

   1. Vous pouvez optimiser les performances de vos annuaires Amazon S3. Supposons, par exemple, que vous vous rendiez dans votre répertoire personnel et que vous disposiez de 10 000 sous-répertoires. En d'autres termes, votre compartiment Amazon S3 contient 10 000 dossiers. Dans ce scénario, si vous exécutez la commande `ls` (list), l'opération de liste prend entre six et huit minutes. Toutefois, si vous optimisez vos répertoires, cette opération ne prend que quelques secondes.

      Lorsque vous créez votre serveur à l'aide de la console, les répertoires optimisés sont activés par défaut. Si vous créez votre serveur à l'aide de l'API, ce comportement n'est pas activé par défaut.  
![\[La section console des annuaires optimisés.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/optimized-directories.png)

   1. Choisissez **Suivant**.

   1. (Facultatif) Vous pouvez configurer AWS Transfer Family les serveurs pour afficher des messages personnalisés tels que les politiques organisationnelles ou les conditions générales à l'intention de vos utilisateurs finaux. Vous pouvez également afficher un message du jour (MOTD) personnalisé aux utilisateurs qui se sont authentifiés avec succès.

      Pour **Afficher la bannière**, dans la zone de texte de la **bannière d'affichage préalable à l'authentification**, entrez le message texte que vous souhaitez afficher à vos utilisateurs avant qu'ils ne s'authentifient, et dans la zone de texte de la **bannière d'affichage après l'authentification**, entrez le texte que vous souhaitez afficher à vos utilisateurs une fois qu'ils se sont authentifiés avec succès.

   1. (Facultatif) Vous pouvez configurer les options supplémentaires suivantes.
      + **SetStat option** : activez cette option pour ignorer l'erreur générée lorsqu'un client tente de l'utiliser `SETSTAT` sur un fichier que vous téléchargez dans un compartiment Amazon S3. Pour plus de détails, consultez la `SetStatOption` documentation dans cette [ProtocolDetails](https://docs.aws.amazon.com/transfer/latest/APIReference/API_ProtocolDetails.html)rubrique.
      + **Reprise de session TLS** : fournit un mécanisme permettant de reprendre ou de partager une clé secrète négociée entre le contrôle et la connexion de données pour une session FTPS. Pour plus de détails, consultez la `TlsSessionResumptionMode` documentation dans cette [ProtocolDetails](https://docs.aws.amazon.com/transfer/latest/APIReference/API_ProtocolDetails.html)rubrique.
      + **IP passive** : indique le mode passif, pour les protocoles FTP et FTPS. Entrez une IPv4 adresse unique, telle que l'adresse IP publique d'un pare-feu, d'un routeur ou d'un équilibreur de charge. Pour plus de détails, consultez la `PassiveIp` documentation dans cette [ProtocolDetails](https://docs.aws.amazon.com/transfer/latest/APIReference/API_ProtocolDetails.html)rubrique.  
![\[L'écran de configuration supplémentaire affiche SetStat les paramètres de reprise de session TLS et IP passive.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/create-server-configure-additional-items-all.png)

1. Dans **Réviser et créer**, passez en revue vos choix.
   + Si vous souhaitez modifier l'un d'entre eux, choisissez **Modifier** à côté de l'étape.
**Note**  
Vous devez passer en revue chaque étape après celle que vous avez choisi de modifier.
   + Si aucune modification n'est apportée, choisissez **Create server** pour créer votre serveur. Vous êtes dirigé vers la page **Servers (Serveurs)**, représentée ci-dessous, dans laquelle figure votre nouveau serveur.

Quelques minutes peuvent s'écouler avant que le statut de votre nouveau serveur passe à **En ligne**. À ce stade, votre serveur peut effectuer des opérations sur fichiers pour vos utilisateurs.

**Étapes suivantes** — Pour l'étape suivante, passez [Travailler avec des fournisseurs d'identité personnalisés](custom-idp-intro.md) à la section Configuration des utilisateurs.

# Création d'un serveur dans un cloud privé virtuel
<a name="create-server-in-vpc"></a>

Vous pouvez héberger le point de terminaison de votre serveur dans un cloud privé virtuel (VPC) afin de transférer des données vers et depuis un compartiment Amazon S3 ou un système de fichiers Amazon EFS sans passer par Internet public.

**Note**  
 Après le 19 mai 2021, vous ne pourrez plus créer de serveur `EndpointType=VPC_ENDPOINT` à l'aide de votre AWS compte si celui-ci ne l'a pas déjà fait avant le 19 mai 2021. Si vous avez déjà créé des serveurs `EndpointType=VPC_ENDPOINT` dans votre AWS compte le 21 février 2021 ou avant, vous ne serez pas concerné. Après cette date, utilisez `EndpointType` =**VPC**. Pour de plus amples informations, veuillez consulter [Arrêt de l'utilisation de VPC\$1ENDPOINT](#deprecate-vpc-endpoint).

Si vous utilisez Amazon Virtual Private Cloud (Amazon VPC) pour héberger vos AWS ressources, vous pouvez établir une connexion privée entre votre VPC et un serveur. Vous pouvez ensuite utiliser ce serveur pour transférer des données via votre client vers et depuis votre compartiment Amazon S3 sans utiliser d'adresse IP publique ni nécessiter de passerelle Internet.

À l'aide d'Amazon VPC, vous pouvez lancer AWS des ressources dans un réseau virtuel personnalisé. Vous pouvez utiliser un VPC pour contrôler vos paramètres réseau, tels que la plage d'adresses IP, les sous-réseaux, les tables de routage et les passerelles réseau. Pour plus d'informations VPCs, consultez [Qu'est-ce qu'Amazon VPC ?](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) dans le guide de l'*utilisateur Amazon VPC*.

Dans les sections suivantes, vous trouverez des instructions sur la façon de créer et de connecter votre VPC à un serveur. En résumé, procédez comme suit :

1. Configurez un serveur à l'aide d'un point de terminaison VPC.

1. Connectez-vous à votre serveur à l'aide d'un client situé dans votre VPC via le point de terminaison du VPC. Cela vous permet de transférer les données stockées dans votre compartiment Amazon S3 via votre client à l'aide de AWS Transfer Family. Vous pouvez effectuer ce transfert même si le réseau est déconnecté de l'Internet public.

1.  En outre, si vous choisissez de faire en sorte que le point de terminaison de votre serveur soit connecté à Internet, vous pouvez associer des adresses IP élastiques à votre point de terminaison. Cela permet aux clients extérieurs à votre VPC de se connecter à votre serveur. Vous pouvez utiliser les groupes de sécurité VPC pour contrôler l'accès aux utilisateurs authentifiés dont les demandes proviennent uniquement d'adresses autorisées.

**Note**  
AWS Transfer Family prend en charge les points de terminaison à double pile, permettant à votre serveur de communiquer à la fois via et IPv4 . IPv6 Pour activer le support à double pile, sélectionnez l'option **Activer le point de terminaison DNS à double pile lors de la création de votre point de terminaison** VPC. Notez que votre VPC et vos sous-réseaux doivent être configurés pour être pris en charge IPv6 avant de pouvoir utiliser cette fonctionnalité. La prise en charge du double stack est particulièrement utile lorsque vos clients doivent se connecter à l'aide de l'un ou l'autre protocole.  
Pour plus d'informations sur les points de terminaison à double pile (IPv4 et IPv6) de serveur, consultez. [IPv6 support pour les serveurs Transfer Family](ipv6-support.md)

**Topics**
+ [Créez un point de terminaison de serveur accessible uniquement au sein de votre VPC](#create-server-endpoint-in-vpc)
+ [Créez un point de terminaison connecté à Internet pour votre serveur](#create-internet-facing-endpoint)
+ [Modifier le type de point de terminaison de votre serveur](#change-server-endpoint-type)
+ [Arrêt de l'utilisation de VPC\$1ENDPOINT](#deprecate-vpc-endpoint)
+ [Limiter l'accès aux points de terminaison VPC pour les serveurs Transfer Family](#limit-vpc-endpoint-access)
+ [Fonctionnalités réseau supplémentaires](#additional-networking-features)
+ [Mise à jour du type de point de terminaison du AWS Transfer Family serveur de VPC\$1ENDPOINT à VPC](update-endpoint-type-vpc.md)

## Créez un point de terminaison de serveur accessible uniquement au sein de votre VPC
<a name="create-server-endpoint-in-vpc"></a>

Dans la procédure suivante, vous créez un point de terminaison de serveur accessible uniquement aux ressources de votre VPC.

**Pour créer un point de terminaison de serveur dans un VPC**

1. Ouvrez la AWS Transfer Family console à l'adresse [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

1. Dans le volet de navigation, sélectionnez **Servers**, puis **Create server**.

1. Dans **Choisir des protocoles**, sélectionnez un ou plusieurs protocoles, puis cliquez sur **Suivant**. Pour plus d'informations sur les protocoles, consultez[Étape 2 : Création d'un serveur compatible SFTP](getting-started.md#getting-started-server).

1. Dans **Choisir un fournisseur d'identité**, choisissez **Service géré** pour stocker les identités et les clés des utilisateurs AWS Transfer Family, puis cliquez sur **Suivant**.

   Cette procédure utilise l'option de gestion des services. Si vous choisissez **Personnalisé**, vous fournissez un point de terminaison Amazon API Gateway et un rôle Gestion des identités et des accès AWS (IAM) pour accéder au point de terminaison. Ce faisant, vous pouvez intégrer votre service d'annuaire pour authentifier et autoriser vos utilisateurs. Pour en savoir plus sur l'utilisation de fournisseurs d'identité personnalisés, consultez [Travailler avec des fournisseurs d'identité personnalisés](custom-idp-intro.md).

1. Dans **Choisir un point de terminaison**, procédez comme suit :

   1. Pour le **type de point de terminaison**, choisissez le type de point de terminaison **hébergé par VPC** pour héberger le point de terminaison de votre serveur.

   1. Pour **Accès**, choisissez **Internal** pour que votre point de terminaison ne soit accessible qu'aux clients utilisant les adresses IP privées du point de terminaison.

      Pour plus de détails sur l'option **Internet Facing**, voir[Créez un point de terminaison connecté à Internet pour votre serveur](#create-internet-facing-endpoint). Un serveur créé dans un VPC pour un accès interne uniquement ne prend pas en charge les noms d'hôte personnalisés.

   1. Pour le **VPC**, choisissez un ID de VPC existant ou choisissez Create a VPC pour créer **un nouveau VPC**.

   1. Dans la section **Zones de disponibilité**, choisissez jusqu'à trois zones de disponibilité et les sous-réseaux associés.

   1. Dans la section **Groupes de sécurité**, choisissez un ID de groupe de sécurité existant IDs ou choisissez **Créer un groupe de sécurité** pour créer un nouveau groupe de sécurité. Pour plus d'informations sur les groupes de sécurité, consultez [la section Groupes de sécurité pour votre VPC](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html) dans le guide de l'*utilisateur d'Amazon Virtual Private Cloud*. Pour créer un groupe de sécurité, consultez la section [Création d'un groupe de sécurité](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#CreatingSecurityGroups) dans le *guide de l'utilisateur d'Amazon Virtual Private Cloud*.
**Note**  
Votre VPC est associé automatiquement à un groupe de sécurité par défaut. Si vous ne spécifiez pas un ou plusieurs groupes de sécurité différents lorsque vous lancez le serveur, nous associons le groupe de sécurité par défaut à votre serveur.
      + En ce qui concerne les règles entrantes pour le groupe de sécurité, vous pouvez configurer le trafic SSH pour qu'il utilise les ports 22, 2222, 22000 ou une combinaison des deux. Le port 22 est configuré par défaut. Pour utiliser le port 2222 ou le port 22000, vous devez ajouter une règle entrante à votre groupe de sécurité. Pour le type, choisissez **TCP personnalisé**, puis entrez l'une **2222** ou **22000** l'autre **plage de ports**, et pour la source, entrez la même plage d'adresses CIDR que celle que vous avez pour votre règle du port 22 SSH.
      + Pour les règles entrantes pour le groupe de sécurité, configurez le trafic FTP et FTPS pour utiliser la **plage de ports** **21** pour le canal de contrôle et **8192-8200** pour le canal de données.
**Note**  
Vous pouvez également utiliser le port 2223 pour les clients qui ont besoin du protocole TCP « superposé » ACKs, ou de la capacité à ce que le dernier pack de la prise de contact tridirectionnelle TCP contienne également des données.  
Certains logiciels clients peuvent être incompatibles avec le port 2223 : par exemple, un client qui demande au serveur d'envoyer la chaîne d'identification SFTP avant que le client ne le fasse.  
![\[Les règles entrantes pour un exemple de groupe de sécurité, montrant une règle pour SSH sur le port 22 et une règle TCP personnalisée sur le port 2222.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/alternate-port-rule.png)

   1. (Facultatif) Pour **FIPS Enabled**, cochez la case **FIPS Enabled endpoint** pour vous assurer que le endpoint est conforme aux Federal Information Processing Standards (FIPS).
**Note**  
Les terminaux compatibles FIPS ne sont disponibles que dans les régions d'Amérique du Nord. AWS Pour les régions disponibles, consultez les [AWS Transfer Family points de terminaison et les quotas](https://docs.aws.amazon.com/general/latest/gr/transfer-service.html) dans le *Références générales AWS*. Pour plus d'informations sur la norme FIPS, consultez la [norme fédérale de traitement de l'information (FIPS)](https://aws.amazon.com/compliance/fips/) 140-2.

   1. Choisissez **Suivant**.

1. Dans **Configurer les détails supplémentaires**, procédez comme suit :

   1. Pour la **CloudWatch journalisation**, choisissez l'une des options suivantes pour activer la CloudWatch journalisation de votre activité utilisateur par Amazon :
      + **Créez un nouveau rôle** pour permettre à Transfer Family de créer automatiquement le rôle IAM, à condition que vous disposiez des autorisations nécessaires pour créer un nouveau rôle. Le rôle IAM créé est appelé`AWSTransferLoggingAccess`.
      + **Choisissez un rôle existant** pour choisir un rôle IAM existant dans votre compte. Sous **Rôle de journalisation**, choisissez le rôle. Ce rôle IAM doit inclure une politique de confiance avec le **service** défini sur. `transfer.amazonaws.com`

        Pour plus d'informations sur la CloudWatch journalisation, consultez[Configurer le rôle de CloudWatch journalisation](configure-cw-logging-role.md).
**Note**  
Vous ne pouvez pas consulter l'activité de l'utilisateur final CloudWatch si vous ne spécifiez pas de rôle de journalisation.
Si vous ne souhaitez pas configurer de rôle de CloudWatch journalisation, sélectionnez **Choisir un rôle existant**, mais ne sélectionnez pas de rôle de journalisation.

   1. Pour les **options d'algorithme cryptographique**, choisissez une politique de sécurité contenant les algorithmes cryptographiques activés pour être utilisés par votre serveur.
**Note**  
Par défaut, la politique `TransferSecurityPolicy-2024-01` de sécurité est attachée à votre serveur, sauf si vous en choisissez une autre.

      Pour plus d'informations sur les stratégies de sécurité, consultez [Politiques de sécurité pour les AWS Transfer Family serveurs](security-policies.md).

   1. (Facultatif : cette section concerne uniquement la migration des utilisateurs depuis un serveur SFTP existant.) Pour la **clé d'hôte du serveur**, entrez une clé privée RSA ou ECDSA qui sera utilisée pour identifier votre serveur lorsque les clients s'y connecteront via SFTP. ED25519

   1. (Facultatif) Pour les **balises**, pour la **clé** et **la valeur**, entrez une ou plusieurs balises sous forme de paires clé-valeur, puis choisissez **Ajouter** une balise.

   1. Choisissez **Suivant**.

1. Dans **Réviser et créer**, passez en revue vos choix. Si vous :
   + Si vous souhaitez modifier l'un d'entre eux, choisissez **Modifier** à côté de l'étape.
**Note**  
Vous devrez passer en revue chaque étape après celle que vous avez choisi de modifier.
   + Si aucune modification n'est apportée, choisissez **Create server** pour créer votre serveur. Vous êtes dirigé vers la page **Servers (Serveurs)**, représentée ci-dessous, dans laquelle figure votre nouveau serveur.

Quelques minutes peuvent s'écouler avant que le statut de votre nouveau serveur passe à **En ligne**. À ce stade, votre serveur peut effectuer des opérations sur les fichiers, mais vous devez d'abord créer un utilisateur. Pour plus de détails sur la création d'utilisateurs, consultez[Gestion des utilisateurs pour les points de terminaison du serveur](create-user.md).

## Créez un point de terminaison connecté à Internet pour votre serveur
<a name="create-internet-facing-endpoint"></a>

Dans la procédure suivante, vous allez créer un point de terminaison de serveur. Ce point de terminaison n'est accessible via Internet qu'aux clients dont les adresses IP sources sont autorisées dans le groupe de sécurité par défaut de votre VPC. En outre, en utilisant des adresses IP élastiques pour rendre votre terminal connecté à Internet, vos clients peuvent utiliser l'adresse IP élastique pour autoriser l'accès à votre point de terminaison dans leurs pare-feux.

**Note**  
Seuls les protocoles SFTP et FTPS peuvent être utilisés sur un point de terminaison hébergé par un VPC connecté à Internet.

**Pour créer un point de terminaison connecté à Internet**

1. Ouvrez la AWS Transfer Family console à l'adresse [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

1. Dans le volet de navigation, sélectionnez **Servers**, puis **Create server**.

1. Dans **Choisir des protocoles**, sélectionnez un ou plusieurs protocoles, puis cliquez sur **Suivant**. Pour plus d'informations sur les protocoles, consultez[Étape 2 : Création d'un serveur compatible SFTP](getting-started.md#getting-started-server).

1. Dans **Choisir un fournisseur d'identité**, choisissez **Service géré** pour stocker les identités et les clés des utilisateurs AWS Transfer Family, puis cliquez sur **Suivant**.

   Cette procédure utilise l'option de gestion des services. Si vous choisissez **Personnalisé**, vous fournissez un point de terminaison Amazon API Gateway et un rôle Gestion des identités et des accès AWS (IAM) pour accéder au point de terminaison. Ce faisant, vous pouvez intégrer votre service d'annuaire pour authentifier et autoriser vos utilisateurs. Pour en savoir plus sur l'utilisation de fournisseurs d'identité personnalisés, consultez [Travailler avec des fournisseurs d'identité personnalisés](custom-idp-intro.md).

1. Dans **Choisir un point de terminaison**, procédez comme suit :

   1. Pour le **type de point de terminaison**, choisissez le type de point de terminaison **hébergé par VPC** pour héberger le point de terminaison de votre serveur.

   1. Pour **Access**, choisissez **Internet Facing** pour rendre votre terminal accessible aux clients via Internet.
**Note**  
Lorsque vous choisissez **Internet Facing**, vous pouvez choisir une adresse IP élastique existante dans chaque sous-réseau ou sous-réseaux. Vous pouvez également accéder à la console VPC ([https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)) pour allouer une ou plusieurs nouvelles adresses IP élastiques. Ces adresses peuvent être détenues par vous AWS ou par vous. Vous ne pouvez pas associer les adresses IP élastiques déjà utilisées à votre point de terminaison.

   1. (Facultatif) Pour **Nom d'hôte personnalisé**, choisissez l'une des options suivantes :
**Note**  
Les clients qui AWS GovCloud (US) ont besoin de se connecter directement via l'adresse IP Elastic ou de créer un enregistrement de nom d'hôte dans Commercial Route 53 pointant vers leur EIP. Pour plus d'informations sur l'utilisation de Route 53 pour les GovCloud points de terminaison, consultez [Configuration d'Amazon Route 53 avec vos AWS GovCloud (US) ressources](https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/setting-up-route53.html) dans le *Guide de l'AWS GovCloud (US) utilisateur*. 
      + **Alias DNS Amazon Route 53** : si le nom d'hôte que vous souhaitez utiliser est enregistré auprès de Route 53. Vous pouvez ensuite saisir le nom d'hôte.
      + **Autre DNS** : si le nom d'hôte que vous souhaitez utiliser est enregistré auprès d'un autre fournisseur DNS. Vous pouvez ensuite saisir le nom d'hôte.
      + **Aucun** : pour utiliser le point de terminaison du serveur et ne pas utiliser de nom d'hôte personnalisé. Le nom d'hôte du serveur se présente sous la forme `server-id.server.transfer.region.amazonaws.com`.
**Note**  
Pour les clients inscrits AWS GovCloud (US), sélectionner **Aucun** ne crée pas de nom d'hôte dans ce format.

      Pour en savoir plus sur l'utilisation de noms d'hôtes personnalisés, consultez[Utilisation de noms d'hôtes personnalisés](requirements-dns.md).

   1. Pour le **VPC**, choisissez un ID de VPC existant ou choisissez Create a VPC pour créer **un nouveau VPC**.

   1. Dans la section **Zones de disponibilité**, choisissez jusqu'à trois zones de disponibilité et les sous-réseaux associés. Pour **IPv4Adresses**, choisissez une **adresse IP élastique** pour chaque sous-réseau. Il s'agit de l'adresse IP que vos clients peuvent utiliser pour autoriser l'accès à votre point de terminaison dans leurs pare-feux.

      **Conseil :** Vous devez utiliser un sous-réseau public pour vos zones de disponibilité ou configurer d'abord une passerelle Internet si vous souhaitez utiliser un sous-réseau privé.

   1. Dans la section **Groupes de sécurité**, choisissez un ID de groupe de sécurité existant IDs ou choisissez **Créer un groupe de sécurité** pour créer un nouveau groupe de sécurité. Pour plus d'informations sur les groupes de sécurité, consultez [la section Groupes de sécurité pour votre VPC](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html) dans le guide de l'*utilisateur d'Amazon Virtual Private Cloud*. Pour créer un groupe de sécurité, consultez la section [Création d'un groupe de sécurité](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#CreatingSecurityGroups) dans le *guide de l'utilisateur d'Amazon Virtual Private Cloud*.
**Note**  
Votre VPC est associé automatiquement à un groupe de sécurité par défaut. Si vous ne spécifiez pas un ou plusieurs groupes de sécurité différents lorsque vous lancez le serveur, nous associons le groupe de sécurité par défaut à votre serveur.
      + En ce qui concerne les règles entrantes pour le groupe de sécurité, vous pouvez configurer le trafic SSH pour qu'il utilise les ports 22, 2222, 22000 ou une combinaison des deux. Le port 22 est configuré par défaut. Pour utiliser le port 2222 ou le port 22000, vous devez ajouter une règle entrante à votre groupe de sécurité. Pour le type, choisissez **TCP personnalisé**, puis entrez l'une **2222** ou **22000** l'autre **plage de ports**, et pour la source, entrez la même plage d'adresses CIDR que celle que vous avez pour votre règle du port 22 SSH.
      + Pour les règles entrantes pour le groupe de sécurité, configurez le trafic FTPS pour utiliser la **plage de ports** **21** pour le canal de contrôle et **8192-8200** pour le canal de données.
**Note**  
Vous pouvez également utiliser le port 2223 pour les clients qui ont besoin du protocole TCP « superposé » ACKs, ou de la capacité à ce que le dernier pack de la prise de contact tridirectionnelle TCP contienne également des données.  
Certains logiciels clients peuvent être incompatibles avec le port 2223 : par exemple, un client qui demande au serveur d'envoyer la chaîne d'identification SFTP avant que le client ne le fasse.  
![\[Les règles entrantes pour un exemple de groupe de sécurité, montrant une règle pour SSH sur le port 22 et une règle TCP personnalisée sur le port 2222.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/alternate-port-rule.png)

   1. (Facultatif) Pour **FIPS Enabled**, cochez la case **FIPS Enabled endpoint** pour vous assurer que le endpoint est conforme aux Federal Information Processing Standards (FIPS).
**Note**  
Les terminaux compatibles FIPS ne sont disponibles que dans les régions d'Amérique du Nord. AWS Pour les régions disponibles, consultez les [AWS Transfer Family points de terminaison et les quotas](https://docs.aws.amazon.com/general/latest/gr/transfer-service.html) dans le *Références générales AWS*. Pour plus d'informations sur la norme FIPS, consultez la [norme fédérale de traitement de l'information (FIPS)](https://aws.amazon.com/compliance/fips/) 140-2.

   1. Choisissez **Suivant**.

1. Dans **Configurer les détails supplémentaires**, procédez comme suit :

   1. Pour la **CloudWatch journalisation**, choisissez l'une des options suivantes pour activer la CloudWatch journalisation de votre activité utilisateur par Amazon :
      + **Créez un nouveau rôle** pour permettre à Transfer Family de créer automatiquement le rôle IAM, à condition que vous disposiez des autorisations nécessaires pour créer un nouveau rôle. Le rôle IAM créé est appelé`AWSTransferLoggingAccess`.
      + **Choisissez un rôle existant** pour choisir un rôle IAM existant dans votre compte. Sous **Rôle de journalisation**, choisissez le rôle. Ce rôle IAM doit inclure une politique de confiance avec le **service** défini sur. `transfer.amazonaws.com`

        Pour plus d'informations sur la CloudWatch journalisation, consultez[Configurer le rôle de CloudWatch journalisation](configure-cw-logging-role.md).
**Note**  
Vous ne pouvez pas consulter l'activité de l'utilisateur final CloudWatch si vous ne spécifiez pas de rôle de journalisation.
Si vous ne souhaitez pas configurer de rôle de CloudWatch journalisation, sélectionnez **Choisir un rôle existant**, mais ne sélectionnez pas de rôle de journalisation.

   1. Pour les **options d'algorithme cryptographique**, choisissez une politique de sécurité contenant les algorithmes cryptographiques activés pour être utilisés par votre serveur.
**Note**  
Par défaut, la politique `TransferSecurityPolicy-2024-01` de sécurité est attachée à votre serveur, sauf si vous en choisissez une autre.

      Pour plus d'informations sur les stratégies de sécurité, consultez [Politiques de sécurité pour les AWS Transfer Family serveurs](security-policies.md).

   1. (Facultatif : cette section concerne uniquement la migration des utilisateurs depuis un serveur SFTP existant.) Pour la **clé d'hôte du serveur**, entrez une clé privée RSA ou ECDSA qui sera utilisée pour identifier votre serveur lorsque les clients s'y connecteront via SFTP. ED25519

   1. (Facultatif) Pour les **balises**, pour la **clé** et **la valeur**, entrez une ou plusieurs balises sous forme de paires clé-valeur, puis choisissez **Ajouter** une balise.

   1. Choisissez **Suivant**.

   1.  (Facultatif) Pour les **flux de travail gérés**, choisissez le flux de travail IDs (et le rôle correspondant) que Transfer Family doit assumer lors de l'exécution du flux de travail. Vous pouvez choisir un flux de travail à exécuter lors d'un téléchargement complet et un autre à exécuter lors d'un téléchargement partiel. Pour en savoir plus sur le traitement de vos fichiers à l'aide de flux de travail gérés, consultez[AWS Transfer Family flux de travail gérés](transfer-workflows.md).  
![\[La section Console des flux de travail gérés.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/workflows-addtoserver.png)

1. Dans **Réviser et créer**, passez en revue vos choix. Si vous :
   + Si vous souhaitez modifier l'un d'entre eux, choisissez **Modifier** à côté de l'étape.
**Note**  
Vous devrez passer en revue chaque étape après celle que vous avez choisi de modifier.
   + Si aucune modification n'est apportée, choisissez **Create server** pour créer votre serveur. Vous êtes dirigé vers la page **Servers (Serveurs)**, représentée ci-dessous, dans laquelle figure votre nouveau serveur.

Vous pouvez choisir l'ID du serveur pour voir les paramètres détaillés du serveur que vous venez de créer. Une fois que la colonne ** IPv4 Adresse publique** a été renseignée, les adresses IP élastiques que vous avez fournies sont correctement associées au point de terminaison de votre serveur.

**Note**  
Lorsque votre serveur dans un VPC est en ligne, seuls les sous-réseaux peuvent être modifiés et uniquement via l'API. [UpdateServer](https://docs.aws.amazon.com/transfer/latest/APIReference/API_UpdateServer.html) Vous devez [arrêter le serveur](edit-server-config.md#edit-online-offline) pour ajouter ou modifier les adresses IP élastiques du point de terminaison du serveur.

## Modifier le type de point de terminaison de votre serveur
<a name="change-server-endpoint-type"></a>

Si vous disposez d'un serveur existant accessible via Internet (c'est-à-dire doté d'un type de point de terminaison public), vous pouvez remplacer son point de terminaison par un point de terminaison VPC.

**Note**  
Si un serveur existant dans un VPC est affiché sous la forme`VPC_ENDPOINT`, nous vous recommandons de le modifier pour le nouveau type de point de terminaison VPC. Avec ce nouveau type de point de terminaison, vous n'avez plus besoin d'utiliser un Network Load Balancer (NLB) pour associer des adresses IP élastiques au point de terminaison de votre serveur. Vous pouvez également utiliser des groupes de sécurité VPC pour restreindre l'accès au point de terminaison de votre serveur. Toutefois, vous pouvez continuer à utiliser le type de `VPC_ENDPOINT` point de terminaison selon vos besoins.

La procédure suivante suppose que vous disposez d'un serveur qui utilise soit le type de point de terminaison public actuel, soit l'ancien `VPC_ENDPOINT` type.

**Pour modifier le type de point de terminaison de votre serveur**

1. Ouvrez la AWS Transfer Family console à l'adresse [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

1. Dans le volet de navigation, choisissez **Servers (Serveurs)**.

1. Cochez la case du serveur dont vous souhaitez modifier le type de point de terminaison.
**Important**  
Vous devez arrêter le serveur avant de pouvoir modifier son point de terminaison.

1. Pour **Actions**, choisissez **Arrêter**.

1. Dans la boîte de dialogue de confirmation qui apparaît, choisissez **Stop** pour confirmer que vous souhaitez arrêter le serveur.
**Note**  
Avant de passer à l'étape suivante, dans **Détails du point de terminaison**, attendez que le **statut** du serveur passe à **Hors ligne** ; cela peut prendre quelques minutes. Vous devrez peut-être sélectionner **Actualiser** sur la page **Serveurs** pour voir le changement d'état.  
Vous ne pourrez apporter aucune modification tant que le serveur ne sera pas **hors ligne**.

1. Dans **Détails du point de terminaison**, choisissez **Modifier**.

1. Dans **Modifier la configuration du point de terminaison**, procédez comme suit :

   1. Pour **Modifier le type de point de terminaison**, choisissez **VPC hébergé.**

   1. Pour **Access**, choisissez l'une des options suivantes :
      + **Interne** pour que votre terminal ne soit accessible qu'aux clients utilisant les adresses IP privées du point de terminaison.
      + **Internet Facing** pour rendre votre terminal accessible aux clients via Internet public.
**Note**  
Lorsque vous choisissez **Internet Facing**, vous pouvez choisir une adresse IP élastique existante dans chaque sous-réseau ou sous-réseaux. Vous pouvez également accéder à la console VPC ([https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)) pour allouer une ou plusieurs nouvelles adresses IP Elastic. Ces adresses peuvent être détenues par vous AWS ou par vous. Vous ne pouvez pas associer les adresses IP élastiques déjà utilisées à votre point de terminaison.

   1. (Facultatif pour l'accès à Internet uniquement) Pour le **nom d'hôte personnalisé**, choisissez l'une des options suivantes :
      + **Alias DNS Amazon Route 53** : si le nom d'hôte que vous souhaitez utiliser est enregistré auprès de Route 53. Vous pouvez ensuite saisir le nom d'hôte.
      + **Autre DNS** : si le nom d'hôte que vous souhaitez utiliser est enregistré auprès d'un autre fournisseur DNS. Vous pouvez ensuite saisir le nom d'hôte.
      + **Aucun** : pour utiliser le point de terminaison du serveur et ne pas utiliser de nom d'hôte personnalisé. Le nom d'hôte du serveur se présente sous la forme `serverId.server.transfer.regionId.amazonaws.com`.

        Pour en savoir plus sur l'utilisation de noms d'hôtes personnalisés, consultez[Utilisation de noms d'hôtes personnalisés](requirements-dns.md).

   1. Pour le **VPC**, choisissez un ID de VPC existant ou choisissez Create a VPC pour créer **un nouveau VPC**.

   1. Dans la section **Zones de disponibilité**, sélectionnez jusqu'à trois zones de disponibilité et les sous-réseaux associés. Si **Internet Facing** est sélectionné, choisissez également une adresse IP élastique pour chaque sous-réseau.
**Note**  
Si vous souhaitez un maximum de trois zones de disponibilité, mais qu'il n'y en a pas suffisamment, créez-les dans la console VPC () [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/).  
Si vous modifiez les sous-réseaux ou les adresses IP élastiques, la mise à jour du serveur prend quelques minutes. Vous ne pouvez pas enregistrer vos modifications tant que la mise à jour du serveur n'est pas terminée.

   1. Choisissez **Enregistrer**.

1. Pour **Actions**, choisissez **Démarrer** et attendez que le statut du serveur passe à **En ligne** ; cela peut prendre quelques minutes.
**Note**  
**Si vous avez remplacé un point de terminaison public par un point de terminaison VPC, notez que le type de **point de terminaison** de votre serveur est devenu VPC.**

Le groupe de sécurité par défaut est attaché au point de terminaison. Pour modifier ou ajouter des groupes de sécurité supplémentaires, consultez la section [Création de groupes de sécurité](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#CreatingSecurityGroups).

## Arrêt de l'utilisation de VPC\$1ENDPOINT
<a name="deprecate-vpc-endpoint"></a>

AWS Transfer Family a cessé de permettre la création de serveurs `EndpointType=VPC_ENDPOINT` pour les nouveaux AWS comptes. À compter du 19 mai 2021, les AWS comptes qui ne possèdent pas de AWS Transfer Family serveurs dotés d'un type de point de terminaison ne `VPC_ENDPOINT` pourront pas créer de nouveaux serveurs avec`EndpointType=VPC_ENDPOINT`. Si vous possédez déjà des serveurs qui utilisent le type de `VPC_ENDPOINT` point de terminaison, nous vous recommandons de commencer à `EndpointType=VPC` les utiliser dès que possible. Pour plus de détails, consultez [Mettre à jour le type de point de terminaison de votre AWS Transfer Family serveur de VPC\$1ENDPOINT à](https://aws.amazon.com/blogs/storage/update-your-aws-transfer-family-server-endpoint-type-from-vpc_endpoint-to-vpc/) VPC.

Nous avons lancé le nouveau type de `VPC` point de terminaison plus tôt en 2020. Pour plus d'informations, consultez AWS Transfer Family la section « [SFTP prend en charge les groupes de sécurité VPC et les adresses IP élastiques](https://aws.amazon.com/about-aws/whats-new/2020/01/aws-transfer-for-sftp-supports-vpc-security-groups-and-elastic-ip-addresses/) ». Ce nouveau point de terminaison est plus riche en fonctionnalités et plus rentable, et il est PrivateLink gratuit. Pour en savoir plus, consultez [Pricing AWS PrivateLink ](https://aws.amazon.com/privatelink/pricing/) (Tarification). 

Ce type de point de terminaison est fonctionnellement équivalent au type de point de terminaison précédent (`VPC_ENDPOINT`). Vous pouvez associer des adresses IP élastiques directement au point de terminaison pour le rendre accessible à Internet et utiliser des groupes de sécurité pour le filtrage des adresses IP source. Pour plus d'informations, consultez le billet de blog [intitulé Utiliser l'adresse IP autorisée AWS Transfer Family pour sécuriser votre accès aux serveurs SFTP](https://aws.amazon.com/blogs/storage/use-ip-whitelisting-to-secure-your-aws-transfer-for-sftp-servers/).

Vous pouvez également héberger ce point de terminaison dans un environnement VPC partagé. Pour plus d'informations, voir [Supporte AWS Transfer Family désormais les environnements VPC à services partagés](https://aws.amazon.com/about-aws/whats-new/2020/11/aws-transfer-family-now-supports-shared-services-vpc-environments/). 

Outre le SFTP, vous pouvez utiliser le `EndpointType` VPC pour activer le FTPS et le FTP. Nous n'avons pas l'intention d'ajouter ces fonctionnalités et FTPS/FTP cette assistance à`EndpointType=VPC_ENDPOINT`. Nous avons également supprimé ce type de point de terminaison en tant qu'option de la AWS Transfer Family console. 

<a name="deprecate-vpc-endpoint.title"></a>Vous pouvez modifier le type de point de terminaison de votre serveur à l'aide de la console Transfer Family SDKs, de l'API ou CloudFormation. AWS CLI Pour modifier le type de point de terminaison de votre serveur, consultez[Mise à jour du type de point de terminaison du AWS Transfer Family serveur de VPC\$1ENDPOINT à VPC](update-endpoint-type-vpc.md).

Si vous avez des questions, contactez AWS Support l'équipe chargée de votre AWS compte.

**Note**  
Nous ne prévoyons pas d'ajouter ces fonctionnalités ni le support FTPS ou FTP à EndpointType =VPC\$1ENDPOINT. Nous ne le proposons plus en option sur la AWS Transfer Family console. 

Si vous avez d'autres questions, vous pouvez nous contacter par l'intermédiaire AWS Support de l'équipe chargée de votre compte.

## Limiter l'accès aux points de terminaison VPC pour les serveurs Transfer Family
<a name="limit-vpc-endpoint-access"></a>

Lorsque vous créez un AWS Transfer Family serveur avec un type de point de terminaison VPC, vos utilisateurs et principaux IAM ont besoin d'autorisations pour créer et supprimer des points de terminaison VPC. Toutefois, les politiques de sécurité de votre organisation peuvent restreindre ces autorisations. Vous pouvez utiliser les politiques IAM pour autoriser la création et la suppression de points de terminaison VPC spécifiquement pour Transfer Family tout en maintenant les restrictions pour les autres services.

**Important**  
La politique IAM suivante permet aux utilisateurs de créer et de supprimer des points de terminaison VPC uniquement pour les serveurs Transfer Family, tout en refusant ces opérations pour les autres services :

```
{
    "Effect": "Deny",
    "Action": [
        "ec2:CreateVpcEndpoint",
        "ec2:DeleteVpcEndpoints"
    ],
    "Resource": ["*"],
    "Condition": {
        "ForAnyValue:StringNotLike": {
            "ec2:VpceServiceName": [
                "com.amazonaws.INPUT-YOUR-REGION.transfer.server.*"
            ]
        },
        "StringNotLike": {
            "aws:PrincipalArn": [
                "arn:aws:iam::*:role/INPUT-YOUR-ROLE"
            ]
        }
    }
}
```

*INPUT-YOUR-REGION*Remplacez-le par votre AWS région (par exemple**us-east-1**) et *INPUT-YOUR-ROLE* par le rôle IAM auquel vous souhaitez accorder ces autorisations.

## Fonctionnalités réseau supplémentaires
<a name="additional-networking-features"></a>

AWS Transfer Family fournit plusieurs fonctionnalités réseau avancées qui améliorent la sécurité et la flexibilité lors de l'utilisation de configurations VPC :
+ **Support de l'environnement VPC partagé** : vous pouvez héberger le point de terminaison de votre serveur Transfer Family dans un environnement VPC partagé. Pour plus d'informations, consultez la section [Utilisation de points de terminaison hébergés par un VPC dans](https://aws.amazon.com/blogs/storage/using-vpc-hosted-endpoints-in-shared-vpcs-with-aws-transfer-family/) un environnement partagé avec. VPCs AWS Transfer Family
+ **Authentification et sécurité** : vous pouvez utiliser un pare-feu d'application AWS Web pour protéger votre point de terminaison Amazon API Gateway. Pour plus d'informations, consultez [Sécurisation AWS Transfer Family avec AWS le Web Application Firewall et Amazon API Gateway](https://aws.amazon.com/blogs/storage/securing-aws-transfer-family-with-aws-web-application-firewall-and-amazon-api-gateway/).

# Mise à jour du type de point de terminaison du AWS Transfer Family serveur de VPC\$1ENDPOINT à VPC
<a name="update-endpoint-type-vpc"></a>

Vous pouvez utiliser l'API AWS Management Console CloudFormation, ou l'API Transfer Family pour mettre à jour le fichier `EndpointType` d'un serveur `VPC_ENDPOINT` vers`VPC`. Des procédures détaillées et des exemples d'utilisation de chacune de ces méthodes pour mettre à jour un type de point de terminaison de serveur sont fournis dans les sections suivantes. Si vous avez des serveurs dans plusieurs AWS régions et sur plusieurs AWS comptes, vous pouvez utiliser l'exemple de script fourni dans la section suivante, avec des modifications, pour identifier les serveurs en utilisant le `VPC_ENDPOINT` type que vous devrez mettre à jour.

**Topics**
+ [Identifier les serveurs à l'aide du type de `VPC_ENDPOINT` point de terminaison](#id-servers)
+ [Mise à jour du type de point de terminaison du serveur à l'aide AWS Management Console](#update-endpoint-console)
+ [Mise à jour du type de point de terminaison du serveur avec CloudFormation](#update-endpoint-cloudformation)
+ [Mettre à jour le serveur EndpointType à l'aide de l'API](#update-endpoint-cli)

## Identifier les serveurs à l'aide du type de `VPC_ENDPOINT` point de terminaison
<a name="id-servers"></a>

Vous pouvez identifier les serveurs qui `VPC_ENDPOINT` utilisent le AWS Management Console.

**Pour identifier les serveurs utilisant le type de `VPC_ENDPOINT` point de terminaison à l'aide de la console**

1. Ouvrez la AWS Transfer Family console à l'adresse [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

1. Choisissez **Servers** dans le volet de navigation pour afficher la liste des serveurs de votre compte dans cette région.

1. Triez la liste des serveurs par **type de point de terminaison** pour voir tous les serveurs utilisés`VPC_ENDPOINT`.

**Pour identifier les serveurs utilisés `VPC_ENDPOINT` dans plusieurs AWS régions et comptes**

Si vous avez des serveurs dans plusieurs AWS régions et dans plusieurs AWS comptes, vous pouvez utiliser l'exemple de script suivant, avec des modifications, pour identifier les serveurs à l'aide du type de point de `VPC_ENDPOINT` terminaison. L'exemple de script utilise les opérations d'[https://docs.aws.amazon.com/transfer/latest/APIReference/API_ListServers.html](https://docs.aws.amazon.com/transfer/latest/APIReference/API_ListServers.html)API Amazon EC2 [DescribeRegions](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeRegions.html)et Transfer Family. Si vous avez de nombreux AWS comptes, vous pouvez les parcourir en utilisant un rôle IAM avec accès auditeur en lecture seule si vous vous authentifiez à l'aide de profils de session auprès de votre fournisseur d'identité.

1. Voici un exemple simple.

   ```
   import boto3
   
   profile = input("Enter the name of the AWS account you'll be working in: ")
   session = boto3.Session(profile_name=profile)
   
   ec2 = session.client("ec2")
   
   regions = ec2.describe_regions()
   
   for region in regions['Regions']:
       region_name = region['RegionName']
       if region_name=='ap-northeast-3': #https://github.com/boto/boto3/issues/1943
           continue
       transfer = session.client("transfer", region_name=region_name)
       servers = transfer.list_servers()
       for server in servers['Servers']:
          if server['EndpointType']=='VPC_ENDPOINT':
              print(server['ServerId'], region_name)
   ```

1. Une fois que vous avez la liste des serveurs à mettre à jour, vous pouvez utiliser l'une des méthodes décrites dans les sections suivantes pour mettre à jour le `EndpointType` vers`VPC`.

## Mise à jour du type de point de terminaison du serveur à l'aide AWS Management Console
<a name="update-endpoint-console"></a>

1. Ouvrez la AWS Transfer Family console à l'adresse [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

1. Dans le volet de navigation, choisissez **Servers (Serveurs)**.

1. Cochez la case du serveur dont vous souhaitez modifier le type de point de terminaison.
**Important**  
Vous devez arrêter le serveur avant de pouvoir modifier son point de terminaison.

1. Pour **Actions**, choisissez **Arrêter**.

1. Dans la boîte de dialogue de confirmation qui apparaît, choisissez **Stop** pour confirmer que vous souhaitez arrêter le serveur.
**Note**  
Avant de passer à l'étape suivante, attendez que le **statut** du serveur passe à **Hors ligne** ; cela peut prendre quelques minutes. Vous devrez peut-être sélectionner **Actualiser** sur la page **Serveurs** pour voir le changement d'état.

1. Lorsque le statut passe à **Hors ligne**, choisissez le serveur pour afficher la page de détails du serveur.

1. Dans la section **Détails du point de terminaison**, choisissez **Modifier**.

1. Choisissez **VPC hébergé** pour le type de **point de terminaison**.

1. Choisissez **Enregistrer**.

1. Pour **Actions**, choisissez **Démarrer** et attendez que le statut du serveur passe à **En ligne** ; cela peut prendre quelques minutes.

## Mise à jour du type de point de terminaison du serveur avec CloudFormation
<a name="update-endpoint-cloudformation"></a>

Cette section décrit comment procéder pour mettre CloudFormation à jour celui d'un serveur `EndpointType` vers`VPC`. Utilisez cette procédure pour les serveurs Transfer Family que vous avez déployés avec CloudFormation. Dans cet exemple, le CloudFormation modèle d'origine utilisé pour déployer le serveur Transfer Family est présenté comme suit :

```
AWS TemplateFormatVersion: '2010-09-09'
Description: 'Create AWS Transfer Server with VPC_ENDPOINT endpoint type'
Parameters:
  SecurityGroupId:
    Type: AWS::EC2::SecurityGroup::Id
  SubnetIds:
    Type: List<AWS::EC2::Subnet::Id>
  VpcId:
    Type: AWS::EC2::VPC::Id
Resources:
  TransferServer:
    Type: AWS::Transfer::Server
    Properties:
      Domain: S3
      EndpointDetails:
        VpcEndpointId: !Ref VPCEndpoint
      EndpointType: VPC_ENDPOINT
      IdentityProviderType: SERVICE_MANAGED
      Protocols:
        - SFTP
  VPCEndpoint:
    Type: AWS::EC2::VPCEndpoint
    Properties:
      ServiceName: com.amazonaws.us-east-1.transfer.server
      SecurityGroupIds:
        - !Ref SecurityGroupId
      SubnetIds:
        - !Select [0, !Ref SubnetIds]
        - !Select [1, !Ref SubnetIds]
        - !Select [2, !Ref SubnetIds]
      VpcEndpointType: Interface
      VpcId: !Ref VpcId
```

Le modèle est mis à jour avec les modifications suivantes :
+ Le `EndpointType` a été changé en`VPC`.
+ La `AWS::EC2::VPCEndpoint` ressource est supprimée.
+ Les `SecurityGroupId``SubnetIds`, et `VpcId` ont été déplacés vers la `EndpointDetails` section de la `AWS::Transfer::Server` ressource,
+ La `VpcEndpointId` propriété de `EndpointDetails` a été supprimée.

Le modèle mis à jour se présente comme suit :

```
AWS TemplateFormatVersion: '2010-09-09'
Description: 'Create AWS Transfer Server with VPC endpoint type'
Parameters:
  SecurityGroupId:
    Type: AWS::EC2::SecurityGroup::Id
  SubnetIds:
    Type: List<AWS::EC2::Subnet::Id>
  VpcId:
    Type: AWS::EC2::VPC::Id
Resources:
  TransferServer:
    Type: AWS::Transfer::Server
    Properties:
      Domain: S3
      EndpointDetails:
        SecurityGroupIds:
          - !Ref SecurityGroupId
        SubnetIds:
          - !Select [0, !Ref SubnetIds]
          - !Select [1, !Ref SubnetIds]
          - !Select [2, !Ref SubnetIds]
        VpcId: !Ref VpcId
      EndpointType: VPC
      IdentityProviderType: SERVICE_MANAGED
      Protocols:
        - SFTP
```

**Pour mettre à jour le type de point de terminaison des serveurs Transfer Family déployés à l'aide de CloudFormation**

1. Arrêtez le serveur que vous souhaitez mettre à jour en procédant comme suit.

   1. Ouvrez la AWS Transfer Family console à l'adresse [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

   1. Dans le volet de navigation, choisissez **Servers (Serveurs)**.

   1. Cochez la case du serveur dont vous souhaitez modifier le type de point de terminaison.
**Important**  
Vous devez arrêter le serveur avant de pouvoir modifier son point de terminaison.

   1. Pour **Actions**, choisissez **Arrêter**.

   1. Dans la boîte de dialogue de confirmation qui apparaît, choisissez **Stop** pour confirmer que vous souhaitez arrêter le serveur.
**Note**  
Avant de passer à l'étape suivante, attendez que le **statut** du serveur passe à **Hors ligne** ; cela peut prendre quelques minutes. Vous devrez peut-être sélectionner **Actualiser** sur la page **Serveurs** pour voir le changement d'état.

1. Mettre à jour la CloudFormation pile

   1. Ouvrez la CloudFormation console à l'adresse [https://console.aws.amazon.com/cloudformation.](https://console.aws.amazon.com/cloudformation/)

   1. Choisissez la pile utilisée pour créer le serveur Transfer Family.

   1. Choisissez **Mettre à jour**.

   1. Choisissez **Remplacer le modèle actuel**

   1. Téléchargez le nouveau modèle. CloudFormation Les ensembles de modifications vous aident à comprendre comment les modifications apportées aux modèles affecteront les ressources en cours d'exécution avant de les implémenter. Dans cet exemple, la ressource du serveur de transfert sera modifiée et supprimée. VPCEndpoint Le serveur de type point de terminaison VPC crée un point de terminaison VPC en votre nom, en remplacement de la ressource d'origine. `VPCEndpoint`

      Après avoir chargé le nouveau modèle, l'ensemble de modifications ressemblera à ce qui suit :  
![\[Affiche la page d'aperçu du kit de modification permettant de remplacer le CloudFormation modèle actuel.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/vpc-endpoint-update-cfn.png)

   1. Mettez à jour la pile.

1. Une fois la mise à jour de la pile terminée, accédez à la console de gestion Transfer Family à l'adresse [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

1. Redémarrez le serveur. Choisissez le serveur sur lequel vous avez effectué la mise à jour CloudFormation, puis sélectionnez **Démarrer** dans le menu **Actions**.

## Mettre à jour le serveur EndpointType à l'aide de l'API
<a name="update-endpoint-cli"></a>

Vous pouvez utiliser la commande [describe-server](https://docs.aws.amazon.com/cli/latest/reference/transfer/update-server.html) ou la AWS CLI commande [UpdateServer](https://docs.aws.amazon.com/transfer/latest/APIReference/API_UpdateServer.html)API. L'exemple de script suivant arrête le serveur Transfer Family, le met à jour EndpointType, supprime le VPC\$1ENDPOINT et démarre le serveur.

```
import boto3
import time

profile = input("Enter the name of the AWS account you'll be working in: ")
region_name = input("Enter the AWS Region you're working in: ")
server_id = input("Enter the AWS Transfer Server Id: ")

session = boto3.Session(profile_name=profile)

ec2 = session.client("ec2", region_name=region_name)
transfer = session.client("transfer", region_name=region_name)

group_ids=[]

transfer_description = transfer.describe_server(ServerId=server_id)
if transfer_description['Server']['EndpointType']=='VPC_ENDPOINT':
    transfer_vpc_endpoint = transfer_description['Server']['EndpointDetails']['VpcEndpointId']
    transfer_vpc_endpoint_descriptions = ec2.describe_vpc_endpoints(VpcEndpointIds=[transfer_vpc_endpoint])
    for transfer_vpc_endpoint_description in transfer_vpc_endpoint_descriptions['VpcEndpoints']:
        subnet_ids=transfer_vpc_endpoint_description['SubnetIds']
        group_id_list=transfer_vpc_endpoint_description['Groups']
        vpc_id=transfer_vpc_endpoint_description['VpcId']
        for group_id in group_id_list:
             group_ids.append(group_id['GroupId'])
    if transfer_description['Server']['State']=='ONLINE':
        transfer_stop = transfer.stop_server(ServerId=server_id)
        print(transfer_stop)
        time.sleep(300) #safe
        transfer_update = transfer.update_server(ServerId=server_id,EndpointType='VPC',EndpointDetails={'SecurityGroupIds':group_ids,'SubnetIds':subnet_ids,'VpcId':vpc_id})
        print(transfer_update)
        time.sleep(10) 
        transfer_start = transfer.start_server(ServerId=server_id)
        print(transfer_start)
        delete_vpc_endpoint = ec2.delete_vpc_endpoints(VpcEndpointIds=[transfer_vpc_endpoint])
```

# Utilisation de noms d'hôtes personnalisés
<a name="requirements-dns"></a>

Le *nom d'hôte de votre serveur* est le nom d'hôte que vos utilisateurs saisissent dans leurs clients lorsqu'ils se connectent à votre serveur. Vous pouvez utiliser un domaine personnalisé que vous avez enregistré pour le nom d'hôte de votre serveur lorsque vous travaillez avec AWS Transfer Family. Par exemple, vous pouvez utiliser un nom d'hôte personnalisé tel que`mysftpserver.mysubdomain.domain.com`.

Pour rediriger le trafic de votre domaine personnalisé enregistré vers le point de terminaison de votre serveur, vous pouvez utiliser Amazon Route 53 ou n'importe quel fournisseur de système de noms de domaine (DNS). Route 53 est le service DNS qui prend en charge AWS Transfer Family nativement.

**Topics**
+ [Utilisez Amazon Route 53 comme fournisseur DNS](#requirements-use-r53)
+ [Utiliser d'autres fournisseurs de DNS](#requirements-use-alt-dns)
+ [Noms d'hôte personnalisés pour les serveurs créés sans console](#tag-custom-hostname-cdk)

Sur la console, vous pouvez choisir l'une des options suivantes pour configurer un nom d'hôte personnalisé :
+ **Alias DNS Amazon Route 53** : si le nom d'hôte que vous souhaitez utiliser est enregistré auprès de Route 53. Vous pouvez ensuite saisir le nom d'hôte.
+ **Autre DNS** : si le nom d'hôte que vous souhaitez utiliser est enregistré auprès d'un autre fournisseur DNS. Vous pouvez ensuite saisir le nom d'hôte.
+ **Aucun** : pour utiliser le point de terminaison du serveur et ne pas utiliser de nom d'hôte personnalisé.

Vous définissez cette option lorsque vous créez un nouveau serveur ou que vous modifiez la configuration d'un serveur existant. Pour plus d'informations sur la création d'un nouveau serveur, consultez[Étape 2 : Création d'un serveur compatible SFTP](getting-started.md#getting-started-server). Pour plus d'informations sur la modification de la configuration d'un serveur existant, consultez[Modifier les détails du serveur](edit-server-config.md).

Pour plus de détails sur l'utilisation de votre propre domaine comme nom d'hôte du serveur et sur l' AWS Transfer Family utilisation de Route 53, consultez les sections suivantes.

## Utilisez Amazon Route 53 comme fournisseur DNS
<a name="requirements-use-r53"></a>

Lorsque vous créez un serveur, vous pouvez utiliser Amazon Route 53 comme fournisseur DNS. Avant d'utiliser un domaine avec Route 53, vous devez enregistrer le domaine. Pour plus d'informations, consultez [Comment fonctionne l'enregistrement de domaines](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/welcome-domain-registration.html) dans le manuel *Amazon Route 53 Developer Guide*.

Lorsque vous utilisez Route 53 pour fournir un routage DNS à votre serveur, AWS Transfer Family utilise le nom d'hôte personnalisé que vous avez saisi pour extraire sa zone hébergée. Lors de AWS Transfer Family l'extraction d'une zone hébergée, trois choses peuvent se produire :

1. Si vous utilisez Route 53 pour la première fois et que vous n'avez pas de zone hébergée AWS Transfer Family , ajoutez une nouvelle zone hébergée et un `CNAME` enregistrement. La valeur de cet `CNAME` enregistrement est le nom d'hôte du point de terminaison de votre serveur. Un enregistrement *CNAME *est un autre nom de domaine.

1. Si vous avez une zone hébergée dans Route 53 sans aucun `CNAME` enregistrement, AWS Transfer Family ajoute un `CNAME` enregistrement à la zone hébergée.

1. Si le service détecte qu'il existe déjà un enregistrement `CNAME` dans la zone hébergée, vous obtenez une erreur indiquant qu'il existe déjà un enregistrement `CNAME`. Dans ce cas, remplacez la valeur de l'`CNAME`enregistrement par le nom d'hôte de votre serveur. 

Pour plus d'informations sur les zones hébergées dans Route 53, consultez la section [Zone hébergée](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/CreatingHostedZone.html) dans le manuel *Amazon Route 53 Developer Guide*.

## Utiliser d'autres fournisseurs de DNS
<a name="requirements-use-alt-dns"></a>

Lorsque vous créez un serveur, vous pouvez également utiliser des fournisseurs DNS autres qu'Amazon Route 53. Si vous utilisez un autre fournisseur DNS, vous devez veiller à ce que le trafic en provenance de votre domaine soit dirigé vers le point de terminaison de votre serveur .

Pour ce faire, définissez votre domaine sur le nom d'hôte du point de terminaison du serveur.
+ Pour les IPv4 points de terminaison, le nom d'hôte ressemble à ceci dans la console :

   `serverid.server.transfer.region.amazonaws.com` 
+ Pour les points de terminaison à double pile, le nom d'hôte ressemble à ceci dans la console :

   `serverid.transfer-server.region.on.aws` 

**Note**  
Si votre serveur possède un point de terminaison VPC, le format du nom d'hôte est différent de celui décrit ci-dessus. Pour trouver votre point de terminaison VPC, sélectionnez le VPC sur la page de détails du serveur, puis sélectionnez l'**ID du point de terminaison VPC sur le tableau de bord du VPC**. Le point de terminaison est le premier nom DNS de ceux répertoriés.

## Noms d'hôte personnalisés pour les serveurs créés sans console
<a name="tag-custom-hostname-cdk"></a>

Lorsque vous créez un serveur à l'aide AWS Cloud Development Kit (AWS CDK) de ou via la CLI, vous devez ajouter une balise si vous souhaitez que ce serveur possède un nom d'hôte personnalisé. CloudFormation Lorsque vous créez un serveur Transfer Family à l'aide de la console, le balisage est effectué automatiquement.

**Note**  
Vous devez également créer un enregistrement DNS pour rediriger le trafic de votre domaine vers le point de terminaison de votre serveur. Pour plus de détails, consultez la section [Travailler avec des enregistrements](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/rrsets-working-with.html) dans le *guide du développeur Amazon Route 53*.

Utilisez les clés suivantes pour votre nom d'hôte personnalisé :
+ Ajoutez `transfer:customHostname` pour afficher le nom d'hôte personnalisé dans la console.
+ Si vous utilisez Route 53 comme fournisseur DNS, ajoutez`transfer:route53HostedZoneId`. Cette balise lie le nom d'hôte personnalisé à votre ID de zone hébergée Route 53.

Pour ajouter le nom d'hôte personnalisé, exécutez la commande CLI suivante.

```
aws transfer tag-resource --arn arn:aws:transfer:region:Compte AWS:server/server-ID --tags Key=transfer:customHostname,Value="custom-host-name"
```

Par exemple :

```
aws transfer tag-resource --arn arn:aws:transfer:us-east-1:111122223333:server/s-1234567890abcdef0 --tags Key=transfer:customHostname,Value="abc.example.com"
```

Si vous utilisez Route 53, exécutez la commande suivante pour lier votre nom d'hôte personnalisé à votre ID de zone hébergée Route 53.

```
aws transfer tag-resource --arn server-ARN:server/server-ID --tags Key=transfer:route53HostedZoneId,Value=HOSTED-ZONE-ID
```

Par exemple :

```
aws transfer tag-resource --arn arn:aws:transfer:us-east-1:111122223333:server/s-1234567890abcdef0 --tags Key=transfer:route53HostedZoneId,Value=ABCDE1111222233334444
```

En utilisant les valeurs d'exemple de la commande précédente, exécutez la commande suivante pour afficher vos balises :

```
aws transfer list-tags-for-resource --arn arn:aws:transfer:us-east-1:111122223333:server/s-1234567890abcdef0
```

```
"Tags": [
   {
      "Key": "transfer:route53HostedZoneId",
      "Value": "/hostedzone/ABCDE1111222233334444"
   },
   {
      "Key": "transfer:customHostname",
      "Value": "abc.example.com"
   }
 ]
```

**Note**  
 Vos zones hébergées publiques et IDs les leurs sont disponibles sur Amazon Route 53.   
Connectez-vous à la console Route 53 AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/).

## Considérations relatives aux Network Load Balancer FTP et FTPS
<a name="ftp-ftps-nlb-considerations"></a>

Bien que nous vous recommandions d'éviter les équilibreurs de charge réseau placés devant AWS Transfer Family les serveurs, si votre implémentation FTP ou FTPS nécessite un NLB ou un NAT dans la route de communication en provenance du client, suivez les recommandations suivantes :
+ Pour un NLB, utilisez le port 21 pour les contrôles de santé, au lieu des ports 8192-8200.
+ Pour le AWS Transfer Family serveur, activez la reprise de session TLS en `TlsSessionResumptionMode = ENFORCED` configurant.
**Note**  
Il s'agit du mode recommandé, car il offre une sécurité renforcée :  
Exige que les clients utilisent la reprise de session TLS pour les connexions suivantes.
Fournit des garanties de sécurité renforcées en garantissant des paramètres de chiffrement cohérents.
Aide à prévenir les attaques de rétrogradation potentielles.
Maintient la conformité aux normes de sécurité tout en optimisant les performances.
+ Si possible, évitez d'utiliser un NLB pour tirer pleinement parti des limites de AWS Transfer Family performances et de connexion.

Pour obtenir des conseils supplémentaires sur les alternatives NLB, contactez l'équipe de gestion des AWS Transfer Family produits via le AWS Support. Pour plus d'informations sur l'amélioration de votre niveau de sécurité, consultez le billet de blog [Six conseils pour améliorer la sécurité de votre AWS Transfer Family serveur](https://aws.amazon.com/blogs/security/six-tips-to-improve-the-security-of-your-aws-transfer-family-server/).

 Les consignes de sécurité pour NLBs sont fournies dans[Évitez de placer NLBs les AWS Transfer Family serveurs et NATs de les placer devant eux](infrastructure-security.md#nlb-considerations). 

# Transfert de fichiers via un point de terminaison serveur à l'aide d'un client
<a name="transfer-file"></a>

Vous transférez des fichiers via le AWS Transfer Family service en spécifiant l'opération de transfert dans un client. AWS Transfer Family prend en charge les clients suivants :
+ Nous prenons en charge la version 3 du protocole SFTP.
+ OpenSSH (macOS et Linux)
**Note**  
Ce client fonctionne uniquement avec les serveurs qui sont activés pour le protocole de transfert de fichiers (SFTP) Secure Shell (SSH).
+ WinSCP (Microsoft Windows uniquement)
+ Cyberduck (Windows, macOS et Linux)
+ FileZilla (Windows, macOS et Linux)

Les restrictions suivantes s'appliquent à tous les clients :
+ Le protocole SCP n'est pas pris en charge, car il est considéré comme non sécurisé. Vous pouvez utiliser la commande `scp` OpenSSH comme décrit dans. [Utilisation de la commande `scp`](#openssh-scp)
+ Le nombre maximum de sessions SFTP multiplexées simultanées par connexion est de 10.
+ Pour les connexions inactives, le délai d'expiration est de 1800 secondes (30 minutes) pour tous les protocoles (SFTP/FTP/FTPS). S'il n'y a aucune activité après cette période, le client peut être déconnecté. Pour les connexions qui ne répondent pas :
  + Le protocole SFTP a un délai d'expiration de 300 secondes (5 minutes) lorsqu'un client ne répond pas du tout.
  + Les protocoles FTPS et FTP ont un délai d'attente d'environ 10 minutes qui est géré par la bibliothèque sous-jacente.
+ Amazon S3 et Amazon EFS (en raison du NFSv4 protocole) nécessitent que les noms de fichiers soient encodés en UTF-8. L'utilisation d'un encodage différent peut entraîner des résultats inattendus. Pour Amazon S3, consultez les [directives de dénomination des clés d'objet](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-guidelines).
+ Pour le protocole de transfert de fichiers via SSL (FTPS), seul le mode explicite est pris en charge. Le mode implicite n'est pas pris en charge.
+ Pour le protocole de transfert de fichiers (FTP) et le FTPS, seul le mode passif est pris en charge.
+ Pour les protocoles FTP et FTPS, seul le mode STREAM est pris en charge.
+ Pour les protocoles FTP et FTPS, seul le Image/Binary mode est pris en charge.
+ Pour le FTP et le FTPS, le protocole TLS - PROT C (non protégé) est le protocole TLS par défaut pour la connexion aux données, mais le protocole FTPS ne prend pas en charge le protocole PROT C. AWS Transfer Family Donc, pour FTPS, vous devez émettre un PROT P pour que votre opération de données soit acceptée.
+ Si vous utilisez Amazon S3 pour le stockage de votre serveur, et si votre client contient une option permettant d'utiliser plusieurs connexions pour un seul transfert, assurez-vous de désactiver cette option. Dans le cas contraire, les téléchargements de fichiers volumineux peuvent échouer de manière imprévisible. Notez que si vous utilisez Amazon EFS comme backend de stockage, EFS *prend* en charge plusieurs connexions pour un seul transfert.

Voici une liste des commandes disponibles pour FTP et FTPS :


| Commandes disponibles | 
| --- | 
| LABOR | EXPLOIT | LE PLUS | PASSER | RETR | TEMPÊTE | 
| AUTH | LANG | MKD | PASV | RMD | STOU | 
| CDUP | LIST | MODE | PBSZ | RNFR | STRU | 
| CWD | MDTM | NLST | PORT | RNTO | SYST | 
| DELE | MFMT | NOOP | PWD | SIZE | TYPE | 
| EPSV | MLSD | OPTE | SORTIR | STAT | USER | 

**Note**  
APPE n'est pas pris en charge.

Pour le SFTP, les opérations suivantes ne sont actuellement pas prises en charge pour les utilisateurs qui utilisent le répertoire de base logique sur des serveurs utilisant Amazon Elastic File System (Amazon EFS).


| Commandes SFTP non prises en charge | 
| --- | 
| SSH\$1FXP\$1READLINK | SSH\$1FXP\$1SYMLINK | SSH\$1FXP\$1STAT lorsque le fichier demandé est un lien symbolique | SSH\$1FXP\$1REALPATH lorsque le chemin demandé contient des composants de lien symbolique | 

**Générer une paire de clés publique-privée**  
 Avant de transférer un fichier, vous devez disposer d'une paire de clés publique-privée. Si vous n'avez pas encore généré de paire de clés, consultez[Génération de clés SSH pour les utilisateurs gérés par des services](sshkeygen.md). 

**Topics**
+ [SFTP/FTPS/FTPCommandes disponibles](#transfer-sftp-commands)
+ [Trouvez votre point de terminaison Amazon VPC](#find-vpc-endpoint)
+ [Évitez les `setstat` erreurs](#avoid-set-stat)
+ [Utiliser OpenSSH](#openssh)
+ [Utiliser WinSCP](#winscp)
+ [Utilisez Cyberduck](#cyberduck)
+ [Utiliser FileZilla](#filezilla)
+ [Utiliser un client Perl](#using-clients-with-perl-modules)
+ [Utiliser le LFTP](#using-client-lftp)
+ [Traitement après le téléchargement](#post-processing-upload)
+ [Messages SFTP](#sftp-transfer-activity-types)

## SFTP/FTPS/FTPCommandes disponibles
<a name="transfer-sftp-commands"></a>

Le tableau suivant décrit les commandes disponibles pour AWS Transfer Family, pour les protocoles SFTP, FTPS et FTP. 

**Note**  
Le tableau mentionne *les fichiers et les* *répertoires* d'Amazon S3, qui ne prend en charge que les buckets et les objets : il n'y a pas de hiérarchie. Cependant, vous pouvez utiliser des préfixes dans les noms de clés d'objets pour indiquer une hiérarchie et organiser vos données de la même manière que les dossiers. Ce comportement est décrit dans la section [Utilisation des métadonnées d'objets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingMetadata.html) dans le *guide de l'utilisateur d'Amazon Simple Storage Service*.


**Commandes SFTP/FTPS/FTP**  

| Commande | Amazon S3 | Amazon EFS | 
| --- | --- | --- | 
| cd | Pris en charge | Pris en charge | 
| chgrp | Non pris en charge  | Supporté (rootou owner uniquement) | 
| chmod | Non pris en charge | Supporté (rootuniquement) | 
| chmtime | Non pris en charge | Pris en charge | 
| chown | Non pris en charge | Supporté (rootuniquement) | 
| get | Pris en charge | Supporté (y compris la résolution de liens symboliques) | 
| ln -s | Non pris en charge  | Pris en charge | 
| ls/dir | Pris en charge | Pris en charge | 
| mkdir | Pris en charge | Pris en charge | 
| put | Pris en charge | Pris en charge | 
| pwd | Pris en charge | Pris en charge | 
| rename |  Pris en charge uniquement pour les fichiers  Le changement de nom qui remplacerait un fichier existant n'est pas pris en charge.   | Pris en charge  Le changement de nom qui remplacerait un fichier ou un répertoire existant n'est pas pris en charge.  | 
| rm | Pris en charge | Pris en charge | 
| rmdir | Pris en charge (répertoires vides uniquement) | Pris en charge | 
| version | Pris en charge | Pris en charge | 

## Trouvez votre point de terminaison Amazon VPC
<a name="find-vpc-endpoint"></a>

Si le type de point de terminaison de votre serveur Transfer Family est VPC, il n'est pas facile d'identifier le point de terminaison à utiliser pour le transfert de fichiers. Dans ce cas, utilisez la procédure suivante pour trouver votre point de terminaison Amazon VPC. 

**Pour trouver votre point de terminaison Amazon VPC**

1. Accédez à la page de détails de votre serveur.

1. Dans le volet **Détails du point de terminaison**, sélectionnez le **VPC**.  
![\[\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/server-details-endpoint-vpc.png)

1. Dans le tableau de bord Amazon VPC, sélectionnez l'ID du point de terminaison **VPC**.

1. Dans la liste des **noms DNS**, le point de terminaison de votre serveur est le premier répertorié.  
![\[\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/server-details-endpoint-vpc-2.png)

## Évitez les `setstat` erreurs
<a name="avoid-set-stat"></a>

Certains clients de transfert de fichiers SFTP peuvent tenter de modifier les attributs des fichiers distants, notamment l'horodatage et les autorisations, à l'aide de commandes telles que SETSTAT lors du téléchargement du fichier. Cependant, ces commandes ne sont pas compatibles avec les systèmes de stockage d'objets, tels qu'Amazon S3. En raison de cette incompatibilité, les chargements de fichiers à partir de ces clients peuvent entraîner des erreurs, même si le fichier est correctement chargé.
+ Lorsque vous appelez l'`UpdateServer`API `CreateServer` or, utilisez l'`ProtocolDetails`option `SetStatOption` permettant d'ignorer l'erreur générée lorsque le client tente d'utiliser SETSTAT sur un fichier que vous téléchargez dans un compartiment S3.
+ Définissez la valeur sur `ENABLE_NO_OP` pour que le serveur Transfer Family ignore la commande SETSTAT et charge des fichiers sans avoir à apporter de modifications à votre client SFTP.
+ *Notez que même si le `SetStatOption` `ENABLE_NO_OP` paramètre ignore l'erreur, il génère une entrée de journal dans CloudWatch Logs, afin que vous puissiez déterminer à quel moment le client effectue un appel SETSTAT.*

 Pour les détails de l'API relatifs à cette option, consultez [ProtocolDetails](https://docs.aws.amazon.com/transfer/latest/APIReference/API_ProtocolDetails.html).

## Utiliser OpenSSH
<a name="openssh"></a>

Cette section contient des instructions pour transférer des fichiers depuis la ligne de commande à l'aide d'OpenSSH.

**Note**  
Ce client fonctionne uniquement avec un serveur compatible SFTP.

**Topics**
+ [Utilisation d'OpenSSH](#openssh-use)
+ [Utilisation de la commande `scp`](#openssh-scp)

### Utilisation d'OpenSSH
<a name="openssh-use"></a>

**Pour transférer des fichiers à AWS Transfer Family l'aide de l'utilitaire de ligne de commande OpenSSH**

1. Sur Linux, macOS ou Windows, ouvrez un terminal de commande.

1. À l'invite, entrez la commande suivante : 

   `sftp -i transfer-key sftp_user@service_endpoint`

   Dans la commande précédente, `sftp_user` il s'agit du nom d'utilisateur et `transfer-key` de la clé privée SSH. `service_endpoint`Voici le point de terminaison du serveur tel qu'indiqué dans la AWS Transfer Family console du serveur sélectionné.
**Note**  
Cette commande utilise les paramètres figurant dans le `ssh_config` fichier par défaut. À moins que vous n'ayez déjà modifié ce fichier, le protocole SFTP utilise le port 22. Vous pouvez spécifier un port différent (par exemple 2222) en ajoutant un **-P** drapeau à la commande, comme suit.  

   ```
   sftp -P 2222 -i transfer-key sftp_user@service_endpoint
   ```
Sinon, si vous souhaitez toujours utiliser le port 2222 ou le port 22000, vous pouvez mettre à jour votre port par défaut dans votre `ssh_config` fichier.

   Une invite `sftp` doit s'afficher.

1.  (Facultatif) Pour afficher le répertoire personnel de l'utilisateur, entrez la commande suivante à l'`sftp`invite : 

   `pwd` 

1. Pour télécharger un fichier depuis votre système de fichiers vers le serveur Transfer Family, utilisez la `put` commande. Par exemple, pour charger `hello.txt` (en supposant que le fichier se trouve dans le répertoire actuel de votre système de fichiers), exécutez la commande suivante à l'`sftp`invite : 

   `put hello.txt` 

   Un message similaire au suivant apparaît, indiquant que le transfert du fichier est en cours ou terminé.

   `Uploading hello.txt to /amzn-s3-demo-bucket/home/sftp_user/hello.txt`

   `hello.txt 100% 127 0.1KB/s 00:00`

**Note**  
Une fois votre serveur créé, le nom d'hôte du point de terminaison du serveur peut prendre quelques minutes pour être résolu par le service DNS de votre environnement.

### Utilisation de la commande `scp`
<a name="openssh-scp"></a>

Transfer Family ne prend pas en charge le protocole SCP. Toutefois, vous pouvez utiliser la commande `scp` OpenSSH si vous avez besoin de cette fonctionnalité.

Pour utiliser SCP sur SFTP, il est recommandé d'utiliser OpenSSH version 9.0 ou ultérieure. Dans les versions 9 et ultérieures d'OpenSSH, `scp` la commande utilise par défaut le protocole SFTP pour les transferts de fichiers au lieu de l'ancien protocole SCP.

**Important**  
Assurez-vous que votre serveur Transfer Family a été configuré pour utiliser l'accès aux annuaires optimisé S3.

## Utiliser WinSCP
<a name="winscp"></a>

Suivez les instructions ci-dessous pour transférer des fichiers depuis la ligne de commande en utilisant WinSCP.

**Note**  
Si vous utilisez WinSCP 5.19, vous pouvez vous connecter directement à Amazon S3 à l'aide AWS de vos informations d'identification et de vos fichiers. upload/download Pour plus de détails, consultez [Connexion au service Amazon S3](https://winscp.net/eng/docs/guide_amazon_s3).

**Pour transférer des fichiers à AWS Transfer Family l'aide de WinSCP**

1. Ouvrez le client WinSCP.

1. Dans la boîte de dialogue de **connexion**, pour **Protocole de fichier**, choisissez un protocole : **SFTP** ou **FTP**.

   Si vous avez choisi FTP, pour **le chiffrement**, choisissez l'une des options suivantes :
   + **Pas de cryptage** pour le FTP
   + **Chiffrement explicite TLS/SSL** pour FTPS

1. Dans **Nom d'hôte**, entrez le point de terminaison de votre serveur. Le point de terminaison du serveur se trouve sur la page des **détails du serveur**. Pour de plus amples informations, veuillez consulter [Afficher les détails des serveurs SFTP, FTPS et FTP](configuring-servers-view-info.md).

   Si votre serveur utilise un point de terminaison VPC, consultez. [Trouvez votre point de terminaison Amazon VPC](#find-vpc-endpoint)

1. Pour le **numéro de port**, entrez ce qui suit :
   + **22**pour SFTP
   + **21**pour FTP/FTPS

1. Dans **Nom d'utilisateur**, entrez le nom de l'utilisateur que vous avez créé pour votre fournisseur d'identité spécifique.

   **Conseil :** Le nom d'utilisateur doit être l'un des utilisateurs que vous avez créés ou configurés pour votre fournisseur d'identité. AWS Transfer Family fournit les fournisseurs d'identité suivants :
   + [Travailler avec des utilisateurs gérés par des services](service-managed-users.md)
   + [Utilisation de AWS Directory Service pour Microsoft Active Directory](directory-services-users.md)
   + [Travailler avec des fournisseurs d'identité personnalisés](custom-idp-intro.md)

1. Choisissez **Avancé** pour ouvrir la boîte de dialogue **Paramètres avancés du site**. Dans la section **SSH**, choisissez **Authentification**.

1. Pour **le fichier de clé privée**, recherchez et sélectionnez le fichier de clé privée SSH dans votre système de fichiers.

   **Si WinSCP propose de convertir votre clé privée SSH au format PPK, choisissez OK.**

1. Choisissez **OK** pour revenir à la boîte de dialogue **Login**, puis choisissez **Sauver**.

1. Dans la boîte de dialogue **Enregistrer la session en tant que site**, cliquez **sur OK** pour terminer la configuration de votre connexion.

1. Dans la boîte de dialogue de **connexion**, choisissez **Outils**, puis **Préférences**.

1. Dans la boîte de dialogue **Préférences**, pour **Transfer**, sélectionnez **Endurance**.

   Pour l'option **Activer le transfert resume/transfer vers un nom de fichier temporaire pour**, choisissez **Désactiver**.
**Important**  
Si vous laissez cette option activée, cela augmente les coûts de téléchargement, diminuant ainsi considérablement les performances de téléchargement. Cela peut également entraîner l'échec des téléchargements de fichiers volumineux.

1. Pour **Transférer**, choisissez **Background** et décochez la case **Utiliser plusieurs connexions pour un seul transfert**.

   **Conseil :** Si vous laissez cette option sélectionnée, les téléchargements de fichiers volumineux peuvent échouer de manière imprévisible. Par exemple, des téléchargements partitionnés orphelins qui entraînent des frais Amazon S3 peuvent être créés. Une corruption silencieuse des données peut également se produire.

1. Effectuez le transfert de vos fichiers.

   Vous pouvez utiliser drag-and-drop des méthodes pour copier des fichiers entre les fenêtres cible et source. Vous pouvez utiliser les icônes de la barre d'outils pour charger, télécharger, supprimer, modifier ou modifier les propriétés des fichiers dans WinSCP.

**Note**  
Cette remarque ne s'applique pas si vous utilisez Amazon EFS pour le stockage.  
Les commandes qui tentent de modifier les attributs des fichiers distants, y compris les horodatages, ne sont pas compatibles avec les systèmes de stockage d'objets tels qu'Amazon S3. Par conséquent, si vous utilisez Amazon S3 pour le stockage, veillez à désactiver les paramètres d'horodatage WinSCP (ou à les utiliser comme décrit [Évitez les `setstat` erreurs](#avoid-set-stat) dans) avant d'`SetStatOption`effectuer des transferts de fichiers. Pour ce faire, dans la boîte de dialogue des paramètres de **WinSCP Transfer**, désactivez l'option **Définir les autorisations de téléchargement et l'**option **Conserver l'**horodatage commun.

## Utilisez Cyberduck
<a name="cyberduck"></a>

Suivez les instructions ci-dessous pour transférer des fichiers depuis la ligne de commande en utilisant Cyberduck.

**Pour transférer des fichiers à AWS Transfer Family l'aide de Cyberduck**

1. Ouvrez le client [Cyberduck](https://cyberduck.io/download/).

1. Choisissez **Open Connection**.

1. Dans la boîte de dialogue **Ouvrir une connexion**, choisissez un protocole : **SFTP (protocole de transfert de fichiers SSH), FTP-SSL (Explicit AUTH TLS) ou **FTP** (protocole** **de transfert de fichiers)**.

1. Pour **Serveur**, entrez le point de terminaison de votre serveur. Le point de terminaison du serveur se trouve sur la page des **détails du serveur**. Pour de plus amples informations, veuillez consulter [Afficher les détails des serveurs SFTP, FTPS et FTP](configuring-servers-view-info.md).

   Si votre serveur utilise un point de terminaison VPC, consultez. [Trouvez votre point de terminaison Amazon VPC](#find-vpc-endpoint)

1. Pour le **numéro de port**, entrez ce qui suit :
   + **22**pour SFTP
   + **21**pour FTP/FTPS

1. Dans **Nom d'utilisateur**, entrez le nom de l'utilisateur que vous avez créé dans [Gestion des utilisateurs pour les points de terminaison du serveur](create-user.md).

1. Si SFTP est sélectionné, pour la **clé privée SSH**, choisissez ou entrez la clé privée SSH.

1. Choisissez **Se connecter**.

1. Effectuez le transfert de vos fichiers.

   Selon l'emplacement de vos fichiers, effectuez l'une des actions suivantes :
   + Dans votre répertoire local (la source), choisissez les fichiers que vous souhaitez transférer, puis faites-les glisser dans le répertoire Amazon S3 (la cible).
   + Dans le répertoire Amazon S3 (la source), choisissez les fichiers que vous souhaitez transférer, puis faites-les glisser dans votre répertoire local (la cible).

## Utiliser FileZilla
<a name="filezilla"></a>

Suivez les instructions ci-dessous pour transférer des fichiers à l'aide de FileZilla.

**FileZilla Pour configurer un transfert de fichiers**

1. Ouvrez le FileZilla client.

1. Choisissez **Fichier**, puis **Gestionnaire de site**.

1. Dans la boîte de dialogue **Gestionnaire de sites**, sélectionnez **Nouveau site**.

1. Dans l'onglet **Général**, pour **Protocole**, choisissez un protocole : **SFTP** ou **FTP**.

   Si vous avez choisi FTP, pour **le chiffrement**, choisissez l'une des options suivantes :
   + **Utilisez uniquement le protocole FTP ordinaire (non sécurisé)** — pour le FTP
   + **Utilisez le protocole FTP explicite sur TLS, si disponible**, pour le protocole FTPS

1. Dans **Nom d'hôte**, entrez le protocole que vous utilisez, suivi du point de terminaison de votre serveur. Le point de terminaison du serveur se trouve sur la page des **détails du serveur**. Pour de plus amples informations, veuillez consulter [Afficher les détails des serveurs SFTP, FTPS et FTP](configuring-servers-view-info.md).
   + Si vous utilisez le protocole SFTP, entrez : `sftp://hostname`
   +  Si vous utilisez le protocole FTPS, entrez : `ftps://hostname` 

   Assurez-vous de le remplacer par le point *hostname* de terminaison de votre serveur actuel.

   Si votre serveur utilise un point de terminaison VPC, consultez. [Trouvez votre point de terminaison Amazon VPC](#find-vpc-endpoint)

1. Pour le **numéro de port**, entrez ce qui suit :
   + **22**pour SFTP
   + **21**pour FTP/FTPS

1. Si SFTP est sélectionné, pour **Type d'ouverture de session**, choisissez Fichier **clé**.

   Pour **Fichier clé**, choisissez ou entrez la clé privée SSH.

1. Pour **Utilisateur**, entrez le nom de l'utilisateur que vous avez créé dans[Gestion des utilisateurs pour les points de terminaison du serveur](create-user.md).

1. Choisissez **Se connecter**.

1. Effectuez le transfert de vos fichiers.
**Note**  
Si vous interrompez un transfert de fichier en cours, vous AWS Transfer Family pouvez écrire un objet partiel dans votre compartiment Amazon S3. Si vous interrompez un chargement, vérifiez que la taille du fichier dans le compartiment Amazon S3 correspond à celle de l'objet source avant de continuer.

## Utiliser un client Perl
<a name="using-clients-with-perl-modules"></a>

Si vous utilisez le client NET::SFTP::Foreign Perl, vous devez définir la valeur sur`queue_size`. `1` Par exemple :

`my $sftp = Net::SFTP::Foreign->new('user@s-12345.server.transfer.us-east-2.amazonaws.com', queue_size => 1);`

**Note**  
 Cette solution de contournement est nécessaire pour les révisions `Net::SFTP::Foreign` antérieures à la version [1.92.02](https://metacpan.org/changes/release/SALVA/Net-SFTP-Foreign-1.93#L12). 

## Utiliser le LFTP
<a name="using-client-lftp"></a>

LFTP est un client FTP gratuit qui permet aux utilisateurs d'effectuer des transferts de fichiers via l'interface de ligne de commande depuis la plupart des machines Linux.

 Pour les téléchargements de fichiers volumineux, le protocole LFTP présente un problème connu lié aux paquets hors service, ce qui entraîne l'échec du transfert de fichiers.

## Traitement après le téléchargement
<a name="post-processing-upload"></a>

Vous pouvez consulter les informations de traitement après le téléchargement, notamment les métadonnées des objets Amazon S3 et les notifications d'événements.

**Topics**
+ [Métadonnées d'objets Amazon S3](#post-processing-S3-object-metadata)
+ [Notifications d'événements Amazon S3](#post-processing-S3-event-notifications)

### Métadonnées d'objets Amazon S3
<a name="post-processing-S3-object-metadata"></a>

Dans les métadonnées de votre objet, vous pouvez voir une clé appelée `x-amz-meta-user-agent` dont la valeur est `AWSTransfer` et `x-amz-meta-user-agent-id` dont la valeur est`username@server-id`. `username`Il s'agit de l'utilisateur de Transfer Family qui a chargé `server-id` le fichier et du serveur utilisé pour le téléchargement. Ces informations sont accessibles à l'aide de l'[HeadObject](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectHEAD.html)opération sur l'objet S3 dans votre fonction Lambda.

![\[L'écran des métadonnées affiche des informations sur les métadonnées des objets Amazon S3 pour AWS Transfer Family.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/s3-object-metadata.png)


### Notifications d'événements Amazon S3
<a name="post-processing-S3-event-notifications"></a>

Lorsqu'un objet est chargé dans votre compartiment S3 à l'aide de Transfer Family, `RoleSessionName` il est contenu dans le champ Requester de la [structure de notification des événements S3 sous la](https://docs.aws.amazon.com/AmazonS3/latest/dev/notification-content-structure.html) forme`[AWS:Role Unique Identifier]/username.sessionid@server-id`. Par exemple, voici le contenu d'un exemple de champ Demandeur issu d'un journal d'accès S3 pour un fichier copié dans le compartiment S3.

`arn:aws:sts::AWS-Account-ID:assumed-role/IamRoleName/username.sessionid@server-id`

Dans le champ Demandeur ci-dessus, il indique le rôle IAM appelé. `IamRoleName` Pour plus d'informations sur la configuration des notifications d'événements S3, consultez [la section Configuration des notifications d'événements Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) *dans le guide du développeur Amazon Simple Storage Service*. *Pour plus d'informations sur les identifiants uniques de rôle Gestion des identités et des accès AWS (IAM), consultez la section Identifiants [uniques du guide](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-unique-ids) de l'Gestion des identités et des accès AWS utilisateur.*

## Messages SFTP
<a name="sftp-transfer-activity-types"></a>

Cette section décrit les messages côté client que vous pouvez recevoir pendant ou après vos transferts de fichiers SFTP lorsque vous utilisez un serveur Transfer Family. Pour plus d'informations sur un événement SFTP, consultez les journaux de vos clients SFTP. Vous pouvez utiliser ces informations pour résoudre d'éventuelles erreurs ou les transmettre à votre équipe réseau afin qu'elle vous aide à identifier le problème.


**Messages SFTP côté client**  

| Activité | Description | 
| --- | --- | 
| AUTH\$1FAILURE | L'utilisateur a échoué à s'authentifier. Il peut s'agir de n'importe quel type de défaillance provenant d'un fournisseur d'identité personnalisé ou d'un utilisateur géré par un service. Les détails de l'événement aident à clarifier la cause première de l'échec. | 
| CLOSE | Indique qu'un fichier ou un répertoire ouvert est correctement fermé. | 
| CONNECTÉ/DÉCONNECTÉ | Indique le succès normal de la connexion et les déconnexions. | 
| CRÉER\$1SYMLINK  | Un lien symbolique a été créé (avec ou sans succès). | 
| DELETE | Un fichier a été supprimé (avec ou sans succès). | 
| ERROR | Erreur générale et inattendue. La description associée contient des informations qui peuvent vous aider, vous ou vos administrateurs réseau, à identifier le problème spécifique. | 
| RAISON\$1DE SORTIE | Émis lorsqu'une erreur inattendue a entraîné la fin de votre session SFTP. Le message associé à l'événement décrit la cause. | 
| MKDIR | Un répertoire a été créé (avec ou sans succès). | 
| OPEN | Un fichier a été ouvert en lecture ou en écriture (avec ou sans succès) | 
| FERMETURE PARTIELLE | Le client s'est déconnecté du serveur alors qu'un fichier était encore ouvert et aucun message CLOSE n'a été reçu. Transfer Family stocke la partie reçue du fichier (qui peut en fait être le fichier complet) et émet l'événement PARTIAL\$1CLOSE pour avertir le client du problème. L'intégration des flux de travail reçoit également un onPartialClose événement pour gérer le fichier de manière appropriée. | 
| RENAME | Un fichier a été renommé (avec ou sans succès) | 
| RMDIR | Un répertoire a été supprimé (avec ou sans succès) | 
| SETSTAT |  Les attributs d'un fichier sont modifiés (avec ou sans succès).  Transfer Family ne prend pas en charge SETSTAT si vous utilisez Amazon S3 pour le stockage. La [Évitez les `setstat` erreurs](#avoid-set-stat) section fournit des détails sur la manière d'éviter `SetStat` les erreurs en désactivant le paramètre. Cela vous évite de recevoir un `fail unsupported error` : au lieu de cela, vous recevez `success but do nothing` un message.   | 
| TLS\$1RESUME\$1FAILURE  | Le serveur est configuré pour appliquer la reprise de session TLS et le client ne le prend pas en charge. | 

# Gestion des utilisateurs pour les points de terminaison du serveur
<a name="create-user"></a>

Dans les sections suivantes, vous trouverez des informations sur la façon d'ajouter des utilisateurs à l'aide d' AWS Transfer Family un fournisseur d'identité personnalisé AWS Directory Service for Microsoft Active Directory ou d'un fournisseur d'identité.

Vous pouvez également stocker la clé publique SSH (Secure Shell) dans les propriétés de chaque utilisateur. Cela est nécessaire pour l'authentification par clé. La clé privée est stockée localement sur l'ordinateur de votre utilisateur. Lorsque votre utilisateur envoie une demande d'authentification à votre serveur via un client, celui-ci confirme d'abord que l'utilisateur a accès à la clé privée SSH associée. Le serveur authentifie ensuite correctement l'utilisateur.

**Note**  
Pour le déploiement et la gestion automatisés des utilisateurs utilisant plusieurs clés SSH, consultez[Modules Transfer Family Terraform](terraform.md).

En outre, vous spécifiez le répertoire personnel, ou répertoire de destination, d'un utilisateur et vous lui attribuez un rôle Gestion des identités et des accès AWS (IAM). Vous pouvez éventuellement fournir une politique de session pour limiter l'accès des utilisateurs uniquement au répertoire de base de votre compartiment Amazon S3.

**Important**  
AWS Transfer Family empêche les noms d'utilisateur de 1 ou 2 caractères de s'authentifier auprès des serveurs SFTP. De plus, nous bloquons également le nom `root` d'utilisateur.  
Cela s'explique par le grand nombre de tentatives de connexion malveillantes effectuées par des scanners de mots de passe.

## Comparaison entre Amazon EFS et Amazon S3
<a name="efs-vs-s3-users"></a>

Caractéristiques de chaque option de stockage :
+ Pour limiter l'accès : Amazon S3 prend en charge les politiques de session ; Amazon EFS prend en charge les utilisateurs, les groupes et les groupes secondaires POSIX IDs
+  Les deux public/private touches de support 
+  Les deux prennent en charge les répertoires personnels 
+  Les deux prennent en charge les répertoires logiques 
**Note**  
 Pour Amazon S3, l'essentiel de la prise en charge des annuaires logiques se fait via API/CLI. Vous pouvez utiliser la case à cocher **Restreint** de la console pour verrouiller l'accès d'un utilisateur à son répertoire personnel, mais vous ne pouvez pas spécifier de structure de répertoire virtuel. 

## Répertoires logiques
<a name="logical-dir-users"></a>

Si vous spécifiez des valeurs de répertoire logiques pour votre utilisateur, le paramètre que vous utilisez dépend du type d'utilisateur.
+ Pour les utilisateurs gérés par des services, fournissez des valeurs de répertoire logiques dans. `HomeDirectoryMappings`
+ Pour les utilisateurs de fournisseurs d'identité personnalisés, fournissez des valeurs de répertoire logiques dans`HomeDirectoryDetails`.

AWS Transfer Family prend en charge la spécification d'une HomeDirectory valeur lors de l'utilisation du LOGICAL HomeDirectoryType. Cela s'applique aux utilisateurs gérés par le service, à l'accès à Active Directory et aux implémentations de fournisseurs d'identité personnalisés lorsque HomeDirectoryDetails ceux-ci sont fournis dans la réponse.

**Important**  
Lorsque vous spécifiez a HomeDirectory avec LOGICAL HomeDirectoryType, la valeur doit correspondre à l'un de vos mappages de répertoires logiques. Le service valide cela lors de la création et des mises à jour des utilisateurs afin d'éviter que les configurations ne fonctionnent pas.

### Comportement par défaut
<a name="logical-dir-default"></a>

Par défaut, s'il n'est pas spécifié, HomeDirectory il est défini sur «/» pour le mode LOGIQUE. Ce comportement est inchangé et reste compatible avec les définitions utilisateur existantes.
+ Assurez-vous de faire correspondre votre entrée HomeDirectory à une *entrée* et non à une *cible*. Pour en savoir plus, consultez [Règles d'utilisation des répertoires logiques](logical-dir-mappings.md#logical-dir-rules).
+ Pour plus de détails sur la structure d'un répertoire virtuel, voir[Structure du répertoire virtuel](implement-log-dirs.md#virtual-dirs).

### Considérations relatives au fournisseur d'identité personnalisé
<a name="logical-dir-custom-idp"></a>

Lorsque vous utilisez un fournisseur d'identité personnalisé, vous pouvez désormais spécifier un HomeDirectory dans la réponse lorsque vous utilisez LOGICAL HomeDirectoryType. L'appel TestIdentityProvider d'API produira des résultats corrects lorsque l'IDP personnalisé spécifie un HomeDirectory en mode LOGIQUE.

Exemple de réponse IDP personnalisée avec HomeDirectory et LOGICAL HomeDirectoryType :

```
{
  "Role": "arn:aws:iam::123456789012:role/transfer-user-role",
  "HomeDirectoryType": "LOGICAL",
  "HomeDirectory": "/marketing",
  "HomeDirectoryDetails": "[{\"Entry\":\"/\",\"Target\":\"/bucket/home\"},{\"Entry\":\"/marketing\",\"Target\":\"/marketing-bucket/campaigns\"}]"
}
```

## Quotas de groupe Active Directory
<a name="ad-group-quotas"></a>

AWS Transfer Family a une limite par défaut de 100 groupes Active Directory par serveur. Si votre cas d'utilisation nécessite plus de 100 groupes, envisagez d'utiliser une solution de fournisseur d'identité personnalisée, comme décrit dans [Simplifier l'authentification Active Directory avec un fournisseur d'identité personnalisé pour AWS Transfer Family](https://aws.amazon.com/blogs/storage/simplify-active-directory-authentication-with-a-custom-identity-provider-for-aws-transfer-family/).

Cette limite s'applique aux serveurs utilisant les fournisseurs d'identité suivants :
+ AWS Service d'annuaire pour Microsoft Active Directory
+ AWS Service d'annuaire pour les services de domaine Entra ID

Si vous devez demander une augmentation de la limite de service, consultez [Service AWS les quotas](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html) dans le *Références générales AWS*. Si votre cas d'utilisation nécessite plus de 100 groupes, envisagez d'utiliser une solution de fournisseur d'identité personnalisée, comme décrit dans [Simplifier l'authentification Active Directory avec un fournisseur d'identité personnalisé pour AWS Transfer Family](https://aws.amazon.com/blogs/storage/simplify-active-directory-authentication-with-a-custom-identity-provider-for-aws-transfer-family/).

Pour obtenir des informations de résolution des problèmes liés aux limites de groupe Active Directory, consultez[Limites de groupe Active Directory dépassées](auth-issues.md#managed-ad-group-limits).

**Topics**
+ [Comparaison entre Amazon EFS et Amazon S3](#efs-vs-s3-users)
+ [Répertoires logiques](#logical-dir-users)
+ [Quotas de groupe Active Directory](#ad-group-quotas)
+ [Travailler avec des utilisateurs gérés par des services](service-managed-users.md)
+ [Travailler avec des fournisseurs d'identité personnalisés](custom-idp-intro.md)
+ [Utilisation de AWS Directory Service pour Microsoft Active Directory](directory-services-users.md)
+ [Utilisation du AWS Directory Service pour les services de domaine Entra ID](azure-sftp.md)

# Travailler avec des utilisateurs gérés par des services
<a name="service-managed-users"></a>

Vous pouvez ajouter des utilisateurs gérés par le service Amazon S3 ou Amazon EFS à votre serveur, en fonction du paramètre de **domaine** du serveur. Pour de plus amples informations, veuillez consulter [Configuration d'un point de terminaison de serveur SFTP, FTPS ou FTP](tf-server-endpoint.md).

Si vous utilisez un type d'identité géré par un service, vous ajoutez des utilisateurs à votre serveur compatible avec le protocole de transfert de fichiers. Dans ce cas, chaque nom d'utilisateur doit être unique sur votre serveur.

Pour ajouter un utilisateur géré par un service par programmation, consultez l'[exemple](https://docs.aws.amazon.com/transfer/latest/APIReference/API_CreateUser.html#API_CreateUser_Examples) de l'API. [CreateUser](https://docs.aws.amazon.com/transfer/latest/APIReference/API_CreateUser.html)

**Note**  
Pour les utilisateurs gérés par des services, il existe une limite de 2 000 entrées de répertoire logique. Pour plus d'informations sur l'utilisation de répertoires logiques, consultez[Utilisation de répertoires logiques pour simplifier vos structures de répertoires Transfer Family](logical-dir-mappings.md).

**Topics**
+ [Ajouter des utilisateurs gérés par le service Amazon S3](#add-s3-user)
+ [Ajouter des utilisateurs gérés par le service Amazon EFS](#add-efs-user)
+ [Gestion des utilisateurs gérés par des services](#managing-service-managed-users)

## Ajouter des utilisateurs gérés par le service Amazon S3
<a name="add-s3-user"></a>

**Note**  
 Si vous souhaitez configurer un bucket Amazon S3 multi-comptes, suivez les étapes décrites dans cet article du centre de connaissances : [Comment configurer mon AWS Transfer Family serveur pour utiliser un bucket Amazon Simple Storage Service se trouvant dans un autre AWS compte ?](https://aws.amazon.com/premiumsupport/knowledge-center/sftp-cross-account-s3-bucket/) .

**Pour ajouter un utilisateur géré par le service Amazon S3 à votre serveur**

1. Ouvrez la AWS Transfer Family console sur [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/), puis sélectionnez **Serveurs** dans le volet de navigation.

1. Sur la page **Serveurs**, cochez la case du serveur auquel vous souhaitez ajouter un utilisateur.

1. Sélectionnez **Ajouter un utilisateur**.

1. Dans la section **Configuration utilisateur**, pour **Nom d'utilisateur**, entrez le nom d'utilisateur. Ce nom d'utilisateur doit comporter au minimum 3 caractères et au maximum 100 caractères. Vous pouvez utiliser les caractères suivants dans le nom d'utilisateur : a—z, A-Z, 0—9, trait de soulignement « \$1 », tiret « - », point «. » et signe « @». Le nom d'utilisateur ne peut pas commencer par un tiret « - », un point «. » ou par le signe « @».

1. Pour **Access**, choisissez le rôle IAM que vous avez créé précédemment et qui donne accès à votre compartiment Amazon S3.

   Vous avez créé ce rôle IAM à l'aide de la procédure décrite dans [Création d'un rôle et d'une politique IAM](requirements-roles.md). Ce rôle IAM inclut une politique IAM qui permet d'accéder à votre compartiment Amazon S3. Cela inclut également une relation de confiance avec le AWS Transfer Family service, définie dans une autre politique IAM. Si vous avez besoin d'un contrôle d'accès précis pour vos utilisateurs, consultez le billet de blog [Enhance data access control with AWS Transfer Family and Amazon S3](https://aws.amazon.com/blogs/storage/enhance-data-access-control-with-aws-transfer-family-and-amazon-s3-access-points/).

1. (Facultatif) Pour **Politique**, sélectionnez l'une des options suivantes :
   + **Aucun**
   + **Politique existante**
   + **Sélectionnez une politique dans IAM** : vous permet de choisir une stratégie de session existante. Choisissez **View** pour voir un objet JSON contenant les détails de la politique.
   + **Génération automatique d'une politique basée sur le dossier** de base : génère une politique de session pour vous. Choisissez **View** pour voir un objet JSON contenant les détails de la politique.
**Note**  
Si vous choisissez **Générer automatiquement une politique basée sur le dossier** de base, ne sélectionnez pas **Restreint** pour cet utilisateur.

   Pour en savoir plus sur les politiques de session[Création d'un rôle et d'une politique IAM](requirements-roles.md), consultez[Création d'une politique de session pour un compartiment Amazon S3](users-policies-session.md), ou[Approches dynamiques de gestion des autorisations](dynamic-permission-management.md).

1. Pour le **répertoire personnel**, choisissez le compartiment Amazon S3 dans lequel stocker les données à transférer AWS Transfer Family. Entrez le chemin d'accès au `home` répertoire dans lequel votre utilisateur atterrit lorsqu'il se connecte à l'aide de son client.

   Si vous laissez ce paramètre vide, le `root` répertoire de votre compartiment Amazon S3 est utilisé. Dans ce cas, vérifiez que votre rôle IAM donne accès à ce répertoire `root`.
**Note**  
Nous vous recommandons de choisir un chemin de répertoire contenant le nom d'utilisateur de l'utilisateur, afin d'utiliser efficacement une politique de session. La politique de session limite l'accès des utilisateurs dans le compartiment Amazon S3 au `home` répertoire de cet utilisateur.

1. (Facultatif) Pour **Restreint**, cochez la case afin que vos utilisateurs ne puissent accéder à rien en dehors de ce dossier et ne puissent pas voir le nom du compartiment ou du dossier Amazon S3.
**Note**  
L'attribution d'un répertoire personnel à l'utilisateur et la restriction de l'utilisateur à ce répertoire personnel devraient suffire à verrouiller l'accès de l'utilisateur au dossier désigné. Si vous devez appliquer des contrôles supplémentaires, utilisez une politique de session.   
Si vous sélectionnez **Restreint** pour cet utilisateur, vous ne pouvez pas sélectionner **Générer automatiquement une politique basée sur le dossier de** base, car le dossier de base n'est pas une valeur définie pour les utilisateurs restreints.

1. Pour la **clé publique SSH**, entrez la partie clé SSH publique de la paire de clés SSH.

   Votre clé est validée par le service avant que vous puissiez ajouter votre nouvel utilisateur.
**Note**  
Pour obtenir des instructions sur la façon de générer une paire de clés SSH, consultez [Génération de clés SSH pour les utilisateurs gérés par des services](sshkeygen.md).

1. (Facultatif) Pour **Clé** et **Valeur**, entrez une ou plusieurs balises sous forme de paires clé-valeur, puis choisissez **Ajouter** une balise.

1. Choisissez **Add (Ajouter)** pour ajouter votre nouvel utilisateur au serveur que vous avez choisi.

   Le nouvel utilisateur apparaît dans la section **Utilisateurs** de la page de **détails du serveur**.

**Prochaines étapes** — Pour l'étape suivante, passez à[Transfert de fichiers via un point de terminaison serveur à l'aide d'un client](transfer-file.md).

## Ajouter des utilisateurs gérés par le service Amazon EFS
<a name="add-efs-user"></a>

Amazon EFS utilise le modèle d'autorisation de fichier POSIX (Portable Operating System Interface) pour représenter la propriété des fichiers.
+  Pour plus d'informations sur la propriété des fichiers Amazon EFS, consultez la section [Propriété des fichiers Amazon EFS](configure-storage.md#efs-file-ownership). 
+ Pour plus de détails sur la configuration de répertoires pour vos utilisateurs EFS, consultez[Configurer les utilisateurs Amazon EFS pour Transfer Family](configure-storage.md#configure-efs-users-permissions). 

**Pour ajouter un utilisateur géré par le service Amazon EFS à votre serveur**

1. Ouvrez la AWS Transfer Family console sur [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/), puis sélectionnez **Serveurs** dans le volet de navigation.

1. Sur la page **Servers**, sélectionnez le serveur Amazon EFS auquel vous souhaitez ajouter un utilisateur.

1. Choisissez **Ajouter un utilisateur** pour afficher la page **Ajouter un utilisateur**.

1. Dans la section **Configuration utilisateur**, utilisez les paramètres suivants.

   1. Le **nom d'utilisateur** doit comporter un minimum de 3 et un maximum de 100 caractères. Vous pouvez utiliser les caractères suivants dans le nom d'utilisateur : a—z, A-Z, 0—9, trait de soulignement « \$1 », tiret « - », point ' . ', et au panneau « @ ». Le nom d'utilisateur ne peut pas commencer par un tiret « - », point ' . ', ou au panneau « @ ».

   1.  Pour **l'ID utilisateur** et l'**ID de groupe**, notez ce qui suit : 
      + Pour le premier utilisateur que vous créez, nous vous recommandons de saisir une valeur égale à la fois **0** pour l'**ID de groupe** et **l'ID utilisateur**. Cela accorde à l'utilisateur des privilèges d'administrateur pour Amazon EFS. 
      + Pour les utilisateurs supplémentaires, entrez l'ID utilisateur POSIX et l'ID de groupe de l'utilisateur. Ils IDs sont utilisés pour toutes les opérations Amazon Elastic File System effectuées par l'utilisateur. 
      + Pour **l'ID utilisateur** et l'**ID de groupe**, n'utilisez pas de zéros en début de liste. Par exemple, **12345** c'est acceptable, ne l'**012345**est pas. 

   1. (Facultatif) Pour **Groupe secondaire IDs**, entrez un ou plusieurs groupes POSIX supplémentaires IDs pour chaque utilisateur, séparés par des virgules.

   1. Pour **Access**, choisissez le rôle IAM qui :
      + Permet à l'utilisateur d'accéder uniquement aux ressources Amazon EFS (systèmes de fichiers) auxquelles vous souhaitez qu'il accède.
      + Définit les opérations de système de fichiers que l'utilisateur peut ou ne peut pas effectuer.

      Nous vous recommandons d'utiliser le rôle IAM pour sélectionner le système de fichiers Amazon EFS avec accès au montage et read/write autorisations. Par exemple, la combinaison des deux politiques AWS gérées suivantes, bien que très permissive, accorde les autorisations nécessaires à votre utilisateur : 
      +  AmazonElasticFileSystemClientFullAccess 
      +  AWSTransferConsoleFullAccess 

      Pour plus d'informations, consultez le billet de blog sur la [AWS Transfer Family prise en charge d'Amazon Elastic File System](https://aws.amazon.com/blogs/aws/new-aws-transfer-family-support-for-amazon-elastic-file-system/).

   1. Pour le **répertoire personnel**, procédez comme suit :
      + Choisissez le système de fichiers Amazon EFS que vous souhaitez utiliser pour stocker les données à transférer AWS Transfer Family.
      + Décidez si le répertoire de base doit être défini sur **Restreint**. Le fait de définir le répertoire de base sur **Restreint** a les effets suivants :
        + Les utilisateurs d'Amazon EFS ne peuvent accéder à aucun fichier ou répertoire en dehors de ce dossier.
        + Les utilisateurs d'Amazon EFS ne peuvent pas voir le nom du système de fichiers Amazon EFS (**fs-xxxxxxx**).
**Note**  
Lorsque vous sélectionnez l'option **Restreint**, les liens symboliques ne sont pas résolus pour les utilisateurs d'Amazon EFS.
      + (Facultatif) Entrez le chemin du répertoire de base dans lequel vous souhaitez que les utilisateurs se trouvent lorsqu'ils se connectent à l'aide de leur client.

        Si vous ne spécifiez pas de répertoire personnel, le répertoire racine de votre système de fichiers Amazon EFS est utilisé. Dans ce cas, assurez-vous que votre rôle IAM donne accès à ce répertoire racine.

1. Pour la **clé publique SSH**, entrez la partie clé SSH publique de la paire de clés SSH.

   Votre clé est validée par le service avant que vous puissiez ajouter votre nouvel utilisateur.
**Note**  
Pour obtenir des instructions sur la façon de générer une paire de clés SSH, consultez [Génération de clés SSH pour les utilisateurs gérés par des services](sshkeygen.md).

1. (Facultatif) Entrez des balises pour l'utilisateur. Pour **Clé** et **Valeur**, entrez une ou plusieurs balises sous forme de paires clé-valeur, puis choisissez **Ajouter** une balise.

1. Choisissez **Add (Ajouter)** pour ajouter votre nouvel utilisateur au serveur que vous avez choisi.

   Le nouvel utilisateur apparaît dans la section **Utilisateurs** de la page de **détails du serveur**.

 Problèmes que vous pouvez rencontrer lors de votre première connexion SFTP sur votre serveur Transfer Family : 
+  Si vous exécutez la `sftp` commande et que l'invite ne s'affiche pas, le message suivant peut s'afficher : 

   `Couldn't canonicalize: Permission denied` 

   `Need cwd` 

   Dans ce cas, vous devez augmenter les autorisations liées à la politique pour le rôle de votre utilisateur. Vous pouvez ajouter une politique AWS gérée, telle que`AmazonElasticFileSystemClientFullAccess`. 
+ Si vous entrez `pwd` à l'`sftp`invite pour consulter le répertoire personnel de l'utilisateur, le message suivant peut s'afficher, indiquant où se *USER-HOME-DIRECTORY* trouve le répertoire personnel de l'utilisateur SFTP :

   `remote readdir("/USER-HOME-DIRECTORY"): No such file or directory` 

  Dans ce cas, vous devriez pouvoir accéder au répertoire parent (`cd ..`) et créer le répertoire personnel de l'utilisateur (`mkdir username`).

**Prochaines étapes** — Pour l'étape suivante, passez à[Transfert de fichiers via un point de terminaison serveur à l'aide d'un client](transfer-file.md).

## Gestion des utilisateurs gérés par des services
<a name="managing-service-managed-users"></a>

 Dans cette section, vous trouverez des informations sur la façon d'afficher une liste d'utilisateurs, de modifier les détails des utilisateurs et d'ajouter une clé publique SSH. 
+ [Afficher la liste des utilisateurs](#list-users)
+ [Afficher ou modifier les informations de l'utilisateur](#view-user-details)
+ [Suppression d'un utilisateur](#delete-user)
+ [Ajouter une clé publique SSH](#add-user-ssh-key)
+ [Supprimer la clé publique SSH](#delete-user-ssh-key)<a name="list-users"></a>

**Pour trouver la liste de vos utilisateurs**

1. Ouvrez la AWS Transfer Family console à l'adresse [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

1. Sélectionnez **Serveurs** dans le volet de navigation pour afficher la page **Serveurs**.

1. Choisissez l'identifiant dans la colonne **ID du serveur** pour afficher la page de **détails du serveur**.

1. Sous **Utilisateurs**, consultez la liste des utilisateurs.<a name="view-user-details"></a>

**Pour afficher ou modifier les informations de l'utilisateur**

1. Ouvrez la AWS Transfer Family console à l'adresse [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

1. Sélectionnez **Serveurs** dans le volet de navigation pour afficher la page **Serveurs**.

1. Choisissez l'identifiant dans la colonne **ID du serveur** pour afficher la page de **détails du serveur**.

1. Sous **Utilisateurs**, choisissez un nom d'utilisateur pour afficher la page de **détails de l'utilisateur**.

   Vous pouvez modifier les propriétés de l'utilisateur sur cette page en choisissant **Modifier**.

1. Sur la page **Détails des utilisateurs**, choisissez **Modifier** à côté de **Configuration utilisateur**.  
![\[Image montrant l'écran permettant de modifier la configuration d'un utilisateur\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/edit-user-details-page-user-config.png)

1. Sur la page **Modifier la configuration**, pour **Access**, choisissez le rôle IAM que vous avez créé précédemment et qui donne accès à votre compartiment Amazon S3.

   Vous avez créé ce rôle IAM à l'aide de la procédure décrite dans [Création d'un rôle et d'une politique IAM](requirements-roles.md). Ce rôle IAM inclut une politique IAM qui permet d'accéder à votre compartiment Amazon S3. Cela inclut également une relation de confiance avec le AWS Transfer Family service, définie dans une autre politique IAM.

1. (Facultatif) Dans le champ **Politique**, sélectionnez l'une des options suivantes :
   + **Aucun**
   + **Politique existante**
   + **Sélectionnez une politique dans IAM** pour choisir une politique existante. Choisissez **View** pour voir un objet JSON contenant les détails de la politique.

   Pour en savoir plus sur les règles de session, voir[Création d'un rôle et d'une politique IAM](requirements-roles.md). Pour en savoir plus sur la création d'une politique de session, consultez[Création d'une politique de session pour un compartiment Amazon S3](users-policies-session.md).

1. Pour le **répertoire personnel**, choisissez le compartiment Amazon S3 dans lequel stocker les données à transférer AWS Transfer Family. Entrez le chemin d'accès au `home` répertoire dans lequel votre utilisateur atterrit lorsqu'il se connecte à l'aide de son client.

   Si vous laissez ce paramètre vide, le `root` répertoire de votre compartiment Amazon S3 est utilisé. Dans ce cas, vérifiez que votre rôle IAM donne accès à ce répertoire `root`.
**Note**  
Nous vous recommandons de choisir un chemin de répertoire contenant le nom d'utilisateur de l'utilisateur, afin d'utiliser efficacement une politique de session. La politique de session limite l'accès des utilisateurs dans le compartiment Amazon S3 au `home` répertoire de cet utilisateur.

1. (Facultatif) Pour **Restreint**, cochez la case afin que vos utilisateurs ne puissent accéder à rien en dehors de ce dossier et ne puissent pas voir le nom du compartiment ou du dossier Amazon S3.
**Note**  
Lorsque vous attribuez un répertoire personnel à l'utilisateur et que vous le limitez à ce répertoire personnel, cela devrait être suffisant pour verrouiller l'accès de l'utilisateur au dossier désigné. Utilisez une politique de session lorsque vous devez appliquer des contrôles supplémentaires.

1. Choisissez **Save** pour enregistrer les changements.<a name="delete-user"></a>

**Pour supprimer un utilisateur**

1. Ouvrez la AWS Transfer Family console à l'adresse [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

1. Sélectionnez **Serveurs** dans le volet de navigation pour afficher la page **Serveurs**.

1. Choisissez l'identifiant dans la colonne **ID du serveur** pour afficher la page de **détails du serveur**.

1. Sous **Utilisateurs**, choisissez un nom d'utilisateur pour afficher la page de **détails de l'utilisateur**. 

1. Sur la page **des détails** de l'utilisateur, choisissez **Supprimer** à droite du nom d'utilisateur.

1. Dans la boîte de dialogue de confirmation qui s'affiche**delete**, entrez le mot, puis choisissez **Supprimer** pour confirmer que vous souhaitez supprimer l'utilisateur.

 L'utilisateur est supprimé de la liste des **utilisateurs**.<a name="add-user-ssh-key"></a>

**Pour ajouter une clé publique SSH pour un utilisateur**

1. Ouvrez la AWS Transfer Family console à l'adresse [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

1. Dans le volet de navigation, choisissez **Servers (Serveurs)**.

1. Choisissez l'identifiant dans la colonne **ID du serveur** pour afficher la page de **détails du serveur**.

1. Sous **Utilisateurs**, choisissez un nom d'utilisateur pour afficher la page de **détails de l'utilisateur**.

1. Choisissez **Add SSH public key (Ajouter une clé publique SSH)** pour ajouter une nouvelle clé publique SSH à un utilisateur.
**Note**  
Les clés SSH ne sont utilisées que par les serveurs qui sont activés pour le protocole de transfert de fichiers (SFTP) Secure Shell (SSH). Pour plus d'informations sur la façon de générer une paire de clés SSH, consultez[Génération de clés SSH pour les utilisateurs gérés par des services](sshkeygen.md).

1. Dans **SSH public key (Clé publique SSH)**, entrez la partie clé publique SSH de la paire de clés SSH.

   Votre clé est validée par le service avant que vous puissiez ajouter votre nouvel utilisateur. La clé SSH se présente sous la forme `ssh-rsa string`. Pour générer une paire de clés SSH, consultez[Génération de clés SSH pour les utilisateurs gérés par des services](sshkeygen.md).

1. Sélectionnez **Ajouter une clé**.<a name="delete-user-ssh-key"></a>

**Pour supprimer une clé publique SSH pour un utilisateur**

1. Ouvrez la AWS Transfer Family console à l'adresse [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

1. Dans le volet de navigation, choisissez **Servers (Serveurs)**.

1. Choisissez l'identifiant dans la colonne **ID du serveur** pour afficher la page de **détails du serveur**.

1. Sous **Utilisateurs**, choisissez un nom d'utilisateur pour afficher la page de **détails de l'utilisateur**.

1. Pour supprimer une clé publique, cochez la case correspondant à sa clé SSH et choisissez **Supprimer**.

# Travailler avec des fournisseurs d'identité personnalisés
<a name="custom-idp-intro"></a>

AWS Transfer Family propose plusieurs options permettant aux fournisseurs d'identité personnalisés d'authentifier et d'autoriser les utilisateurs pour des transferts de fichiers sécurisés. Voici les principales approches :
+ [Solution de fournisseur d'identité personnalisée](custom-idp-toolkit.md)—Cette rubrique décrit la solution de fournisseur d'identité personnalisé Transfer Family, à l'aide d'une boîte à outils hébergée dans GitHub.
**Note**  
Dans la plupart des cas d'utilisation, il s'agit de l'option recommandée. Plus précisément, si vous devez prendre en charge plus de 100 groupes Active Directory, la solution de fournisseur d'identité personnalisé offre une alternative évolutive sans limitation de groupe. Cette solution est décrite dans le billet de blog intitulé [Simplifier l'authentification Active Directory avec un fournisseur d'identité personnalisé pour AWS Transfer Family](https://aws.amazon.com/blogs/storage/simplify-active-directory-authentication-with-a-custom-identity-provider-for-aws-transfer-family/).
+ [Utilisation d'Amazon API Gateway pour intégrer votre fournisseur d'identité](authentication-api-gateway.md)—Cette rubrique décrit comment utiliser une AWS Lambda fonction pour soutenir une méthode Amazon API Gateway.

  Vous pouvez fournir une RESTful interface avec une seule méthode Amazon API Gateway. Transfer Family utilise cette méthode pour se connecter à votre fournisseur d'identité, qui authentifie et autorise vos utilisateurs à accéder à Amazon S3 ou Amazon EFS. Utilisez cette option si vous avez besoin d'une RESTful API pour intégrer votre fournisseur d'identité ou si vous AWS WAF souhaitez tirer parti de ses capacités de blocage géographique ou de limitation de débit des demandes. Pour en savoir plus, consultez [Utilisation d'Amazon API Gateway pour intégrer votre fournisseur d'identité](authentication-api-gateway.md).
+ [Approches dynamiques de gestion des autorisations](dynamic-permission-management.md)—Cette rubrique décrit les approches permettant de gérer les autorisations des utilisateurs de manière dynamique à l'aide de politiques de session.

  Pour authentifier vos utilisateurs, vous pouvez utiliser votre fournisseur d'identité existant avec AWS Transfer Family. Vous intégrez votre fournisseur d'identité à l'aide d'une AWS Lambda fonction qui authentifie et autorise vos utilisateurs à accéder à Amazon S3 ou Amazon Elastic File System (Amazon EFS). Pour en savoir plus, consultez [Utilisation AWS Lambda pour intégrer votre fournisseur d'identité](custom-lambda-idp.md). Vous pouvez également accéder à CloudWatch des graphiques pour des indicateurs tels que le nombre de fichiers et d'octets transférés dans la console de AWS Transfer Family gestion, ce qui vous permet de surveiller les transferts de fichiers à l'aide d'un tableau de bord centralisé.
+ Transfer Family propose un article de blog et un atelier qui vous guideront dans la création d'une solution de transfert de fichiers. Cette solution s'appuie sur les SFTP/FTPS points de terminaison gérés et sur Amazon Cognito et DynamoDB AWS Transfer Family pour la gestion des utilisateurs. 

  Le billet de blog est disponible sur [Utilisation d'Amazon Cognito en tant que fournisseur d'identité avec Amazon AWS Transfer Family S3](https://aws.amazon.com/blogs/storage/using-amazon-cognito-as-an-identity-provider-with-aws-transfer-family-and-amazon-s3/). Vous pouvez consulter les détails de l'atelier [ici](https://catalog.workshops.aws/transfer-family-sftp/en-US). 

**Note**  
Pour les fournisseurs d'identité personnalisés, le nom d'utilisateur doit comporter au moins 3 caractères et au maximum 100 caractères. Vous pouvez utiliser les caractères suivants dans le nom d'utilisateur : a—z, A-Z, 0—9, trait de soulignement « \$1 », tiret « - », point «. » et signe « @». Le nom d'utilisateur ne peut pas commencer par un tiret « - », un point «. » ou par le signe « @».

Lorsque vous implémentez un fournisseur d'identité personnalisé, tenez compte des meilleures pratiques suivantes :
+ Déployez la solution dans la même Compte AWS région que vos serveurs Transfer Family.
+ Mettez en œuvre le principe du moindre privilège lors de la configuration des rôles et des politiques IAM.
+ Utilisez des fonctionnalités telles que la liste des adresses IP autorisées et la journalisation standardisée pour renforcer la sécurité.
+ Testez minutieusement votre fournisseur d'identité personnalisé dans un environnement hors production avant le déploiement.

**Topics**
+ [Solution de fournisseur d'identité personnalisée](custom-idp-toolkit.md)
+ [Utilisation AWS Lambda pour intégrer votre fournisseur d'identité](custom-lambda-idp.md)
+ [Utilisation d'Amazon API Gateway pour intégrer votre fournisseur d'identité](authentication-api-gateway.md)
+ [Utilisation de plusieurs méthodes d'authentification](custom-idp-mfa.md)
+ [IPv6 support pour les fournisseurs d'identité personnalisés](custom-idp-ipv6.md)

# Solution de fournisseur d'identité personnalisée
<a name="custom-idp-toolkit"></a>

La solution de fournisseur d'identité AWS Transfer Family personnalisé est une solution modulaire de fournisseur d'identité personnalisé qui répond à de nombreux cas d'utilisation courants d'authentification et d'autorisation rencontrés par les entreprises lors de la mise en œuvre du service. Cette solution fournit une base réutilisable pour la mise en œuvre de fournisseurs d'identité personnalisés avec une configuration de session par utilisateur granulaire et sépare les logiques d'authentification et d'autorisation, offrant ainsi une easy-to-maintain base flexible pour différents cas d'utilisation. 

Avec la solution de fournisseur d'identité AWS Transfer Family personnalisé, vous pouvez traiter les cas d'utilisation courants de l'authentification et de l'autorisation en entreprise. Cette solution modulaire offre :
+ Une base réutilisable pour la mise en œuvre de fournisseurs d'identité personnalisés 
+ Configuration granulaire des sessions par utilisateur 
+ Logique d'authentification et d'autorisation séparées 

## Détails de mise en œuvre de la boîte à outils d'identité personnalisée
<a name="idp-toolkit-implementation-details"></a>

La solution fournit une base flexible et maintenable pour différents cas d'utilisation. Pour commencer, consultez le kit d'outils sur [https://github.com/aws-samples/toolkit-for-aws-transfer-family](https://github.com/aws-samples/toolkit-for-aws-transfer-family), puis suivez les instructions de déploiement de la section [Getting started](https://github.com/aws-samples/toolkit-for-aws-transfer-family/tree/main/solutions/custom-idp#getting-started).

![\[Schéma d'architecture de la boîte à outils personnalisée du fournisseur d'identité disponible dans GitHub.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/custom-idp-solution-high-level-architecture.png)


**Note**  
Si vous avez déjà utilisé des modèles et des exemples de fournisseurs d'identité personnalisés, envisagez plutôt d'adopter cette solution. À l'avenir, les modules spécifiques aux fournisseurs seront standardisés sur cette solution. Une maintenance continue et des améliorations de fonctionnalités seront appliquées à cette solution.

Cette solution contient des modèles standard pour implémenter un fournisseur personnalisé qui prend en compte les détails, notamment la journalisation et l'endroit où stocker les métadonnées de session supplémentaires nécessaires AWS Transfer Family, telles que le `HomeDirectoryDetails` paramètre. Cette solution fournit une base réutilisable pour la mise en œuvre de fournisseurs d'identité personnalisés avec une configuration de session par utilisateur granulaire, et dissocie la logique d'authentification du fournisseur d'identité de la logique réutilisable qui crée une configuration qui est renvoyée à Transfer Family pour terminer l'authentification et établir les paramètres de la session. 

Le code et les ressources de support de cette solution sont disponibles sur [https://github.com/aws-samples/toolkit-for-aws-transfer-family](https://github.com/aws-samples/toolkit-for-aws-transfer-family).

La boîte à outils contient les fonctionnalités suivantes :
+ Un [AWS Serverless Application Model](https://aws.amazon.com/serverless/sam)modèle qui fournit les ressources nécessaires. Vous pouvez éventuellement déployer et configurer Amazon API Gateway pour l'intégrer AWS WAF, comme décrit dans le billet de blog [Securing AWS Transfer Family with AWS Web Application Firewall and Amazon API Gateway](https://aws.amazon.com/blogs/storage/securing-aws-transfer-family-with-aws-web-application-firewall-and-amazon-api-gateway/).
+ Un schéma [Amazon DynamoDB](https://aws.amazon.com/dynamodb) pour stocker les métadonnées de configuration relatives aux fournisseurs d'identité, y compris les paramètres de session utilisateur `HomeDirectoryDetails` tels que`Role`, et. `Policy`
+ Une approche modulaire qui vous permet d'ajouter de nouveaux fournisseurs d'identité à la solution à l'avenir, sous forme de modules.
+ Récupération d'attributs : récupérez éventuellement les attributs du rôle IAM et du profil POSIX (UID et GID) auprès des fournisseurs d'identité pris en charge, notamment AD, LDAP et Okta.
+ Support pour plusieurs fournisseurs d'identité connectés à un seul serveur Transfer Family et à plusieurs serveurs Transfer Family utilisant le même déploiement de la solution.
+ Contrôle intégré des listes d'adresses IP autorisées, telles que les listes d'adresses IP autorisées qui peuvent éventuellement être configurées par utilisateur ou par fournisseur d'identité.
+ Journalisation détaillée avec niveau de journalisation configurable et support de suivi pour faciliter le dépannage.

Avant de commencer à déployer la solution de fournisseur d'identité personnalisé, vous devez disposer des AWS ressources suivantes.
+ Un Amazon Virtual Private Cloud (VPC) avec des sous-réseaux privés, avec une connectivité Internet via une passerelle NAT ou un point de terminaison de passerelle DynamoDB.
+ Autorisations IAM appropriées pour effectuer les tâches suivantes :
  + Déployez le `custom-idp.yaml` CloudFormation modèle,
  + Créez des AWS CodePipeline projets
  + Créez des AWS CodeBuild projets
  + Création de rôles et de politiques IAM

**Important**  
Vous devez déployer la solution sur celui-ci Compte AWS , Région AWS qui contient vos serveurs Transfer Family cibles.

## Fournisseurs d'identité pris en charge
<a name="custom-supported-idp"></a>

La liste suivante contient des informations sur les fournisseurs d'identité pris en charge par la solution de fournisseur d'identité personnalisée.


| Fournisseur | Flux de mots de passe | Flux de clés publiques | Multifactoriel | Récupération d'attributs | Détails | 
| --- | --- | --- | --- | --- | --- | 
| Active Directory et LDAP | Oui | Oui | Non | Oui | La vérification de l'utilisateur peut être effectuée dans le cadre du flux d'authentification par clé publique. | 
| Argon2 (hachage local) | Oui | Non | Non | Non | Les hachages Argon2 sont stockés dans le dossier utilisateur pour les cas d'utilisation de l'authentification « locale » basée sur un mot de passe. | 
| Amazon Cognito | Oui | Non | Oui\$1 | Non | Authentification multifactorielle basée sur le temps uniquement par mot de passe à usage unique (TOTP). \$1L'authentification MFA par SMS n'est pas prise en charge. | 
| Entra ID (anciennement Azure AD) | Oui | Non | Non | Non |  | 
| Okta | Oui | Oui | Oui\$1 | Oui | MFA basé sur TOTP uniquement. | 
| Clé publique | Non | Oui | Non | Non | Les clés publiques sont stockées dans le dossier utilisateur de DynamoDB. | 
| Secrets Manager | Oui | Oui | Non | Non |  | 

# Utilisation AWS Lambda pour intégrer votre fournisseur d'identité
<a name="custom-lambda-idp"></a>

Cette rubrique explique comment créer une AWS Lambda fonction qui se connecte à votre fournisseur d'identité personnalisé. Vous pouvez utiliser n'importe quel fournisseur d'identité personnalisé, tel qu'Okta, Secrets Manager OneLogin, ou un magasin de données personnalisé incluant une logique d'autorisation et d'authentification.

Dans la plupart des cas d'utilisation, la méthode recommandée pour configurer un fournisseur d'identité personnalisé consiste à utiliser le[Solution de fournisseur d'identité personnalisée](custom-idp-toolkit.md).

**Note**  
Avant de créer un serveur Transfer Family qui utilise Lambda comme fournisseur d'identité, vous devez créer la fonction. Pour obtenir un exemple de fonction Lambda, consultez [Exemples de fonctions Lambda](#lambda-auth-examples). Vous pouvez également déployer une CloudFormation pile qui utilise l'un des[Modèles de fonctions Lambda](#lambda-idp-templates). Assurez-vous également que votre fonction Lambda utilise une politique basée sur les ressources qui fait confiance à Transfer Family. Pour un exemple de politique, consultez [Politique basée sur les ressources Lambda](#lambda-resource-policy).

1. Ouvrez la [AWS Transfer Family console](https://console.aws.amazon.com/transfer/).

1. Choisissez **Create server** pour ouvrir la page **Create server**. Pour **Choisir un fournisseur d'identité**, choisissez le **fournisseur d'identité personnalisé**, comme illustré dans la capture d'écran suivante.  
![\[La section de console Choisissez un fournisseur d'identité avec le fournisseur d'identité personnalisé sélectionné. La valeur par défaut est également sélectionnée, à savoir que les utilisateurs peuvent s'authentifier à l'aide de leur mot de passe ou de leur clé.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/custom-lambda-console.png)
**Note**  
Le choix des méthodes d'authentification n'est disponible que si vous activez le protocole SFTP pour votre serveur Transfer Family.

1. Assurez-vous que la valeur par défaut, **Utiliser AWS Lambda pour connecter votre fournisseur d'identité**, est sélectionnée.

1. Pour **AWS Lambda fonction**, choisissez le nom de votre fonction Lambda.

1. Remplissez les cases restantes, puis choisissez **Create server**. Pour plus de détails sur les étapes restantes de création d'un serveur, consultez[Configuration d'un point de terminaison de serveur SFTP, FTPS ou FTP](tf-server-endpoint.md).

## Politique basée sur les ressources Lambda
<a name="lambda-resource-policy"></a>

Vous devez disposer d'une politique qui fait référence au serveur Transfer Family et à Lambda ARNs. Par exemple, vous pouvez utiliser la politique suivante avec votre fonction Lambda qui se connecte à votre fournisseur d'identité. La politique est ignorée au format JSON sous forme de chaîne.

****  

```
"Policy":
"{\"Version\":\"2012-10-17\",
\"Id\":\"default\",
\"Statement\":[
  {\"Sid\":\"AllowTransferInvocation\",
  \"Effect\":\"Allow\",
  \"Principal\":{\"Service\":\"transfer.amazonaws.com\"},
  \"Action\":\"lambda:InvokeFunction\",
  \"Resource\":\"arn:aws:lambda:region:123456789012:function:my-lambda-auth-function\",
  \"Condition\":{\"ArnLike\":{\"AWS:SourceArn\":\"arn:aws:transfer:region:123456789012:server/server-id\"}}}
]}"
```

**Note**  
Dans l'exemple de politique ci-dessus, remplacez chacune *user input placeholder* par vos propres informations.

## Structure des messages d’événements
<a name="event-message-structure"></a>

La structure du message d'événement envoyé par le serveur SFTP à la fonction Lambda d'autorisation pour un IDP personnalisé est la suivante.

```
{
    "username": "value",
    "password": "value",
    "protocol": "SFTP",
    "serverId": "s-abcd123456",
    "sourceIp": "192.168.0.100"
}
```

Où `username` et `password` quelles sont les valeurs des informations de connexion envoyées au serveur.

Par exemple, vous entrez la commande suivante pour vous connecter :

```
sftp bobusa@server_hostname
```

Vous êtes ensuite invité à saisir votre mot de passe :

```
Enter password:
    mysecretpassword
```

Vous pouvez le vérifier à partir de votre fonction Lambda en imprimant l'événement transmis depuis la fonction Lambda. Il doit ressembler au bloc de texte suivant.

```
{
    "username": "bobusa",
    "password": "mysecretpassword",
    "protocol": "SFTP",
    "serverId": "s-abcd123456",
    "sourceIp": "192.168.0.100"
}
```

La structure des événements est similaire pour le FTP et le FTPS : la seule différence est que ces valeurs sont utilisées pour le `protocol` paramètre, plutôt que SFTP.

## Fonctions Lambda pour l'authentification
<a name="authentication-lambda-examples"></a>

Pour implémenter différentes stratégies d'authentification, modifiez la fonction Lambda. Pour répondre aux besoins de votre application, vous pouvez déployer une CloudFormation pile. Pour plus d'informations sur Lambda, consultez le [guide du AWS Lambda développeur](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) ou la création de fonctions [Lambda](https://docs.aws.amazon.com/lambda/latest/dg/lambda-nodejs.html) avec Node.js.

**Topics**
+ [Valeurs Lambda valides](#lambda-valid-values)
+ [Exemples de fonctions Lambda](#lambda-auth-examples)
+ [Tester votre configuration](#authentication-test-configuration)
+ [Modèles de fonctions Lambda](#lambda-idp-templates)

### Valeurs Lambda valides
<a name="lambda-valid-values"></a>

Le tableau suivant décrit en détail les valeurs acceptées par Transfer Family pour les fonctions Lambda utilisées par les fournisseurs d'identité personnalisés.


|  Value  |  Description  |  Obligatoire  | 
| --- | --- | --- | 
|  `Role`  |  Spécifie le nom de ressource Amazon (ARN) du rôle IAM qui contrôle l'accès de vos utilisateurs à votre compartiment Amazon S3 ou à votre système de fichiers Amazon EFS. Les politiques associées à ce rôle déterminent le niveau d'accès que vous souhaitez fournir à vos utilisateurs lors du transfert de fichiers vers et depuis votre système de fichiers Amazon S3 ou Amazon EFS. Le rôle IAM doit également contenir une relation d'approbation qui permet au serveur d'accéder à vos ressources lors du traitement des demandes de transfert de votre utilisateur. Pour plus de détails sur l'établissement d'une relation de confiance, voir[Étape 1 : Établir une relation d'approbation](requirements-roles.md#establish-trust-transfer).  |  Obligatoire  | 
|  `PosixProfile`  |  L'identité POSIX complète, y compris l'ID utilisateur (`Uid`), l'ID de groupe (`Gid`) et tout groupe secondaire IDs (`SecondaryGids`), qui contrôle l'accès de vos utilisateurs à vos systèmes de fichiers Amazon EFS. Les autorisations POSIX définies sur les fichiers et répertoires de votre système de fichiers déterminent le niveau d'accès accordé à vos utilisateurs lors du transfert de fichiers depuis et vers vos systèmes de fichiers Amazon EFS.  |  Nécessaire pour le stockage de sauvegarde Amazon EFS  | 
|  `PublicKeys`  |  Liste des valeurs de clé publique SSH valides pour cet utilisateur. Une liste vide indique qu'il ne s'agit pas d'un identifiant valide. Ne doit pas être renvoyé lors de l'authentification du mot de passe.  |  Facultatif  | 
|  `Policy`  |  Une politique de session pour votre utilisateur afin que vous puissiez utiliser le même rôle IAM pour plusieurs utilisateurs. Cette stratégie étend l'accès de l'utilisateur à des parties de son compartiment Amazon S3. Pour plus d'informations sur l'utilisation des politiques de session avec des fournisseurs d'identité personnalisés, consultez les exemples de politiques de session présentés dans cette rubrique.  |  Facultatif  | 
|  `HomeDirectoryType`  |  Le type de répertoire (dossier) de destination du répertoire de base de vos utilisateurs lorsqu'ils se connectent au serveur. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/custom-lambda-idp.html)  |  Facultatif  | 
|  `HomeDirectoryDetails`  |  Des mappages de répertoires logiques qui spécifient les chemins et clés Amazon S3 ou Amazon EFS qui doivent être visibles par votre utilisateur et la manière dont vous souhaitez les rendre visibles. Vous devez spécifier la `Target` paire `Entry` et, qui `Entry` indique comment le chemin est rendu visible et correspond `Target` au chemin Amazon S3 ou Amazon EFS réel.  |  Obligatoire s'`HomeDirectoryType`il a une valeur de `LOGICAL`  | 
|  `HomeDirectory`  |  Le répertoire de destination d'un utilisateur lorsqu'il se connecte au serveur à l'aide du client. Le format dépend de votre backend de stockage : [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/custom-lambda-idp.html)  Le nom du compartiment ou l'ID du système de fichiers Amazon EFS doit être inclus dans le chemin. L'omission de ces informations entraînera des erreurs « Fichier introuvable » lors des transferts de fichiers.   |  Facultatif  | 

**Note**  
`HomeDirectoryDetails`est une représentation sous forme de chaîne d'une carte JSON. Cela contraste avec un véritable objet de carte JSON et `PublicKeys` un tableau JSON de chaînes. `PosixProfile` Consultez les exemples de code pour les détails spécifiques au langage.

**HomeDirectory Exigences relatives au format**  
Lorsque vous utilisez le `HomeDirectory` paramètre, assurez-vous d'inclure le format de chemin complet :  
**Pour le stockage Amazon S3 :** incluez toujours le nom du compartiment dans le format `/bucket-name/path`
**Pour le stockage Amazon EFS :** incluez toujours l'ID du système de fichiers dans le format `/fs-12345/path`
L'une des causes fréquentes des erreurs « Fichier introuvable » est l'omission du nom du compartiment ou de l'ID du système de fichiers EFS dans le `HomeDirectory` chemin. Le réglage `HomeDirectory` sur « Juste `/` sans l'identifiant de stockage » entraînera la réussite de l'authentification, mais l'échec des opérations sur les fichiers.

### Exemples de fonctions Lambda
<a name="lambda-auth-examples"></a>

Cette section présente quelques exemples de fonctions Lambda, à la fois en NodeJS et en Python.

**Note**  
Dans ces exemples, l'utilisateur, le rôle, le profil POSIX, le mot de passe et les détails du répertoire de base sont tous des exemples et doivent être remplacés par vos valeurs réelles.

------
#### [ Logical home directory, NodeJS ]

[L'exemple de fonction NodeJS suivant fournit les informations relatives à un utilisateur disposant d'un répertoire de base logique.](https://docs.aws.amazon.com/transfer/latest/userguide/logical-dir-mappings.html) 

```
// GetUserConfig Lambda

exports.handler = (event, context, callback) => {
  console.log("Username:", event.username, "ServerId: ", event.serverId);

  var response;
  // Check if the username presented for authentication is correct. This doesn't check the value of the server ID, only that it is provided.
  if (event.serverId !== "" && event.username == 'example-user') {
    var homeDirectoryDetails = [
      {
        Entry: "/",
        Target: "/fs-faa1a123"
      }
    ];
    response = {
      Role: 'arn:aws:iam::123456789012:role/transfer-access-role', // The user is authenticated if and only if the Role field is not blank
      PosixProfile: {"Gid": 65534, "Uid": 65534}, // Required for EFS access, but not needed for S3
      HomeDirectoryDetails: JSON.stringify(homeDirectoryDetails),
      HomeDirectoryType: "LOGICAL",
    };

    // Check if password is provided
    if (!event.password) {
      // If no password provided, return the user's SSH public key
      response['PublicKeys'] = [ "ssh-rsa abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789" ];
    // Check if password is correct
    } else if (event.password !== 'Password1234') {
      // Return HTTP status 200 but with no role in the response to indicate authentication failure
      response = {};
    }
  } else {
    // Return HTTP status 200 but with no role in the response to indicate authentication failure
    response = {};
  }
  callback(null, response);
};
```

------
#### [ Path-based home directory, NodeJS ]

L'exemple de fonction NodeJS suivant fournit les informations relatives à un utilisateur qui possède un répertoire de base basé sur un chemin. 

```
// GetUserConfig Lambda

exports.handler = (event, context, callback) => {
  console.log("Username:", event.username, "ServerId: ", event.serverId);

  var response;
  // Check if the username presented for authentication is correct. This doesn't check the value of the server ID, only that it is provided.
  // There is also event.protocol (one of "FTP", "FTPS", "SFTP") and event.sourceIp (e.g., "127.0.0.1") to further restrict logins.
  if (event.serverId !== "" && event.username == 'example-user') {
    response = {
      Role: 'arn:aws:iam::123456789012:role/transfer-access-role', // The user is authenticated if and only if the Role field is not blank
      Policy: '', // Optional, JSON stringified blob to further restrict this user's permissions
      // HomeDirectory format depends on your storage backend:
      // For S3: '/bucket-name/user-home-directory' (e.g., '/my-transfer-bucket/users/john')
      // For EFS: '/fs-12345/user-home-directory' (e.g., '/fs-faa1a123/users/john')
      HomeDirectory: '/my-transfer-bucket/users/example-user' // S3 example - replace with your bucket name
      // HomeDirectory: '/fs-faa1a123/users/example-user' // EFS example - uncomment for EFS
    };
    
    // Check if password is provided
    if (!event.password) {
      // If no password provided, return the user's SSH public key
     response['PublicKeys'] = [ "ssh-rsa abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789" ];
    // Check if password is correct
    } else if (event.password !== 'Password1234') {
      // Return HTTP status 200 but with no role in the response to indicate authentication failure
      response = {};
    } 
  } else {
    // Return HTTP status 200 but with no role in the response to indicate authentication failure
    response = {};
  }
  callback(null, response);
};
```

------
#### [ Logical home directory, Python ]

L'exemple de fonction Python suivant fournit les informations relatives à un utilisateur disposant d'un [répertoire de base logique](https://docs.aws.amazon.com/transfer/latest/userguide/logical-dir-mappings.html). 

```
# GetUserConfig Python Lambda with LOGICAL HomeDirectoryDetails
import json

def lambda_handler(event, context):
  print("Username: {}, ServerId: {}".format(event['username'], event['serverId']))

  response = {}

  # Check if the username presented for authentication is correct. This doesn't check the value of the server ID, only that it is provided.
  if event['serverId'] != '' and event['username'] == 'example-user':
    homeDirectoryDetails = [
      {
        'Entry': '/',
        'Target': '/fs-faa1a123'
      }
    ]
    response = {
      'Role': 'arn:aws:iam::123456789012:role/transfer-access-role', # The user will be authenticated if and only if the Role field is not blank
      'PosixProfile': {"Gid": 65534, "Uid": 65534}, # Required for EFS access, but not needed for S3
      'HomeDirectoryDetails': json.dumps(homeDirectoryDetails),
      'HomeDirectoryType': "LOGICAL"
    }

    # Check if password is provided
    if event.get('password', '') == '':
      # If no password provided, return the user's SSH public key
     response['PublicKeys'] = [ "ssh-rsa abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789" ]
    # Check if password is correct
    elif event['password'] != 'Password1234':
      # Return HTTP status 200 but with no role in the response to indicate authentication failure
      response = {}
  else:
    # Return HTTP status 200 but with no role in the response to indicate authentication failure
    response = {}

  return response
```

------
#### [ Path-based home directory, Python ]

L'exemple de fonction Python suivant fournit les informations relatives à un utilisateur qui possède un répertoire de base basé sur un chemin. 

```
# GetUserConfig Python Lambda with PATH HomeDirectory

def lambda_handler(event, context):
  print("Username: {}, ServerId: {}".format(event['username'], event['serverId']))

  response = {}

  # Check if the username presented for authentication is correct. This doesn't check the value of the server ID, only that it is provided.
  # There is also event.protocol (one of "FTP", "FTPS", "SFTP") and event.sourceIp (e.g., "127.0.0.1") to further restrict logins.
  if event['serverId'] != '' and event['username'] == 'example-user':
    response = {
      'Role': 'arn:aws:iam::123456789012:role/transfer-access-role', # The user will be authenticated if and only if the Role field is not blank
      'Policy': '', #  Optional, JSON stringified blob to further restrict this user's permissions
      # HomeDirectory format depends on your storage backend:
      # For S3: '/bucket-name/user-home-directory' (e.g., '/my-transfer-bucket/users/john')
      # For EFS: '/fs-12345/user-home-directory' (e.g., '/fs-faa1a123/users/john')
      'HomeDirectory': '/my-transfer-bucket/users/example-user', # S3 example - replace with your bucket name
      # 'HomeDirectory': '/fs-faa1a123/users/example-user', # EFS example - uncomment for EFS
      'HomeDirectoryType': "PATH" # Not strictly required, defaults to PATH
    }
    
    # Check if password is provided
    if event.get('password', '') == '':
      # If no password provided, return the user's SSH public key
     response['PublicKeys'] = [ "ssh-rsa abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789" ]
    # Check if password is correct
    elif event['password'] != 'Password1234':
      # Return HTTP status 200 but with no role in the response to indicate authentication failure
      response = {}
  else:
    # Return HTTP status 200 but with no role in the response to indicate authentication failure
    response = {}

  return response
```

------

### Tester votre configuration
<a name="authentication-test-configuration"></a>

Après avoir créé votre fournisseur d'identité personnalisé, vous devez tester votre configuration.

------
#### [ Console ]

**Pour tester votre configuration à l'aide de la AWS Transfer Family console**

1. Ouvrez la [AWS Transfer Family console](https://console.aws.amazon.com/transfer/). 

1. Sur la page **Serveurs**, choisissez votre nouveau serveur, sélectionnez **Actions**, puis sélectionnez **Test**.

1. Entrez le texte du **nom d'utilisateur** et du **mot de passe** que vous avez définis lors du déploiement de la CloudFormation pile. Si vous avez conservé les options par défaut, le nom d'utilisateur est `myuser` et le mot de passe est`MySuperSecretPassword`.

1. Choisissez le **protocole du serveur** et entrez l'adresse IP de l'adresse **IP source**, si vous les avez définies lors du déploiement de la CloudFormation pile.

------
#### [ CLI ]

**Pour tester votre configuration à l'aide de la AWS CLI**

1. Exécutez la commande [test-identity-provider](https://docs.aws.amazon.com/cli/latest/reference/transfer/test-identity-provider.html). Remplacez chacune `user input placeholder` par vos propres informations, comme décrit dans les étapes suivantes.

   ```
   aws transfer test-identity-provider --server-id s-1234abcd5678efgh --user-name myuser --user-password MySuperSecretPassword --server-protocol FTP --source-ip 127.0.0.1
   ```

1. Entrez l'ID du serveur.

1. Entrez le nom d'utilisateur et le mot de passe que vous avez définis lors du déploiement de la CloudFormation pile. Si vous avez conservé les options par défaut, le nom d'utilisateur est `myuser` et le mot de passe est`MySuperSecretPassword`.

1. Entrez le protocole du serveur et l'adresse IP source, si vous les avez définis lors du déploiement de la CloudFormation pile.

------

Si l'authentification de l'utilisateur réussit, le test renvoie une réponse `StatusCode: 200` HTTP, une chaîne vide `Message: ""` (qui contiendrait la raison de l'échec dans le cas contraire) et un `Response` champ.

**Note**  
 Dans l'exemple de réponse ci-dessous, le `Response` champ est un objet JSON qui a été « stringifié » (converti en une chaîne JSON plate utilisable dans un programme) et contient les détails des rôles et autorisations de l'utilisateur.

```
{
    "Response":"{\"Policy\":\"{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Sid\\\":\\\"ReadAndListAllBuckets\\\",\\\"Effect\\\":\\\"Allow\\\",\\\"Action\\\":[\\\"s3:ListAllMybuckets\\\",\\\"s3:GetBucketLocation\\\",\\\"s3:ListBucket\\\",\\\"s3:GetObjectVersion\\\",\\\"s3:GetObjectVersion\\\"],\\\"Resource\\\":\\\"*\\\"}]}\",\"Role\":\"arn:aws:iam::000000000000:role/MyUserS3AccessRole\",\"HomeDirectory\":\"/\"}",
    "StatusCode": 200,
    "Message": ""
}
```

### Modèles de fonctions Lambda
<a name="lambda-idp-templates"></a>

Vous pouvez déployer une CloudFormation pile qui utilise une fonction Lambda pour l'authentification. Nous proposons plusieurs modèles qui authentifient et autorisent vos utilisateurs à l'aide de leurs identifiants de connexion. Vous pouvez modifier ces modèles ou ce AWS Lambda code pour personnaliser davantage l'accès des utilisateurs.

**Note**  
Vous pouvez créer un AWS Transfer Family serveur compatible FIPS en CloudFormation spécifiant une politique de sécurité compatible FIPS dans votre modèle. Les politiques de sécurité disponibles sont décrites dans [Politiques de sécurité pour les AWS Transfer Family serveurs](security-policies.md) 

**Pour créer une CloudFormation pile à utiliser pour l'authentification**

1. Ouvrez la CloudFormation console à l'adresse [https://console.aws.amazon.com/cloudformation.](https://console.aws.amazon.com/cloudformation/)

1. Suivez les instructions pour déployer une CloudFormation pile à partir d'un modèle existant dans la section [Sélection d'un modèle de pile](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-using-console-create-stack-template.html) dans le *guide de AWS CloudFormation l'utilisateur*.

1. Utilisez l'un des modèles suivants pour créer une fonction Lambda à utiliser pour l'authentification dans Transfer Family. 
   + [Modèle de pile classique (Amazon Cognito)](https://s3.amazonaws.com/aws-transfer-resources/custom-idp-templates/aws-transfer-custom-idp-basic-lambda-cognito-s3.template.yml)

     Un modèle de base pour créer un AWS Lambda à utiliser en tant que fournisseur d'identité personnalisé dans AWS Transfer Family. Il s'authentifie auprès d'Amazon Cognito pour l'authentification par mot de passe et les clés publiques sont renvoyées depuis un compartiment Amazon S3 si l'authentification par clé publique est utilisée. Après le déploiement, vous pouvez modifier le code de la fonction Lambda pour faire quelque chose de différent.
   + [AWS Secrets Manager modèle de pile](https://s3.amazonaws.com/aws-transfer-resources/custom-idp-templates/aws-transfer-custom-idp-secrets-manager-lambda.template.yml)

     Modèle de base à utiliser AWS Lambda avec un AWS Transfer Family serveur pour intégrer Secrets Manager en tant que fournisseur d'identité. Il s'authentifie par le biais d'une entrée au AWS Secrets Manager format`aws/transfer/server-id/username`. En outre, le secret doit contenir les paires clé-valeur pour toutes les propriétés utilisateur renvoyées à Transfer Family. Après le déploiement, vous pouvez modifier le code de la fonction Lambda pour faire quelque chose de différent.
   + Modèle de [pile Okta : modèle](https://s3.amazonaws.com/aws-transfer-resources/custom-idp-templates/aws-transfer-custom-idp-okta-lambda.template.yml) de base utilisé AWS Lambda avec un AWS Transfer Family serveur pour intégrer Okta en tant que fournisseur d'identité personnalisé.
   + Modèle de [pile Okta-MFA : modèle](https://s3.amazonaws.com/aws-transfer-resources/custom-idp-templates/aws-transfer-custom-idp-okta-mfa-lambda.template.yml) de base utilisé AWS Lambda avec un AWS Transfer Family serveur pour intégrer Okta, avec authentification multifactorielle, en tant que fournisseur d'identité personnalisé.
   + [Modèle Azure Active Directory](https://s3.amazonaws.com/aws-transfer-resources/custom-idp-templates/aws-transfer-custom-idp-basic-lambda-azure-ad.template.yml) : les détails de cette pile sont décrits dans le billet de blog [Authentication to AWS Transfer Family with Azure Active Directory et AWS Lambda](https://aws.amazon.com/blogs/storage/authenticating-to-aws-transfer-family-with-azure-active-directory-and-aws-lambda/).

   Une fois la pile déployée, vous pouvez consulter les détails la concernant dans l'onglet **Sorties** de la CloudFormation console.

   Le déploiement de l'une de ces piles est le moyen le plus simple d'intégrer un fournisseur d'identité personnalisé dans le flux de travail Transfer Family.

# Utilisation d'Amazon API Gateway pour intégrer votre fournisseur d'identité
<a name="authentication-api-gateway"></a>

Cette rubrique décrit comment utiliser une AWS Lambda fonction pour sauvegarder une méthode API Gateway. Utilisez cette option si vous avez besoin d'une RESTful API pour intégrer votre fournisseur d'identité ou si vous AWS WAF souhaitez tirer parti de ses capacités de blocage géographique ou de limitation de débit des demandes.

Dans la plupart des cas d'utilisation, la méthode recommandée pour configurer un fournisseur d'identité personnalisé consiste à utiliser le[Solution de fournisseur d'identité personnalisée](custom-idp-toolkit.md).

**Limitations liées à l'utilisation d'une API Gateway pour intégrer votre fournisseur d'identité**
+ Cette configuration ne prend pas en charge les domaines personnalisés.
+ Cette configuration ne prend pas en charge une URL API Gateway privée.

Si vous avez besoin de l'une ou l'autre de ces options, vous pouvez utiliser Lambda comme fournisseur d'identité, sans API Gateway. Pour en savoir plus, consultez [Utilisation AWS Lambda pour intégrer votre fournisseur d'identité](custom-lambda-idp.md).

## Authentification à l'aide d'une méthode API Gateway
<a name="authentication-custom-ip"></a>

Vous pouvez créer une méthode API Gateway à utiliser en tant que fournisseur d'identité pour Transfer Family. Cette approche constitue un moyen hautement sécurisé de créer et de fournir APIs. Avec API Gateway, vous pouvez créer un point de terminaison HTTPS afin que toutes les opérations d'API entrantes soient transmises avec une sécurité accrue. Pour plus de détails sur le service API Gateway, consultez le [guide du développeur d'API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/welcome.html).

API Gateway propose une méthode d'autorisation nommée`AWS_IAM`, qui vous donne la même authentification basée sur Gestion des identités et des accès AWS (IAM) que celle AWS utilisée en interne. Si vous activez l'authentification avec`AWS_IAM`, seuls les appelants disposant d'autorisations explicites pour appeler une API peuvent accéder à la méthode API Gateway de cette API.

Pour utiliser votre méthode API Gateway en tant que fournisseur d'identité personnalisé pour Transfer Family, activez IAM pour votre méthode API Gateway. Dans le cadre de ce processus, vous fournissez un rôle IAM avec des autorisations permettant à Transfer Family d'utiliser votre passerelle.

**Note**  
Pour améliorer la sécurité, vous pouvez configurer un pare-feu pour applications Web. AWS WAF est un pare-feu d'applications Web qui vous permet de surveiller les requêtes HTTP et HTTPS qui sont transmises à Amazon API Gateway. Pour en savoir plus, consultez [Ajouter un pare-feu pour applications Web](web-application-firewall.md).

**Ne pas activer la mise en cache d'API Gateway**  
N'activez pas la mise en cache pour votre méthode API Gateway lorsque vous l'utilisez comme fournisseur d'identité personnalisé pour Transfer Family. La mise en cache est inappropriée et non valide pour les demandes d'authentification pour les raisons suivantes :  
Chaque demande d'authentification est unique et nécessite une réponse en direct, et non une réponse en cache
La mise en cache n'apporte aucun avantage puisque Transfer Family n'envoie jamais de demandes dupliquées ou répétées à l'API Gateway.
L'activation de la mise en cache entraînera la réponse de l'API Gateway avec des données incompatibles, ce qui se traduira par des réponses non valides aux demandes d'authentification

**Pour utiliser votre méthode API Gateway pour une authentification personnalisée avec Transfer Family**

1. Créez une CloudFormation pile. Pour cela :
**Note**  
Les modèles de pile ont été mis à jour pour utiliser des mots de passe BASE64 codés : pour plus de détails, voir[Améliorations apportées aux CloudFormation modèles](#base64-templates).

   1. Ouvrez la CloudFormation console à l'adresse [https://console.aws.amazon.com/cloudformation.](https://console.aws.amazon.com/cloudformation/)

   1. Suivez les instructions pour déployer une CloudFormation pile à partir d'un modèle existant dans la section [Sélection d'un modèle de pile](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-using-console-create-stack-template.html) dans le *guide de AWS CloudFormation l'utilisateur*.

   1. Utilisez l'un des modèles de base suivants pour créer une méthode API Gateway AWS Lambda basée sur des données à utiliser en tant que fournisseur d'identité personnalisé dans Transfer Family.
      + [Modèle de pile de base](https://s3.amazonaws.com/aws-transfer-resources/custom-idp-templates/aws-transfer-custom-idp-basic-apig.template.yml)

        Par défaut, votre méthode API Gateway est utilisée comme fournisseur d'identité personnalisé pour authentifier un seul utilisateur sur un seul serveur à l'aide d'une clé ou d'un mot de passe SSH (Secure Shell) codé en dur. Après le déploiement, vous pouvez modifier le code de la fonction Lambda pour faire quelque chose de différent.
      + [AWS Secrets Manager modèle de pile](https://s3.amazonaws.com/aws-transfer-resources/custom-idp-templates/aws-transfer-custom-idp-secrets-manager-apig.template.yml)

        Par défaut, votre méthode API Gateway s'authentifie par rapport à une entrée du format `aws/transfer/server-id/username` Secrets Manager. En outre, le secret doit contenir les paires clé-valeur pour toutes les propriétés utilisateur renvoyées à Transfer Family. Après le déploiement, vous pouvez modifier le code de la fonction Lambda pour faire quelque chose de différent. Pour plus d'informations, consultez le billet de blog [Activer l'authentification par mot de passe pour AWS Transfer Family l'utilisation AWS Secrets Manager](https://aws.amazon.com/blogs/storage/enable-password-authentication-for-aws-transfer-family-using-aws-secrets-manager-updated/).
      + [Modèle Okta Stack](https://s3.amazonaws.com/aws-transfer-resources/custom-idp-templates/aws-transfer-custom-idp-okta-apig.template.yml)

        Votre méthode API Gateway s'intègre à Okta en tant que fournisseur d'identité personnalisé dans Transfer Family. Pour plus d'informations, consultez le billet de blog [Utiliser Okta comme fournisseur d'identité avec AWS Transfer Family](https://aws.amazon.com/blogs/storage/using-okta-as-an-identity-provider-with-aws-transfer-for-sftp/).

   Le déploiement de l'une de ces piles est le moyen le plus simple d'intégrer un fournisseur d'identité personnalisé dans le flux de travail Transfer Family. Chaque pile utilise la fonction Lambda pour prendre en charge votre méthode d'API basée sur API Gateway. Vous pouvez ensuite utiliser votre méthode API en tant que fournisseur d'identité personnalisé dans Transfer Family. Par défaut, la fonction Lambda authentifie un seul utilisateur appelé `myuser` avec un mot de passe de. `MySuperSecretPassword` Après le déploiement, vous pouvez modifier ces informations d'identification ou mettre à jour le code de fonction Lambda pour faire quelque chose de différent.
**Important**  
Nous vous recommandons de modifier les informations d'identification de l'utilisateur et du mot de passe par défaut.

   Une fois la pile déployée, vous pouvez consulter les détails la concernant dans l'onglet **Sorties** de la CloudFormation console. Ces informations incluent le nom de ressource Amazon (ARN) de la pile, l'ARN du rôle IAM créé par la pile et l'URL de votre nouvelle passerelle.
**Note**  
Si vous utilisez l'option de fournisseur d'identité personnalisé pour activer l'authentification par mot de passe pour vos utilisateurs, et si vous activez l'enregistrement des demandes et des réponses fourni par API Gateway, API Gateway enregistre les mots de passe de vos utilisateurs sur votre Amazon Logs. CloudWatch Nous vous déconseillons d'utiliser ce journal dans votre environnement de production. Pour plus d'informations, consultez la section [Configurer CloudWatch la journalisation des API dans API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-logging.html) dans le *Guide du développeur d'API Gateway*.

1. Vérifiez la configuration de la méthode API Gateway pour votre serveur. Pour cela :

   1. Ouvrez la console API Gateway à l'adresse [https://console.aws.amazon.com/apigateway/](https://console.aws.amazon.com/apigateway/). 

   1. Choisissez l'**API du modèle de base Transfer Custom Identity Provider** générée par le CloudFormation modèle. Vous devrez peut-être sélectionner votre région pour voir vos passerelles.

   1. Dans le volet **Ressources**, sélectionnez **GET**. La capture d'écran suivante montre la configuration correcte de la méthode.  
![\[Détails de configuration de l'API, indiquant les paramètres de configuration de la méthode pour les chemins de demande et pour la chaîne de requête URL.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/apig-config-method-fields.png)

   À ce stade, votre passerelle API est prête à être déployée.

1. Pour **Actions**, choisissez **Deploy API**. Pour l'**étape de déploiement**, choisissez **prod**, puis **Deploy**.

   Une fois la méthode API Gateway déployée avec succès, visualisez ses performances dans **Stages** > **Détails de l'étape**, comme illustré dans la capture d'écran suivante.
**Note**  
Copiez l'adresse **URL Invoke** qui apparaît en haut de l'écran. Vous en aurez peut-être besoin pour l'étape suivante.  
![\[Détails de l'étape avec l'URL Invoke surlignée.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/apig-config-method-invoke.png)

1. Ouvrez la AWS Transfer Family console à l'adresse [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

1. Une Transfer Family aurait dû être créée pour vous, lorsque vous avez créé la pile. Si ce n'est pas le cas, configurez votre serveur en suivant ces étapes.

   1. Choisissez **Create server** pour ouvrir la page **Create server**. Pour **Choisir un fournisseur d'identité**, choisissez **Personnalisé**, puis sélectionnez **Utiliser Amazon API Gateway pour vous connecter à votre fournisseur d'identité**, comme illustré dans la capture d'écran ci-dessous.  
![\[L'écran du fournisseur d'identité avec le fournisseur d'identité personnalisé sélectionné et avec l'API Gateway choisie pour la connexion à votre fournisseur d'identité.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/create-server-choose-idp-custom.png)

   1. Dans la zone de texte **Provide an Amazon API Gateway URL**, collez l'adresse **URL Invoke** du point de terminaison API Gateway que vous avez créé à l'étape 3 de cette procédure.

   1. Pour **Rôle**, choisissez le rôle IAM créé par le CloudFormation modèle. Ce rôle permet à Transfer Family d'invoquer votre méthode de passerelle d'API.

      Le rôle d'invocation contient le nom de CloudFormation pile que vous avez sélectionné pour la pile que vous avez créée à l'étape 1. Il a le format suivant :`CloudFormation-stack-name-TransferIdentityProviderRole-ABC123DEF456GHI`.

   1. Remplissez les cases restantes, puis choisissez **Create server**. Pour plus de détails sur les étapes restantes de création d'un serveur, consultez[Configuration d'un point de terminaison de serveur SFTP, FTPS ou FTP](tf-server-endpoint.md).

## Implémentation de votre méthode API Gateway
<a name="authentication-api-method"></a>

Pour créer un fournisseur d'identité personnalisé pour Transfer Family, votre méthode API Gateway doit implémenter une méthode unique dont le chemin de ressource est de`/servers/serverId/users/username/config`. Les `username` valeurs `serverId` et proviennent du chemin de la RESTful ressource. Ajoutez également `sourceIp` et `protocol` en tant que **paramètres de chaîne de requête URL** dans la **demande de méthode**, comme indiqué dans l'image suivante.

![\[L'écran Resources de l'API Gateway affichant les détails de la GET méthode.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/apig-config-method-request.png)


**Note**  
Le nom d'utilisateur doit comporter au minimum 3 caractères et au maximum 100 caractères. Vous pouvez utiliser les caractères suivants dans le nom d'utilisateur : a—z, A-Z, 0—9, trait de soulignement « \$1 », tiret « - », point «. » et signe « @». Le nom d'utilisateur ne peut pas commencer par un tiret « - », un point «. » ou par le signe « @».

Si Transfer Family tente d'authentifier votre utilisateur par mot de passe, le service fournit un champ d'`Password:`en-tête. En l'absence d'`Password:`en-tête, Transfer Family tente de s'authentifier par clé publique pour authentifier votre utilisateur.

Lorsque vous utilisez un fournisseur d'identité pour authentifier et autoriser les utilisateurs finaux, en plus de valider leurs informations d'identification, vous pouvez autoriser ou refuser les demandes d'accès en fonction des adresses IP des clients utilisés par vos utilisateurs finaux. Vous pouvez utiliser cette fonctionnalité pour garantir que les données stockées dans vos compartiments S3 ou dans votre système de fichiers Amazon EFS ne sont accessibles via les protocoles pris en charge qu'à partir d'adresses IP que vous avez spécifiées comme fiables. Pour activer cette fonctionnalité, vous devez l'inclure `sourceIp` dans la chaîne de requête.

Si plusieurs protocoles sont activés pour votre serveur et que vous souhaitez fournir un accès en utilisant le même nom d'utilisateur sur plusieurs protocoles, vous pouvez le faire à condition que les informations d'identification spécifiques à chaque protocole aient été configurées dans votre fournisseur d'identité. Pour activer cette fonctionnalité, vous devez inclure la `protocol` valeur dans le chemin de la RESTful ressource.

Votre méthode API Gateway doit toujours renvoyer le code d'état HTTP`200`. Tout autre code d'état HTTP indique qu'une erreur s'est produite lors de l'accès à l'API.

**Exemple de réponse Amazon S3**  
Le corps de réponse d'exemple est un document JSON au format suivant pour Amazon S3.

```
{
 "Role": "IAM role with configured S3 permissions",
 "PublicKeys": [
     "ssh-rsa public-key1",
     "ssh-rsa public-key2"
  ],
 "Policy": "STS Assume role session policy",
 "HomeDirectory": "/amzn-s3-demo-bucket/path/to/home/directory"
}
```

**Note**  
 La politique est ignorée au format JSON sous forme de chaîne. Par exemple :   

****  

```
"Policy":
"{
  \"Version\": \"2012-10-17\",
  \"Statement\":
     [
     {\"Condition\":
        {\"StringLike\":
            {\"s3:prefix\":
               [\"user/*\", \"user/\"]}},
     \"Resource\": \"arn:aws:s3:::amzn-s3-demo-bucket\",
     \"Action\": \"s3:ListBucket\",
     \"Effect\": \"Allow\",
     \"Sid\": \"ListHomeDir\"},
     {\"Resource\": \"arn:aws:s3:::*\",
        \"Action\": [\"s3:PutObject\",
        \"s3:GetObject\",
        \"s3:DeleteObjectVersion\",
        \"s3:DeleteObject\",
        \"s3:GetObjectVersion\",
        \"s3:GetObjectACL\",
        \"s3:PutObjectACL\"],
     \"Effect\": \"Allow\",
     \"Sid\": \"HomeDirObjectAccess\"}]
}"
```

L'exemple de réponse suivant montre qu'un utilisateur possède un type de répertoire de base logique.

```
{
   "Role": "arn:aws:iam::123456789012:role/transfer-access-role-s3",
   "HomeDirectoryType":"LOGICAL",
   "HomeDirectoryDetails":"[{\"Entry\":\"/\",\"Target\":\"/amzn-s3-demo-bucket1\"}]",
   "PublicKeys":[""]
}
```

**Exemple de réponse Amazon EFS**  
Le corps de réponse d'exemple est un document JSON au format suivant pour Amazon EFS.

```
{
 "Role": "IAM role with configured EFS permissions",
 "PublicKeys": [
     "ssh-rsa public-key1",
     "ssh-rsa public-key2"
  ],
 "PosixProfile": {
   "Uid": "POSIX user ID",
   "Gid": "POSIX group ID",
   "SecondaryGids": [Optional list of secondary Group IDs],
 },
 "HomeDirectory": "/fs-id/path/to/home/directory"
}
```

Le `Role` champ indique que l'authentification a été réussie. Lors de l'authentification par mot de passe (lorsque vous fournissez un `Password:` en-tête), vous n'avez pas besoin de fournir de clés publiques SSH. Si un utilisateur ne peut pas être authentifié, par exemple si le mot de passe est incorrect, votre méthode doit renvoyer une réponse non `Role` définie. Un exemple d'une telle réponse est un objet JSON vide.

 L'exemple de réponse suivant montre un utilisateur dont le type de répertoire de base est logique. 

```
{
    "Role": "arn:aws:iam::123456789012:role/transfer-access-role-efs",
    "HomeDirectoryType": "LOGICAL",
    "HomeDirectoryDetails":"[{\"Entry\":\"/\",\"Target\":\"/faa1a123\"}]",
    "PublicKeys":[""],
    "PosixProfile":{"Uid":65534,"Gid":65534}
}
```

Vous pouvez inclure des politiques utilisateur dans la fonction Lambda au format JSON. Pour plus d'informations sur la configuration des politiques utilisateur dans Transfer Family, consultez[Gestion des contrôles d’accès](users-policies.md).

## Fonction Lambda par défaut
<a name="authentication-lambda-examples-default"></a>

Pour implémenter différentes stratégies d'authentification, modifiez la fonction Lambda utilisée par votre passerelle. Pour vous aider à répondre aux besoins de votre application, vous pouvez utiliser les exemples de fonctions Lambda suivants dans le fichier Node.js. Pour plus d'informations sur Lambda, consultez le [guide du AWS Lambda développeur](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) ou la création de fonctions [Lambda](https://docs.aws.amazon.com/lambda/latest/dg/lambda-nodejs.html) avec Node.js.

L'exemple de fonction Lambda suivant prend votre nom d'utilisateur, votre mot de passe (si vous effectuez une authentification par mot de passe), l'ID du serveur, le protocole et l'adresse IP du client. Vous pouvez utiliser une combinaison de ces entrées pour rechercher votre fournisseur d'identité et déterminer si la connexion doit être acceptée.

**Note**  
Si plusieurs protocoles sont activés pour votre serveur et que vous souhaitez fournir un accès en utilisant le même nom d'utilisateur sur plusieurs protocoles, vous pouvez le faire à condition que les informations d'identification spécifiques au protocole aient été configurées dans votre fournisseur d'identité.  
Pour le protocole de transfert de fichiers (FTP), nous recommandons de conserver des informations d'identification distinctes pour le protocole de transfert de fichiers (SFTP) Secure Shell (SSH) et le protocole de transfert de fichiers via SSL (FTPS). Nous recommandons de conserver des informations d'identification distinctes pour le protocole FTP car, contrairement au protocole SFTP et au protocole FTPS, le protocole FTP transmet les informations d'identification en texte clair. En isolant les informations d'identification FTP de celles du protocole SFTP ou FTPS, si les informations d'identification FTP sont partagées ou exposées, vos charges de travail utilisant le protocole SFTP ou FTPS restent sécurisées.

Cet exemple de fonction renvoie le rôle et les détails du répertoire de base logique, ainsi que les clés publiques (si elle effectue une authentification par clé publique).

Lorsque vous créez des utilisateurs gérés par des services, vous définissez leur répertoire de base, qu'il soit logique ou physique. De même, nous avons besoin des résultats de la fonction Lambda pour transmettre la structure de répertoire physique ou logique souhaitée par l'utilisateur. Les paramètres que vous définissez dépendent de la valeur du [https://docs.aws.amazon.com//transfer/latest/APIReference/API_CreateUser.html#TransferFamily-CreateUser-request-HomeDirectoryType](https://docs.aws.amazon.com//transfer/latest/APIReference/API_CreateUser.html#TransferFamily-CreateUser-request-HomeDirectoryType)champ.
+ `HomeDirectoryType`défini sur `PATH` : le `HomeDirectory` champ doit alors être un préfixe de compartiment Amazon S3 absolu ou un chemin absolu Amazon EFS visible par vos utilisateurs.
+ `HomeDirectoryType`set to `LOGICAL` — *Ne définit aucun* `HomeDirectory` champ. Nous avons plutôt défini un `HomeDirectoryDetails` champ qui fournit les Entry/Target mappages souhaités, similaires aux valeurs décrites dans le [https://docs.aws.amazon.com//transfer/latest/APIReference/API_CreateUser.html#TransferFamily-CreateUser-request-HomeDirectoryMappings](https://docs.aws.amazon.com//transfer/latest/APIReference/API_CreateUser.html#TransferFamily-CreateUser-request-HomeDirectoryMappings)paramètre pour les utilisateurs gérés par des services.

Les exemples de fonctions sont répertoriés dans[Exemples de fonctions Lambda](custom-lambda-idp.md#lambda-auth-examples).

## Fonction Lambda à utiliser avec AWS Secrets Manager
<a name="authentication-lambda-examples-secrets-mgr"></a>

Pour l'utiliser AWS Secrets Manager comme fournisseur d'identité, vous pouvez utiliser la fonction Lambda dans l'exemple de modèle CloudFormation . La fonction Lambda interroge le service Secrets Manager avec vos informations d'identification et, en cas de succès, renvoie un secret désigné. Pour plus d’informations sur Secrets Manager, consultez le [Guide de l’utilisateur AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html).

Pour télécharger un exemple de CloudFormation modèle utilisant cette fonction Lambda, accédez au compartiment [Amazon S3 fourni par](https://s3.amazonaws.com/aws-transfer-resources/custom-idp-templates/aws-transfer-custom-idp-secrets-manager-apig.template.yml). AWS Transfer Family

## Améliorations apportées aux CloudFormation modèles
<a name="base64-templates"></a>

Des améliorations ont été apportées à l'interface API Gateway dans les CloudFormation modèles publiés. Les modèles utilisent désormais des mots de passe BASE64 codés avec l'API Gateway. Vos déploiements existants continuent de fonctionner sans cette amélioration, mais n'autorisent pas les mots de passe contenant des caractères autres que le jeu de caractères US-ASCII de base.

Les modifications apportées au modèle pour activer cette fonctionnalité sont les suivantes :
+ La `GetUserConfigRequest AWS::ApiGateway::Method` ressource doit avoir ce `RequestTemplates` code (la ligne en italique est la ligne mise à jour)

  ```
  RequestTemplates:
     application/json: |
     {
        "username": "$util.urlDecode($input.params('username'))",
        "password": "$util.escapeJavaScript($util.base64Decode($input.params('PasswordBase64'))).replaceAll("\\'","'")",
        "protocol": "$input.params('protocol')",
        "serverId": "$input.params('serverId')",
        "sourceIp": "$input.params('sourceIp')"
  }
  ```
+ Le `RequestParameters` nom de la `GetUserConfig` ressource doit changer pour utiliser l'`PasswordBase64`en-tête (la ligne en italique est la ligne mise à jour) :

  ```
  RequestParameters:
     method.request.header.PasswordBase64: false
     method.request.querystring.protocol: false
     method.request.querystring.sourceIp: false
  ```

**Pour vérifier si le modèle de votre stack est le plus récent**

1. Ouvrez la CloudFormation console à l'adresse [https://console.aws.amazon.com/cloudformation.](https://console.aws.amazon.com/cloudformation/)

1. Dans la liste des piles, choisissez votre pile.

1. Dans le panneau de détails, choisissez l'onglet **Modèle**.

1. Recherchez les éléments suivants :
   + Recherchez `RequestTemplates` et assurez-vous d'avoir cette ligne :

     ```
     "password": "$util.escapeJavaScript($util.base64Decode($input.params('PasswordBase64'))).replaceAll("\\'","'")",
     ```
   + Recherchez `RequestParameters` et assurez-vous d'avoir cette ligne :

     ```
     method.request.header.PasswordBase64: false
     ```

Si les lignes mises à jour ne s'affichent pas, modifiez votre pile. Pour plus de détails sur la mise à jour de votre CloudFormation pile, consultez la section [Modification d'un modèle de pile](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-get-template.html) dans le *AWS CloudFormation guide de l'utilisateur*.

# Utilisation de plusieurs méthodes d'authentification
<a name="custom-idp-mfa"></a>

Le serveur Transfer Family contrôle la logique AND lorsque vous utilisez plusieurs méthodes d'authentification. Transfer Family traite cela comme deux demandes distinctes adressées à votre fournisseur d'identité personnalisé : toutefois, leur effet est combiné.

Les deux demandes doivent être renvoyées avec succès avec la bonne réponse pour permettre à l'authentification de se terminer. Transfer Family exige que les deux réponses soient complètes, ce qui signifie qu'elles contiennent tous les éléments requis (rôle, répertoire de base, politique et profil POSIX si vous utilisez Amazon EFS pour le stockage). Transfer Family exige également que la réponse au mot de passe ne contienne pas de clés publiques.

La demande de clé publique doit faire l'objet d'une réponse distincte de la part du fournisseur d'identité. Ce comportement reste inchangé lorsque vous utilisez le **mot de passe OU la clé** ou le **mot de passe ET la clé**.

Le protocole SSH/SFTP met d'abord le client logiciel au défi d'une authentification par clé publique, puis demande une authentification par mot de passe. Cette opération garantit la réussite des deux opérations avant que l'utilisateur ne soit autorisé à terminer l'authentification.

Pour les options de fournisseur d'identité personnalisées, vous pouvez spécifier l'une des options suivantes pour l'authentification.
+ **Mot de passe OU clé** : les utilisateurs peuvent s'authentifier à l'aide de leur mot de passe ou de leur clé. C’est la valeur par défaut.
+ **MOT DE PASSE UNIQUEMENT** : les utilisateurs doivent fournir leur mot de passe pour se connecter.
+ **Clé UNIQUEMENT** : les utilisateurs doivent fournir leur clé privée pour se connecter.
+ **Mot de passe ET clé** : les utilisateurs doivent fournir leur clé privée et leur mot de passe pour se connecter. Le serveur vérifie d'abord la clé, puis si la clé est valide, le système demande un mot de passe. Si la clé privée fournie ne correspond pas à la clé publique stockée, l'authentification échoue.

# IPv6 support pour les fournisseurs d'identité personnalisés
<a name="custom-idp-ipv6"></a>

AWS Transfer Family les fournisseurs d'identité personnalisés prennent entièrement en charge IPv6 les connexions. Lorsque vous implémentez un fournisseur d'identité personnalisé, votre fonction Lambda peut recevoir et traiter des demandes d'authentification provenant à la fois de la part des IPv6 clients IPv4 et de la part des clients sans aucune configuration supplémentaire. La fonction Lambda reçoit l'adresse IP du client dans le `sourceIp` champ de la demande, qui peut être une IPv4 adresse (par exemple`203.0.113.42`) ou une IPv6 adresse (par exemple,`2001:db8:85a3:8d3:1319:8a2e:370:7348`). L'implémentation de votre fournisseur d'identité personnalisé doit gérer les deux formats d'adresse de manière appropriée.

**Important**  
Si votre fournisseur d'identité personnalisé effectue une validation ou une journalisation basée sur l'adresse IP, assurez-vous que votre implémentation gère correctement les formats d' IPv6 adresse. IPv6 les adresses sont plus longues que IPv4 les adresses et utilisent un format de notation différent.

**Note**  
Lorsque vous gérez des IPv6 adresses dans votre fournisseur d'identité personnalisé, assurez-vous d'utiliser des fonctions d'analyse d' IPv6 adresses appropriées plutôt que de simples comparaisons de chaînes. IPv6les adresses peuvent être représentées dans différents formats canoniques (par exemple `fd00:b600::ec2` ou`fd00:b600:0:0:0:0:0:ec2`). Utilisez les bibliothèques d' IPv6 adresses ou les fonctions appropriées dans votre langage d'implémentation pour valider et comparer correctement IPv6 les adresses.

**Example Gestion à la fois IPv4 des IPv6 adresses et des adresses dans un fournisseur d'identité personnalisé**  

```
def lambda_handler(event, context):
    # Extract the source IP address from the request
    source_ip = event.get('sourceIp', '')
    
    # Log the client IP address (works for both IPv4 and IPv6)
    print(f"Authentication request from: {source_ip}")
    
    # Example of IP-based validation that works with both IPv4 and IPv6
    if is_ip_allowed(source_ip):
        # Continue with authentication
        # ...
    else:
        # Reject the authentication request
        return {
            "Role": "",
            "HomeDirectory": "",
            "Status": "DENIED"
        }
```

Pour plus d'informations sur la mise en œuvre de fournisseurs d'identité personnalisés, consultez[Utilisation AWS Lambda pour intégrer votre fournisseur d'identité](custom-lambda-idp.md).

# Utilisation de AWS Directory Service pour Microsoft Active Directory
<a name="directory-services-users"></a>

Vous pouvez l'utiliser AWS Transfer Family pour authentifier les utilisateurs finaux de votre transfert de fichiers à l'aide AWS Directory Service for Microsoft Active Directory de. Il permet une migration fluide des flux de transfert de fichiers qui reposent sur l'authentification Active Directory sans modifier les informations d'identification des utilisateurs finaux ni avoir besoin d'un autorisateur personnalisé. 

Vous pouvez ainsi fournir aux AWS Managed Microsoft AD Directory Service utilisateurs et aux groupes un accès sécurisé via SFTP, FTPS et FTP aux données stockées dans Amazon Simple Storage Service (Amazon S3) ou Amazon Elastic File System (Amazon EFS). Si vous utilisez Active Directory pour stocker les informations d'identification de vos utilisateurs, vous pouvez désormais activer plus facilement les transferts de fichiers pour ces utilisateurs. 

Vous pouvez fournir un accès aux groupes Active Directory AWS Managed Microsoft AD dans votre environnement sur site ou dans le AWS cloud à l'aide de connecteurs Active Directory. Vous pouvez donner aux utilisateurs déjà configurés dans votre environnement Microsoft Windows, que ce soit dans le AWS Cloud ou sur leur réseau local, l'accès à un AWS Transfer Family serveur qui utilise AWS Managed Microsoft AD l'identité. Le blog sur le AWS stockage contient un article qui détaille une solution pour utiliser Active Directory avec Transfer Family : [Simplifier l'authentification Active Directory avec un fournisseur d'identité personnalisé pour AWS Transfer Family](https://aws.amazon.com/blogs/storage/simplify-active-directory-authentication-with-a-custom-identity-provider-for-aws-transfer-family/).

**Note**  
AWS Transfer Family ne prend pas en charge Simple AD.
Transfer Family ne prend pas en charge les configurations Active Directory interrégionales : nous prenons uniquement en charge les intégrations Active Directory situées dans la même région que celle du serveur Transfer Family.
Transfer Family ne prend pas en charge l'utilisation d'AD Connector AWS Managed Microsoft AD ou d'AD Connector pour activer l'authentification multifactorielle (MFA) pour votre infrastructure MFA existante basée sur Radius.
AWS Transfer Family ne prend pas en charge les régions répliquées de Managed Active Directory.

Pour l'utiliser AWS Managed Microsoft AD, vous devez suivre les étapes suivantes :

1. Créez un ou plusieurs AWS Managed Microsoft AD répertoires à l'aide de la Directory Service console.

1. Utilisez la console Transfer Family pour créer un serveur utilisé AWS Managed Microsoft AD comme fournisseur d'identité. 

1. Configurez l' AWS annuaire à l'aide d'un connecteur Active Directory.

1. Ajoutez l'accès depuis un ou plusieurs de vos Directory Service groupes. 

1. Bien que cela ne soit pas obligatoire, nous vous recommandons de tester et de vérifier l'accès des utilisateurs.

**Topics**
+ [Avant de commencer à utiliser AWS Directory Service for Microsoft Active Directory](#managed-ad-prereq)
+ [Utilisation des domaines Active Directory](#managed-ad-realms)
+ [Choisir AWS Managed Microsoft AD comme fournisseur d'identité](#managed-ad-identity-provider)
+ [Connexion à Microsoft Active Directory sur site](#on-prem-ad)
+ [Octroi de l'accès à des groupes](#directory-services-grant-access)
+ [Tester les utilisateurs](#directory-services-test-user)
+ [Supprimer l'accès au serveur pour un groupe](#directory-services-misc)
+ [Connexion au serveur via SSH (Secure Shell)](#directory-services-ssh-procedure)
+ [Connexion AWS Transfer Family à un Active Directory autogéré à l'aide de forêts et d'approbations](#directory-services-ad-trust)

## Avant de commencer à utiliser AWS Directory Service for Microsoft Active Directory
<a name="managed-ad-prereq"></a>

**Note**  
AWS Transfer Family a une limite par défaut de 100 groupes Active Directory par serveur. Si votre cas d'utilisation nécessite plus de 100 groupes, envisagez d'utiliser une solution de fournisseur d'identité personnalisée, comme décrit dans [Simplifier l'authentification Active Directory avec un fournisseur d'identité personnalisé pour AWS Transfer Family](https://aws.amazon.com/blogs/storage/simplify-active-directory-authentication-with-a-custom-identity-provider-for-aws-transfer-family/).

### Fournissez un identifiant unique pour vos groupes AD
<a name="add-identifier-adgroups"></a>

Avant de pouvoir l'utiliser AWS Managed Microsoft AD, vous devez fournir un identifiant unique pour chaque groupe de votre annuaire Microsoft AD. Pour ce faire, vous pouvez utiliser l'identifiant de sécurité (SID) de chaque groupe. Les utilisateurs du groupe que vous associez ont accès à vos ressources Amazon S3 ou Amazon EFS via les protocoles activés à l'aide de AWS Transfer Family. 

Utilisez la PowerShell commande Windows suivante pour récupérer le SID d'un groupe, en le *YourGroupName* remplaçant par le nom du groupe. 

```
Get-ADGroup -Filter {samAccountName -like "YourGroupName*"} -Properties * | Select SamAccountName,ObjectSid
```

**Note**  
Si vous utilisez AWS Directory Service comme fournisseur d'identité, `userPrincipalName` et si vous `SamAccountName` avez des valeurs différentes, AWS Transfer Family accepte la valeur dans`SamAccountName`. Transfer Family n'accepte pas la valeur spécifiée dans`userPrincipalName`.

### Ajoutez Directory Service des autorisations à votre rôle
<a name="add-active-directory-permissions"></a>

Vous devez également disposer d'autorisations d' Directory Service API pour les utiliser AWS Directory Service en tant que fournisseur d'identité. Les autorisations suivantes sont requises ou suggérées :
+ `ds:DescribeDirectories`est nécessaire pour que Transfer Family puisse consulter le répertoire
+ `ds:AuthorizeApplication`est nécessaire pour ajouter une autorisation pour Transfer Family
+ `ds:UnauthorizeApplication`est suggéré de supprimer toutes les ressources créées de manière provisoire, au cas où quelque chose ne tournerait pas rond pendant le processus de création du serveur

Ajoutez ces autorisations au rôle que vous utilisez pour créer vos serveurs Transfer Family. Pour plus de détails sur ces autorisations, consultez [Autorisations d'Directory Service API : référence aux actions, aux ressources et aux conditions](https://docs.aws.amazon.com//directoryservice/latest/admin-guide/UsingWithDS_IAM_ResourcePermissions.html).

## Utilisation des domaines Active Directory
<a name="managed-ad-realms"></a>

 Lorsque vous réfléchissez à la manière dont vos utilisateurs Active Directory peuvent accéder aux AWS Transfer Family serveurs, gardez à l'esprit le domaine de l'utilisateur et celui de son groupe. Idéalement, le domaine de l'utilisateur et celui de son groupe devraient correspondre. En d'autres termes, l'utilisateur et le groupe se trouvent dans le domaine par défaut, ou les deux dans le domaine de confiance. Si ce n'est pas le cas, l'utilisateur ne peut pas être authentifié par Transfer Family.

Vous pouvez tester l'utilisateur pour vous assurer que la configuration est correcte. Pour en savoir plus, consultez [Tester les utilisateurs](#directory-services-test-user). En cas de problème avec le user/group domaine, vous recevez le message d'erreur « Aucun accès associé trouvé pour les groupes d'utilisateurs ».

## Choisir AWS Managed Microsoft AD comme fournisseur d'identité
<a name="managed-ad-identity-provider"></a>

Cette section décrit comment l'utiliser AWS Directory Service for Microsoft Active Directory avec un serveur.

**À utiliser AWS Managed Microsoft AD avec Transfer Family**

1. Connectez-vous à la Directory Service console AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/directoryservicev2/](https://console.aws.amazon.com/directoryservicev2/).

   Utilisez la Directory Service console pour configurer un ou plusieurs annuaires gérés. Pour plus d'informations, veuillez consulter la rubrique [AWS Managed Microsoft AD](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html) dans le *Guide de l'administrateur Directory Service *.  
![\[La console Directory Service affiche la liste des annuaires et leurs détails.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/directory-services-AD-list.png)

1. Ouvrez la AWS Transfer Family console à [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/), puis choisissez **Create server**.

1. Sur la page **Choisir des protocoles**, sélectionnez un ou plusieurs protocoles dans la liste.
**Note**  
Si vous sélectionnez **FTPS**, vous devez fournir le AWS Certificate Manager certificat. 

1. Pour **Choisir un fournisseur d'identité**, choisissez **AWS Directory Service**.  
![\[Capture d'écran de la console montrant la section Choisir un fournisseur d'identité avec Directory Service sélectionné.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/create-server-choose-idp-directory-services.png)

1. La liste des **annuaires** contient tous les annuaires gérés que vous avez configurés. Choisissez un répertoire dans la liste, puis cliquez sur **Next**.
**Note**  
 Les annuaires multicomptes et partagés ne sont pas pris en charge pour AWS Managed Microsoft AD. 
Pour configurer un serveur avec Directory Service comme fournisseur d'identité, vous devez ajouter des Directory Service autorisations. Pour en savoir plus, consultez [Avant de commencer à utiliser AWS Directory Service for Microsoft Active Directory](#managed-ad-prereq).

1. Pour terminer la création du serveur, appliquez l'une des procédures suivantes :
   + [Création d'un serveur compatible SFTP](create-server-sftp.md)
   + [Création d'un serveur compatible FTP](create-server-ftps.md)
   + [Création d'un serveur compatible FTP](create-server-ftp.md)

   Dans ces procédures, passez à l'étape qui suit le choix d'un fournisseur d'identité.

**Important**  
 Vous ne pouvez pas supprimer un répertoire Microsoft AD Directory Service si vous l'avez utilisé sur un serveur Transfer Family. Vous devez d'abord supprimer le serveur, puis vous pouvez supprimer le répertoire. 

## Connexion à Microsoft Active Directory sur site
<a name="on-prem-ad"></a>

Cette section décrit comment configurer un AWS annuaire à l'aide d'un AD Connector

**Pour configurer votre AWS annuaire à l'aide d'AD Connector**

1. Ouvrez la console [Directory Service](https://console.aws.amazon.com/directoryservicev2/) et sélectionnez **Directories**.

1. Sélectionnez **Configurer le répertoire**.

1. Pour le type de répertoire, choisissez **AD Connector**.

1. Sélectionnez une taille de répertoire, sélectionnez **Suivant**, puis sélectionnez votre VPC et vos sous-réseaux.

1. Sélectionnez **Suivant**, puis renseignez les champs comme suit :
   + **Nom DNS du répertoire** : entrez le nom de domaine que vous utilisez pour votre Microsoft Active Directory.
   + **Adresses IP DNS** : entrez vos adresses IP Microsoft Active Directory.
   + **Nom d'utilisateur et **mot de passe** du compte serveur** : entrez les détails du compte de service à utiliser.

1. Complétez les écrans pour créer le service d'annuaire.

L'étape suivante consiste à créer un serveur Transfer Family utilisant le protocole SFTP et le type de fournisseur d'identité **AWS Directory Service**. Dans la liste déroulante **Répertoire**, sélectionnez le répertoire que vous avez ajouté lors de la procédure précédente.

## Octroi de l'accès à des groupes
<a name="directory-services-grant-access"></a>

 Après avoir créé le serveur, vous devez choisir les groupes du répertoire qui doivent avoir accès au chargement et au téléchargement de fichiers via les protocoles activés à l'aide de AWS Transfer Family. Pour ce faire, créez un *accès*.

**Note**  
AWS Transfer Family a une limite par défaut de 100 groupes Active Directory par serveur. Si votre cas d'utilisation nécessite plus de 100 groupes, envisagez d'utiliser une solution de fournisseur d'identité personnalisée, comme décrit dans [Simplifier l'authentification Active Directory avec un fournisseur d'identité personnalisé pour AWS Transfer Family](https://aws.amazon.com/blogs/storage/simplify-active-directory-authentication-with-a-custom-identity-provider-for-aws-transfer-family/).

**Note**  
Les utilisateurs doivent appartenir *directement* au groupe auquel vous accordez l'accès. Par exemple, supposons que Bob est un utilisateur et appartient au groupe A, et que le groupe A lui-même est inclus dans le groupe B.  
Si vous accordez l'accès à GroupA, Bob est autorisé à y accéder.
 Si vous accordez l'accès au groupe B (et non au groupe A), Bob n'y a pas accès.

**Pour accorder l'accès à un groupe**

1. Ouvrez la AWS Transfer Family console à l'adresse [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

1. Accédez à la page des détails de votre serveur.

1.  Dans la section **Accès**, choisissez **Ajouter un accès**. 

1.  Entrez le SID du AWS Managed Microsoft AD répertoire auquel vous souhaitez accéder à ce serveur.
**Note**  
Pour plus d'informations sur la manière de trouver le SID de votre groupe, consultez[Avant de commencer à utiliser AWS Directory Service for Microsoft Active Directory](#managed-ad-prereq).

1. Pour **Access**, choisissez un rôle Gestion des identités et des accès AWS (IAM) pour le groupe.

1.  Dans la section **Stratégie**, choisissez une stratégie. Le paramètre par défaut est **Aucun**. 

1. Pour le **répertoire personnel**, choisissez un compartiment Amazon S3 correspondant au répertoire personnel du groupe.
**Note**  
Vous pouvez limiter les parties du bucket visibles par les utilisateurs en créant une politique de session. Par exemple, pour limiter les utilisateurs à leur propre dossier dans le `/filetest` répertoire, entrez le texte suivant dans le champ.  

   ```
   /filetest/${transfer:UserName}
   ```
 Pour en savoir plus sur la création d'une politique de session, consultez[Création d'une politique de session pour un compartiment Amazon S3](users-policies-session.md). 

1.  Choisissez **Ajouter** pour créer l'association. 

1. Choisissez votre serveur.

1. Choisissez **Ajouter un accès**.

   1.  Entrez le SID du groupe. 
**Note**  
Pour plus d'informations sur la façon de trouver le SID, consultez[Avant de commencer à utiliser AWS Directory Service for Microsoft Active Directory](#managed-ad-prereq).

1. Choisissez **Ajouter un accès**.

 Dans la section **Accès**, les accès au serveur sont répertoriés. 

![\[Console affichant la section Accès répertoriant les accès au serveur.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/accesses-list.png)


## Tester les utilisateurs
<a name="directory-services-test-user"></a>

Vous pouvez vérifier si un utilisateur a accès à l' AWS Managed Microsoft AD annuaire de votre serveur.

**Note**  
Un utilisateur doit appartenir exactement à un groupe (un ID externe) répertorié dans la section **Accès** de la page de **configuration du point de terminaison**. Si l'utilisateur ne fait partie d'aucun groupe, ou s'il fait partie de plusieurs groupes, il n'est pas autorisé à y accéder.

**Pour vérifier si un utilisateur spécifique a accès**

1. Sur la page de détails du serveur, choisissez **Actions**, puis sélectionnez **Test**.

1. Pour **tester le fournisseur d'identité**, entrez les informations de connexion d'un utilisateur appartenant à l'un des groupes ayant accès. 

1.  Sélectionnez **Tester)**. 

Vous voyez un test du fournisseur d'identité réussi, indiquant que l'utilisateur sélectionné a obtenu l'accès au serveur.

![\[Capture d'écran de la console montrant la réponse réussie au test du fournisseur d'identité.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/identity-provider-test-success.png)


Si l'utilisateur appartient à plusieurs groupes ayant accès, vous recevez la réponse suivante.

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

## Supprimer l'accès au serveur pour un groupe
<a name="directory-services-misc"></a>

**Pour supprimer l'accès au serveur pour un groupe**

1. Sur la page de détails du serveur, choisissez **Actions**, puis sélectionnez **Supprimer l'accès**.

1. Dans la boîte de dialogue, confirmez que vous souhaitez supprimer l'accès à ce groupe.

 Lorsque vous revenez à la page des détails du serveur, vous constatez que l'accès à ce groupe n'est plus répertorié. 

## Connexion au serveur via SSH (Secure Shell)
<a name="directory-services-ssh-procedure"></a>

Après avoir configuré votre serveur et vos utilisateurs, vous pouvez vous connecter au serveur via SSH et utiliser le nom d'utilisateur complet d'un utilisateur qui y a accès. 

```
sftp user@active-directory-domain@vpc-endpoint
```

Par exemple : `transferuserexample@mycompany.com@vpce-0123456abcdef-789xyz.vpc-svc-987654zyxabc.us-east-1.vpce.amazonaws.com`.

Ce format cible la recherche de la fédération, limitant ainsi la recherche dans un Active Directory potentiellement volumineux. 

**Note**  
Vous pouvez spécifier le nom d'utilisateur simple. Toutefois, dans ce cas, le code Active Directory doit effectuer une recherche dans tous les annuaires de la fédération. Cela peut limiter la recherche et l'authentification peut échouer même si l'utilisateur doit y avoir accès. 

Une fois authentifié, l'utilisateur se trouve dans le répertoire de base que vous avez spécifié lors de sa configuration.

## Connexion AWS Transfer Family à un Active Directory autogéré à l'aide de forêts et d'approbations
<a name="directory-services-ad-trust"></a>

Directory Service dispose des options suivantes pour se connecter à un Active Directory autogéré :
+ La confiance forestière unidirectionnelle (sortante AWS Managed Microsoft AD et entrante pour Active Directory sur site) ne fonctionne que pour le domaine racine.
+ Pour les domaines enfants, vous pouvez utiliser l'une des options suivantes :
  + Utiliser une confiance bidirectionnelle entre Active AWS Managed Microsoft AD Directory et sur site
  + Utilisez une confiance externe unidirectionnelle pour chaque domaine enfant.

Lors de la connexion au serveur via un domaine sécurisé, l'utilisateur doit spécifier le domaine sécurisé, par exemple`transferuserexample@mycompany.com`.

# Utilisation du AWS Directory Service pour les services de domaine Entra ID
<a name="azure-sftp"></a>

 Pour les clients qui ont uniquement besoin d'un transfert SFTP et qui ne souhaitent pas gérer de domaine, il existe Simple Active Directory. Les clients qui souhaitent bénéficier des avantages d'Active Directory et de la haute disponibilité dans un service entièrement géré peuvent également utiliser AWS Managed Microsoft AD. Enfin, pour les clients qui souhaitent tirer parti de leur forêt Active Directory existante pour leur transfert SFTP, il existe le connecteur Active Directory. 

Notez ce qui suit :
+ Pour tirer parti de votre forêt Active Directory existante pour vos besoins de transfert SFTP, vous pouvez utiliser le [connecteur Active Directory](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_ad_connector.html).
+ Si vous souhaitez bénéficier des avantages d'Active Directory et de la haute disponibilité dans un service entièrement géré, vous pouvez utiliser AWS Directory Service for Microsoft Active Directory. Pour en savoir plus, consultez [Utilisation de AWS Directory Service pour Microsoft Active Directory](directory-services-users.md).

Cette rubrique décrit comment utiliser un connecteur Active Directory et les [services de domaine Entra ID (anciennement Azure AD)](https://azure.microsoft.com/en-us/services/active-directory-ds/) pour authentifier les utilisateurs de SFTP Transfer avec l'identifiant Entra.

**Topics**
+ [Avant de commencer à utiliser AWS Directory Service pour les services de domaine Entra ID](#azure-prereq)
+ [Étape 1 : Ajouter les services de domaine Entra ID](#azure-add-adds)
+ [Étape 2 : Création d'un compte de service](#azure-create-service-acct)
+ [Étape 3 : Configuration de l' AWS annuaire à l'aide d'AD Connector](#azure-setup-directory)
+ [Étape 4 : Configuration AWS Transfer Family du serveur](#azure-setup-transfer-server)
+ [Étape 5 : Accorder l'accès aux groupes](#azure-grant-access)
+ [Étape 6 : Tester les utilisateurs](#azure-test)

## Avant de commencer à utiliser AWS Directory Service pour les services de domaine Entra ID
<a name="azure-prereq"></a>

**Note**  
AWS Transfer Family a une limite par défaut de 100 groupes Active Directory par serveur. Si votre cas d'utilisation nécessite plus de 100 groupes, envisagez d'utiliser une solution de fournisseur d'identité personnalisée, comme décrit dans [Simplifier l'authentification Active Directory avec un fournisseur d'identité personnalisé pour AWS Transfer Family](https://aws.amazon.com/blogs/storage/simplify-active-directory-authentication-with-a-custom-identity-provider-for-aws-transfer-family/).

Pour cela AWS, vous avez besoin des éléments suivants :
+ Un cloud privé virtuel (VPC) dans une AWS région où vous utilisez vos serveurs Transfer Family
+ Au moins deux sous-réseaux privés dans votre VPC
+ Le VPC doit disposer d'une connexion Internet
+ Une passerelle client et une passerelle privée virtuelle pour la connexion site-to-site VPN avec Microsoft Entra

Pour Microsoft Entra, vous avez besoin des éléments suivants :
+ Un identifiant Entra et un service de domaine Active Directory
+ Un groupe de ressources Entra
+ Un réseau virtuel Entra
+ Connectivité VPN entre votre Amazon VPC et votre groupe de ressources Entra
**Note**  
Cela peut se faire par le biais de tunnels IPSEC natifs ou d'appareils VPN. Dans cette rubrique, nous utilisons des tunnels IPSEC entre une passerelle réseau virtuelle Entra et une passerelle réseau locale. Les tunnels doivent être configurés pour autoriser le trafic entre les points de terminaison de votre service de domaine Entra et les sous-réseaux qui hébergent votre AWS VPC.
+ Une passerelle client et une passerelle privée virtuelle pour la connexion site-to-site VPN avec Microsoft Entra

Le schéma suivant montre la configuration requise avant de commencer.

![\[Entra/Azure AD et schéma d'architecture. AWS Transfer Family Un AWS VPC se connectant à un réseau virtuel Entra via Internet, à l'aide d'un connecteur AWS Directory Service vers le service de domaine Entra.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/azure-architecture.png)


## Étape 1 : Ajouter les services de domaine Entra ID
<a name="azure-add-adds"></a>

 Entra ID ne prend pas en charge les instances de jointure de domaines par défaut. Pour effectuer des actions telles que l'adhésion à un domaine et pour utiliser des outils tels que la politique de groupe, les administrateurs doivent activer les services de domaine Entra ID. Si vous n'avez pas encore ajouté Entra DS, ou si votre implémentation existante n'est pas associée au domaine que vous souhaitez que votre serveur de transfert SFTP utilise, vous devez ajouter une nouvelle instance.

Pour plus d'informations sur l'activation des services de domaine Entra ID, voir [Tutoriel : Création et configuration d'un domaine géré par les services de domaine Microsoft Entra](https://docs.microsoft.com/en-us/azure/active-directory-domain-services/active-directory-ds-getting-started) ID.

**Note**  
Lorsque vous activez Entra DS, assurez-vous qu'il est configuré pour le groupe de ressources et le domaine Entra auxquels vous connectez votre serveur de transfert SFTP.

![\[Accédez à l'écran des services de domaine affichant le groupe de ressources bob.us en cours d'exécution.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/azure-ad-add-instance.png)


## Étape 2 : Création d'un compte de service
<a name="azure-create-service-acct"></a>

 Entra doit disposer d'un compte de service faisant partie d'un groupe d'administrateurs dans Entra DS. Ce compte est utilisé avec le connecteur AWS Active Directory. Assurez-vous que ce compte est synchronisé avec Entra DS. 

![\[Accédez à l'écran affichant le profil d'un utilisateur.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/azure-service-acct.png)


**Astuce**  
L'authentification multifactorielle pour Entra ID n'est pas prise en charge pour les serveurs Transfer Family qui utilisent le protocole SFTP. Le serveur Transfer Family ne peut pas fournir le jeton MFA une fois qu'un utilisateur s'est authentifié auprès du protocole SFTP. Assurez-vous de désactiver le MFA avant de tenter de vous connecter.  

![\[Entrez les détails de l'authentification multifactorielle, indiquant que le statut MFA est désactivé pour deux utilisateurs.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/azure-ad-mfa-disable.png)


## Étape 3 : Configuration de l' AWS annuaire à l'aide d'AD Connector
<a name="azure-setup-directory"></a>

 Après avoir configuré Entra DS et créé un compte de service avec des tunnels VPN IPSEC entre votre AWS VPC et le réseau virtuel Entra, vous pouvez tester la connectivité en envoyant un ping à l'adresse IP DNS d'Entra DS depuis AWS n'importe quelle instance EC2.

Après avoir vérifié que la connexion est active, vous pouvez continuer ci-dessous.

**Pour configurer votre AWS annuaire à l'aide d'AD Connector**

1. Ouvrez la console [Directory Service](https://console.aws.amazon.com/directoryservicev2/) et sélectionnez **Directories**.

1. Sélectionnez **Configurer le répertoire**.

1. Pour le type de répertoire, choisissez **AD Connector**.

1. Sélectionnez une taille de répertoire, sélectionnez **Suivant**, puis sélectionnez votre VPC et vos sous-réseaux.

1. Sélectionnez **Suivant**, puis renseignez les champs comme suit :
   + **Nom DNS du répertoire** : entrez le nom de domaine que vous utilisez pour votre Entra DS.
   + **Adresses IP DNS** : entrez vos adresses IP Entra DS.
   + **Nom d'utilisateur et **mot de passe** du compte serveur** : entrez les détails du compte de service que vous avez créé à l'*étape 2 : créer un compte de service*.

1. Complétez les écrans pour créer le service d'annuaire.

Le statut du répertoire doit maintenant être **actif** et il est prêt à être utilisé avec un serveur de transfert SFTP.

![\[L'écran des services d'annuaire affiche un répertoire dont le statut est Actif, selon les besoins.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/azure-connector-ready.png)


## Étape 4 : Configuration AWS Transfer Family du serveur
<a name="azure-setup-transfer-server"></a>

Créez un serveur Transfer Family avec le protocole SFTP et le type de fournisseur d'identité **AWS Directory Service**. Dans la liste déroulante **Répertoire**, sélectionnez le répertoire que vous avez ajouté à l'*étape 3 : Configuration du AWS répertoire à l'aide d'AD Connector*.

**Note**  
Vous ne pouvez pas supprimer un répertoire Microsoft AD dans AWS Directory Service si vous l'avez utilisé sur un serveur Transfer Family. Vous devez d'abord supprimer le serveur, puis vous pouvez supprimer le répertoire. 

## Étape 5 : Accorder l'accès aux groupes
<a name="azure-grant-access"></a>

 Après avoir créé le serveur, vous devez choisir les groupes du répertoire qui doivent avoir accès au chargement et au téléchargement de fichiers via les protocoles activés à l'aide de AWS Transfer Family. Pour ce faire, créez un *accès*.

**Note**  
Les utilisateurs doivent appartenir *directement* au groupe auquel vous accordez l'accès. Par exemple, supposons que Bob est un utilisateur et appartient au groupe A, et que le groupe A lui-même est inclus dans le groupe B.  
Si vous accordez l'accès à GroupA, Bob est autorisé à y accéder.
 Si vous accordez l'accès au groupe B (et non au groupe A), Bob n'y a pas accès.

 Pour accorder l'accès, vous devez récupérer le SID du groupe.

Utilisez la PowerShell commande Windows suivante pour récupérer le SID d'un groupe, en le *YourGroupName* remplaçant par le nom du groupe. 

```
Get-ADGroup -Filter {samAccountName -like "YourGroupName*"} -Properties * | Select SamAccountName,ObjectSid
```

![\[Windows PowerShell affichant un SID d'objet en cours de récupération.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/azure-grant-access.png)


**Accorder l'accès aux groupes**

1. Ouvrir [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

1. Accédez à la page des détails de votre serveur et dans la section **Accès**, sélectionnez **Ajouter un accès**. 

1. Entrez le SID que vous avez reçu à la sortie de la procédure précédente.

1. Pour **Access**, choisissez un Gestion des identités et des accès AWS rôle pour le groupe.

1. Dans la section **Stratégie**, choisissez une stratégie. La valeur par défaut est **Aucune**.

1. Pour le **répertoire personnel**, choisissez un compartiment Amazon S3 correspondant au répertoire personnel du groupe.

1. Choisissez **Ajouter** pour créer l'association.

Les informations provenant de votre serveur de transfert doivent ressembler à ce qui suit :

![\[Partie de l'écran des détails du serveur Transfer Family, présentant un exemple d'ID de répertoire pour le fournisseur d'identité.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/azure-assoc-1.png)


![\[Partie de l'écran des détails du serveur Transfer Family, affichant l'ID externe de l'Active Directory dans la partie Accès de l'écran.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/azure-assoc-2.png)


## Étape 6 : Tester les utilisateurs
<a name="azure-test"></a>

Vous pouvez tester ([Tester les utilisateurs](directory-services-users.md#directory-services-test-user)) si un utilisateur a accès au AWS Managed Microsoft AD répertoire de votre serveur. Un utilisateur doit appartenir exactement à un groupe (un ID externe) répertorié dans la section **Accès** de la page de **configuration du point de terminaison**. Si l'utilisateur ne fait partie d'aucun groupe, ou s'il fait partie de plusieurs groupes, il n'est pas autorisé à y accéder. 

# Utilisation de répertoires logiques pour simplifier vos structures de répertoires Transfer Family
<a name="logical-dir-mappings"></a>

Les répertoires logiques simplifient la structure des répertoires de votre AWS Transfer Family serveur. Avec les répertoires logiques, vous pouvez créer une structure de répertoire virtuel avec des noms faciles à utiliser par les utilisateurs lorsqu'ils se connectent à votre compartiment Amazon S3 ou à votre système de fichiers Amazon EFS. Cela empêche les utilisateurs de voir les chemins de répertoire, les noms des compartiments et les noms des systèmes de fichiers réels.

**Note**  
Vous devez utiliser des politiques de session afin que vos utilisateurs finaux ne puissent effectuer que les opérations que vous les autorisez à effectuer.  
Vous devez utiliser des répertoires logiques pour créer un répertoire virtuel convivial pour vos utilisateurs finaux et supprimer les noms de compartiments. Les mappages de répertoires logiques permettent uniquement aux utilisateurs d'accéder à leurs chemins logiques et sous-répertoires désignés, et interdisent les chemins relatifs qui traversent les racines logiques.  
Transfer Family valide tous les chemins susceptibles d'inclure des éléments relatifs et bloque activement la résolution de ces chemins avant que nous ne les transmettions à Amazon S3 ; cela empêche vos utilisateurs d'aller au-delà de leurs mappages logiques.  
Même si Transfer Family empêche vos utilisateurs finaux d'accéder à des répertoires situés en dehors de leur répertoire logique, nous vous recommandons également d'utiliser des rôles ou des politiques de session uniques pour appliquer le moindre privilège au niveau du stockage.

## Comprendre le chroot et la structure des répertoires
<a name="chroot-dir-structure"></a>

Une opération **chroot** vous permet de définir le répertoire racine d'un utilisateur à n'importe quel emplacement de votre hiérarchie de stockage. Cela limite les utilisateurs à leur répertoire d'accueil ou racine configuré, empêchant ainsi l'accès aux répertoires de niveau supérieur.

Prenons le cas où un utilisateur Amazon S3 est limité à`amzn-s3-demo-bucket/home/${transfer:UserName}`. Sans **chroot**, certains clients peuvent autoriser les utilisateurs à accéder à /amzn-s3-demo-bucket/home, ce qui nécessite une déconnexion et une connexion pour retourner dans leur répertoire approprié. L'exécution d'une opération **de chroot** permet d'éviter ce problème.

Vous pouvez créer des structures de répertoires personnalisées dans plusieurs compartiments et préfixes. Cela est utile si votre flux de travail nécessite une structure de répertoire spécifique que les préfixes de compartiment ne peuvent fournir à eux seuls. Vous pouvez également créer un lien vers plusieurs emplacements non contigus dans Amazon S3, comme pour créer un lien symbolique dans un système de fichiers Linux où le chemin de votre répertoire fait référence à un emplacement différent dans le système de fichiers.

## Règles d'utilisation des répertoires logiques
<a name="logical-dir-rules"></a>

Cette section décrit certaines règles et autres considérations relatives à l'utilisation de répertoires logiques.

### Limites de mappage
<a name="key-mapping-rules"></a>
+ Un seul mappage est autorisé lorsqu'il l'`Entry`est `"/"` (aucun chevauchement de chemins n'est autorisé).
+ Les annuaires logiques prennent en charge des mappages allant jusqu'à 2,1 Mo pour les utilisateurs IDP et AD personnalisés, et 2 000 entrées pour les utilisateurs gérés par des services. Vous pouvez calculer la taille de vos mappages comme suit :

  1. Rédigez un mappage type dans le format`{"Entry":"/entry-path","Target":"/target-path"}`, où `entry-path` et `target-path` sont les valeurs réelles que vous allez utiliser.

  1. Comptez les caractères de cette chaîne, puis ajoutez-en un (1).

  1. Multipliez ce nombre par le nombre approximatif de mappages dont vous disposez pour votre serveur.

  Si le nombre que vous avez estimé à l'étape 3 est inférieur à 2,1 Mo, vos mappages se situent dans la limite acceptable.

### Exigences relatives au chemin cible
<a name="target-path"></a>
+ Utilisez `${transfer:UserName}` une variable si le chemin du bucket ou du système de fichiers a été paramétré en fonction du nom d'utilisateur.
+ Les cibles peuvent être configurées pour pointer vers différents compartiments ou systèmes de fichiers Amazon S3, à condition que le rôle IAM associé dispose des autorisations nécessaires pour accéder à ces emplacements de stockage.
+ Toutes les cibles doivent commencer par une barre oblique (`/`) mais ne peuvent pas se terminer par une barre oblique. Par exemple, `/amzn-s3-demo-bucket/images` c'est correct, tandis que `amzn-s3-demo-bucket/images ` ce n'est `/amzn-s3-demo-bucket/images/` pas le cas.

### Considérations relatives au stockage
<a name="storage-considerations"></a>
+ Amazon S3 est un magasin d'objets dans lequel les dossiers n'existent qu'en tant que concept virtuel. Lorsque vous utilisez le stockage Amazon S3, Transfer Family indique les préfixes sous forme de répertoires dans les opérations STAT, même s'il n'existe aucun objet de zéro octet marqué d'une barre oblique. Un objet zéro octet approprié avec une barre oblique finale est également signalé comme un répertoire dans les opérations STAT. Ce comportement est décrit dans la section [Organisation des objets dans la console Amazon S3 à l'aide de dossiers](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-folders.html) du *guide de l'utilisateur d'Amazon Simple Storage Service*.
+ Pour les applications qui doivent faire la distinction entre les fichiers et les dossiers, utilisez Amazon Elastic File System (Amazon EFS) comme option de stockage Transfer Family.
+ Si vous spécifiez des valeurs de répertoire logiques pour votre utilisateur, le paramètre que vous utilisez dépend du type d'utilisateur :
  + Pour les utilisateurs gérés par des services, fournissez des valeurs de répertoire logiques dans. `HomeDirectoryMappings`
  + Pour les utilisateurs de fournisseurs d'identité personnalisés, fournissez des valeurs de répertoire logiques dans`HomeDirectoryDetails`.

### Valeurs de l'annuaire des utilisateurs
<a name="user-dir-values"></a>
+ Le paramètre permettant de spécifier des valeurs de répertoire logiques dépend de votre type d'utilisateur :
  + Pour les utilisateurs gérés par des services, fournissez des valeurs de répertoire logiques dans. `HomeDirectoryMappings`
  + Pour les utilisateurs de fournisseurs d'identité personnalisés, fournissez des valeurs de répertoire logiques dans`HomeDirectoryDetails`.
+ Lorsque vous utilisez LOGICAL HomeDirectoryType, vous pouvez spécifier une HomeDirectory valeur pour les mises en œuvre des utilisateurs gérés par le service, de l'accès Active Directory et du fournisseur d'identité personnalisé lorsqu' HomeDirectoryDetails elles sont fournies dans la réponse. Si ce n'est pas spécifié, la HomeDirectory valeur par défaut est. `/`

Pour plus de détails sur la façon d'implémenter des répertoires logiques, consultez[Implémentation de répertoires logiques](implement-log-dirs.md).

# Implémentation de répertoires logiques
<a name="implement-log-dirs"></a>

**Important**  
**Exigences relatives au répertoire racine**
Si vous n'utilisez pas les paramètres d'optimisation des performances d'Amazon S3, votre répertoire racine doit exister au démarrage.
Pour Amazon S3, cela signifie créer un objet de zéro octet qui se termine par une barre oblique ()`/`.
Pour éviter cette exigence, pensez à activer l'optimisation des performances d'Amazon S3 lorsque vous créez ou mettez à jour votre serveur.
Lorsque vous spécifiez a HomeDirectory avec LOGICAL HomeDirectoryType, la valeur doit correspondre à l'un de vos mappages de répertoires logiques. Le service valide cela lors de la création et des mises à jour des utilisateurs afin d'éviter que les configurations ne fonctionnent pas.
**Configuration logique du répertoire de base**
Lorsque vous utilisez LOGICAL comme votre HomeDirectoryType, notez ce qui suit :  
La HomeDirectory valeur doit correspondre à l'un de vos mappages de répertoires logiques existants.
Le système le valide automatiquement lors de la création et des mises à jour des utilisateurs.
Cette validation permet d'éviter les configurations susceptibles de provoquer des problèmes d'accès.

## Activer les répertoires logiques
<a name="enable-log-dirs-small"></a>

Pour utiliser des répertoires logiques pour un utilisateur, définissez le `HomeDirectoryType` paramètre sur`LOGICAL`. Procédez ainsi lorsque vous créez un nouvel utilisateur ou mettez à jour un utilisateur existant. 

```
"HomeDirectoryType": "LOGICAL"
```

## Activer `chroot` pour les utilisateurs
<a name="chroot"></a>

Pour **chroot** créer une structure de répertoire composée d'un répertoire unique `Entry` et d'un `Target` appariement pour chaque utilisateur. L'entrée**/**représente le dossier racine, tandis que **Target** indique l'emplacement réel dans votre compartiment ou votre système de fichiers.

------
#### [ Example for Amazon S3 ]

```
[{"Entry": "/", "Target": "/amzn-s3-demo-bucket/jane"}]
```

------
#### [ Example for Amazon EFS ]

```
[{"Entry": "/", "Target": "/fs-faa1a123/jane"}]
```

------

Vous pouvez utiliser un chemin absolu comme dans l'exemple précédent, ou vous pouvez utiliser une substitution dynamique pour le nom d'utilisateur par`${transfer:UserName}`, comme dans l'exemple suivant.

```
[{"Entry": "/", "Target":
"/amzn-s3-demo-bucket/${transfer:UserName}"}]
```

Dans l'exemple précédent, l'utilisateur est verrouillé dans son répertoire racine et ne peut pas monter plus haut dans la hiérarchie.

## Structure du répertoire virtuel
<a name="virtual-dirs"></a>

Pour une structure de répertoire virtuel, vous pouvez créer plusieurs `Entry` `Target` paires, avec des cibles n'importe où dans vos compartiments S3 ou systèmes de fichiers EFS, y compris dans plusieurs compartiments ou systèmes de fichiers, à condition que le mappage des rôles IAM de l'utilisateur soit autorisé à y accéder.

Dans l'exemple de structure virtuelle suivant, lorsque l'utilisateur se connecte à AWS SFTP, il se trouve dans le répertoire racine avec les sous-répertoires`/pics`, `/doc``/reporting`, et. `/anotherpath/subpath/financials` 

**Note**  
À moins que vous ne choisissiez d'optimiser les performances de vos annuaires Amazon S3 (lorsque vous créez ou mettez à jour un serveur), l'utilisateur ou un administrateur doit créer les annuaires s'ils n'existent pas déjà. Éviter ce problème est une raison pour envisager d'optimiser les performances d'Amazon S3.  
Pour Amazon EFS, vous avez toujours besoin de l'administrateur pour créer les mappages logiques ou le `/` répertoire.

```
[
{"Entry": "/pics", "Target": "/amzn-s3-demo-bucket1/pics"}, 
{"Entry": "/doc", "Target": "/amzn-s3-demo-bucket1/anotherpath/docs"},
{"Entry": "/reporting", "Target": "/amzn-s3-demo-bucket2/Q1"},
{"Entry": "/anotherpath/subpath/financials", "Target": "/amzn-s3-demo-bucket2/financials"}]
```



**Note**  
 Vous ne pouvez télécharger des fichiers que dans les dossiers spécifiques que vous mappez. Cela signifie que dans l'exemple précédent, vous ne pouvez pas télécharger vers `/anotherpath` des `anotherpath/subpath` répertoires ; uniquement`anotherpath/subpath/financials`. Vous ne pouvez pas non plus mapper directement ces tracés, car les tracés qui se chevauchent ne sont pas autorisés.  
 Supposons, par exemple, que vous créez les mappages suivants :   

```
{
   "Entry": "/pics", 
   "Target": "/amzn-s3-demo-bucket/pics"
}, 
{
   "Entry": "/doc", 
   "Target": "/amzn-s3-demo-bucket/mydocs"
}, 
{
   "Entry": "/temp", 
   "Target": "/amzn-s3-demo-bucket2/temporary"
}
```
 Vous ne pouvez télécharger des fichiers que dans ces compartiments. Lorsque vous vous connectez pour la première fois`sftp`, vous êtes déposé dans le répertoire racine,`/`. Si vous essayez de télécharger un fichier dans ce répertoire, le téléchargement échoue. Les commandes suivantes présentent un exemple de séquence :   

```
sftp> pwd
Remote working directory: /
sftp> put file
Uploading file to /file
remote open("/file"): No such file or directory
```
Pour effectuer le téléchargement vers n'importe quel fichier`directory/sub-directory`, vous devez mapper explicitement le chemin vers le`sub-directory`.

Pour plus d'informations sur la configuration des répertoires logiques et **chroot** pour vos utilisateurs, y compris un AWS CloudFormation modèle que vous pouvez télécharger et utiliser, consultez [Simplifier votre structure AWS SFTP avec un chroot et des répertoires logiques](https://aws.amazon.com/blogs/storage/simplify-your-aws-sftp-structure-with-chroot-and-logical-directories/) dans le blog AWS de stockage.

# Exemples de configuration de répertoires logiques
<a name="logical-dir-example"></a>

Dans cet exemple, nous créons un utilisateur et lui attribuons deux répertoires logiques. La commande suivante crée un nouvel utilisateur (pour un serveur Transfer Family existant) avec des répertoires logiques `pics` et`doc`. 

```
aws transfer create-user \
    --user-name marymajor \
    --server-id s-11112222333344445 \
    --role arn:aws:iam::1234abcd5678:role/marymajor-role \
    --home-directory-type LOGICAL \
    --home-directory-mappings "[{\"Entry\":\"/pics\", \"Target\":\"/amzn-s3-demo-bucket1/pics\"}, {\"Entry\":\"/doc\", \"Target\":\"/amzn-s3-demo-bucket2/test/mydocs\"}]" \
    --ssh-public-key-body file://~/.ssh/id_rsa.pub
```

S'il s'**marymajor**agit d'un utilisateur existant et que son répertoire personnel est de type`PATH`, vous pouvez le remplacer `LOGICAL` par une commande similaire à la précédente.

```
aws transfer update-user \
    --user-name marymajor \
    --server-id s-11112222333344445 \
    --role arn:aws:iam::1234abcd5678:role/marymajor-role \
    --home-directory-type LOGICAL \
    --home-directory-mappings "[{\"Entry\":\"/pics\", \"Target\":\"/amzn-s3-demo-bucket1/pics\"}, {\"Entry\":\"/doc\", \"Target\":\"/amzn-s3-demo-bucket2/test/mydocs\"}]"
```

Notez ce qui suit :
+ Si `/amzn-s3-demo-bucket1/pics` les répertoires `/amzn-s3-demo-bucket2/test/mydocs` n'existent pas déjà, l'utilisateur (ou un administrateur) doit les créer.
**Note**  
Ces annuaires sont créés automatiquement par le serveur Transfer Family si vous avez configuré des annuaires optimisés.
+ Lorsqu'elle **marymajor** se connecte au serveur et exécute la `ls -l` commande, Mary voit ce qui suit :

  ```
  drwxr--r--   1        -        -        0 Mar 17 15:42 doc
  drwxr--r--   1        -        -        0 Mar 17 16:04 pics
  ```
+ **marymajor**Impossible de créer des fichiers ou des répertoires à ce niveau. Cependant, dans `pics` et`doc`, elle peut ajouter des sous-répertoires.
+ Les fichiers que Mary ajoute `pics` et `doc` sont ajoutés aux chemins Amazon S3 `/amzn-s3-demo-bucket1/pics` et `/amzn-s3-demo-bucket2/test/mydocs` respectivement.
+ Dans cet exemple, nous indiquons deux compartiments différents pour illustrer cette possibilité. Toutefois, vous pouvez utiliser le même compartiment pour plusieurs ou tous les répertoires logiques que vous spécifiez pour l'utilisateur.

Cet exemple fournit une configuration alternative pour un chemin d'accès d'origine logique.

```
aws transfer create-user \
    --user-name marymajor \
    --server-id s-11112222333344445 \
    --role arn:aws:iam::1234abcd5678:role/marymajor-role \
    --home-directory-type LOGICAL \
    --home-directory /home/marymajor \
    --home-directory-mappings "[{\"Entry\":\"/home/marymajor/pics\", \"Target\":\"/amzn-s3-demo-bucket1/pics\"}, {\"Entry\":\"/home/marymajor/doc\", \"Target\":\"/amzn-s3-demo-bucket2/test/mydocs\"}]" \
    --ssh-public-key-body file://~/.ssh/id_rsa.pub
```

Notez ce qui suit :
+ Les mappages fournissent un chemin commun`/home/marymajor`, qui constitue la première partie des deux chemins logiques. Les fichiers peuvent ensuite être ajoutés aux `doc` dossiers `pics` et.
+ Comme dans l'exemple précédent, le répertoire de base est `/home/marymajor` en lecture seule.

## Configuration de répertoires logiques pour Amazon EFS
<a name="logical-dir-efs"></a>

Si votre serveur Transfer Family utilise Amazon EFS, le répertoire personnel de l'utilisateur doit être créé avec un accès en lecture et en écriture pour que l'utilisateur puisse travailler dans son répertoire de base logique. L'utilisateur ne peut pas créer ce répertoire lui-même, car il n'aurait pas les autorisations nécessaires pour `mkdir` accéder à son répertoire de base logique.

Si le répertoire personnel de l'utilisateur n'existe pas et que celui-ci exécute une `ls` commande, le système répond comme suit :

```
sftp> ls
remote readdir ("/"): No such file or directory
```

Un utilisateur disposant d'un accès administratif au répertoire parent doit créer le répertoire de base logique de l'utilisateur.

## AWS Lambda Réponse personnalisée
<a name="auth-lambda-response"></a>

Vous pouvez utiliser des répertoires logiques dotés d'une fonction Lambda qui se connecte à votre fournisseur d'identité personnalisé. Pour ce faire, dans votre fonction Lambda, vous spécifiez les `Target` valeurs `HomeDirectoryType` as**LOGICAL**, add `Entry` et pour le `HomeDirectoryDetails` paramètre. Par exemple :

```
HomeDirectoryType: "LOGICAL"
HomeDirectoryDetails: "[{\"Entry\": \"/\", \"Target\": \"/amzn-s3-demo-bucket/theRealFolder"}]"
```

Le code suivant est un exemple de réponse réussie à un appel d'authentification Lambda personnalisé. 

```
aws transfer test-identity-provider \
    --server-id s-1234567890abcdef0 \
    --user-name myuser
{
    "Url": "https://a1b2c3d4e5.execute-api.us-east-2.amazonaws.com/prod/servers/s-1234567890abcdef0/users/myuser/config", 
    "Message": "", 
    "Response": "{\"Role\": \"arn:aws:iam::123456789012:role/bob-usa-role\",
                  \"HomeDirectoryType\": \"LOGICAL\",
                  \"HomeDirectoryDetails\": \"[{\\\"Entry\\\":\\\"/myhome\\\",\\\"Target\\\":\\\"/amzn-s3-demo-bucket/theRealFolder\\\"}]\",
                  \"PublicKeys\": \"[ssh-rsa myrsapubkey]\"}", 
    "StatusCode": 200
}
```

**Note**  
La `"Url":` ligne n'est renvoyée que si vous utilisez une méthode API Gateway comme fournisseur d'identité personnalisé.

# Accédez à vos systèmes de fichiers FSx for NetApp ONTAP avec Transfer Family
<a name="fsx-s3-access-points"></a>



**Contents**
+ [Présentation de](#fsx-overview)
+ [Conditions préalables](#fsx-prerequisites)
  + [FSx pour les exigences de NetApp l'ONTAP](#fsx-ontap-requirements)
  + [Autorisations IAM requises](#required-iam-permissions)
+ [Comment fonctionne FSx le stockage avec Transfer Family](#how-fsx-storage-works)
  + [Identité de l'utilisateur du système de fichiers](#file-system-user-identity)
+ [Création d'un point d'accès S3 pour FSx](#creating-s3-access-point)
  + [Désignation des points d'accès](#access-point-naming)
  + [Création d'un point d'accès FSx pour NetApp ONTAP](#creating-access-point-ontap)
  + [Configuration des autorisations du système de fichiers](#configuring-file-system-permissions)
+ [Utilisation d'alias de point d'accès S3 avec FSx](#using-s3-access-point-aliases)
  + [À propos des alias de point d'accès](#about-access-point-aliases)
  + [Trouver l'alias de votre point d'accès](#finding-access-point-alias)
+ [Configuration de Transfer Family pour le FSx stockage](#configuring-transfer-family-fsx)
  + [Création d’un rôle IAM](#creating-iam-role-fsx)
+ [Gestion des utilisateurs pour le FSx stockage](#managing-users-fsx)
  + [Création d’un utilisateur](#creating-user-fsx)
  + [Configuration de mappages de répertoires multiples](#multiple-directory-mappings)
+ [Configuration des clients de transfert de fichiers](#configuring-file-transfer-clients)
  + [Configuration de WinSCP](#winscp-configuration)
  + [Autres clients SFTP](#other-sftp-clients)
+ [Résolution des problèmes FSx de stockage](#troubleshooting-fsx-storage)
  + [Problèmes liés au fonctionnement des fichiers](#file-operation-issues)

## Présentation de
<a name="fsx-overview"></a>

Transfer Family prend en charge Amazon FSx for NetApp ONTAP via les points d'accès S3. Amazon FSx for NetApp ONTAP est un service entièrement géré qui fournit un stockage de fichiers extrêmement fiable, évolutif, performant et riche en fonctionnalités, basé sur NetApp le célèbre système de fichiers ONTAP. Lorsque vous configurez Transfer Family avec un système de FSx fichiers, vos utilisateurs se connectent aux points de terminaison Transfer Family à l'aide de clients de transfert de fichiers standard. Transfer Family achemine les opérations sur les fichiers via un point d'accès S3 connecté à votre FSx volume, tandis que vos données restent sur le système de FSx fichiers. Pour en savoir plus sur FSx NetApp ONTAP, consultez [Qu'est-ce qu'Amazon FSx pour NetApp ONTAP](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/what-is-fsx-ontap.html) ?

Cette intégration vous permet de :
+ Transférez des fichiers à l'aide des protocoles SFTP, FTPS ou FTP vers un système de stockage de fichiers adapté aux entreprises
+ Accédez aux mêmes données via plusieurs protocoles (SFTP, NFS, SMB)
+ Utilisez FSx des fonctionnalités telles que les instantanés, les sauvegardes et la hiérarchisation des données

**Important**  
Certaines opérations sur les fichiers ne sont pas prises en charge lors de l'utilisation de systèmes de FSx fichiers avec Transfer Family, notamment les opérations de renommage et d'ajout. Pour les opérations de téléchargement, la taille des fichiers est limitée à 5 Go. Pour une liste complète des limitations, consultez la section [Compatibilité des points d'accès](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/access-points-for-fsxn-object-api-support.html).

## Conditions préalables
<a name="fsx-prerequisites"></a>

Avant de configurer Transfer Family avec Amazon FSx, vous devez satisfaire aux exigences suivantes.

### FSx pour les exigences de NetApp l'ONTAP
<a name="fsx-ontap-requirements"></a>

 FSx Pour utiliser NetApp ONTAP avec Transfer Family, vous devez :
+ Et FSx pour le système de fichiers NetApp ONTAP exécutant ONTAP version 9.17.1 ou ultérieure
+ Le système de fichiers et le point d'accès S3 dans la même AWS région
+ Le même AWS compte possédant à la fois le système de fichiers et le point d'accès

Pour en savoir plus, consultez [Getting started with Amazon FSx for NetApp ONTAP](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/getting-started.html).

### Autorisations IAM requises
<a name="required-iam-permissions"></a>

Vous pouvez configurer chaque point d'accès S3 avec des autorisations et des contrôles réseau distincts que S3 applique à toute demande effectuée à l'aide de ce point d'accès. Les points d'accès S3 prennent en charge les politiques de ressources IAM que vous pouvez utiliser pour contrôler l'utilisation du point d'accès par ressource, par utilisateur ou selon d'autres conditions. Pour qu'une application ou un utilisateur puisse accéder à des fichiers via un point d'accès, le point d'accès et le volume sous-jacent doivent autoriser la demande. Pour plus d'informations, consultez la section [Politiques des points d'accès IAM](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/s3-ap-manage-access-fsxn.html).

Les points d'accès Amazon S3 FSx utilisent un modèle d'autorisation à double couche qui combine les autorisations IAM avec les autorisations au niveau du système de fichiers. Cette approche garantit que les demandes d'accès aux données sont correctement autorisées à la fois au niveau du AWS service et au niveau du système de fichiers sous-jacent.

Pour qu'une application ou un utilisateur puisse accéder aux données via un point d'accès, la politique du point d'accès S3 et le FSx volume sous-jacent doivent autoriser la demande.

Pour créer et configurer cette intégration, vous devez disposer des autorisations suivantes :
+ `fsx:CreateAndAttachS3AccessPoint`
+ `s3:CreateAccessPoint`
+ `s3:GetAccessPoint`
+ `s3:PutAccessPointPolicy`(si vous créez une politique de point d'accès facultative)

## Comment fonctionne FSx le stockage avec Transfer Family
<a name="how-fsx-storage-works"></a>

Lorsque vous configurez Transfer Family avec un système de FSx fichiers, les composants suivants fonctionnent ensemble pour permettre les transferts de fichiers :

1. Un utilisateur se connecte au serveur Transfer Family à l'aide d'un client SFTP, FTPS ou FTP.

1. Transfer Family authentifie l'utilisateur à l'aide d'identités gérées par le service, d'un fournisseur d'identité personnalisé ou. AWS Directory Service for Microsoft Active Directory Une fois authentifié, Transfer Family assume le rôle IAM associé à l'utilisateur.

1. Pour chaque opération sur un fichier, Transfer Family agit comme un client API S3 standard, en envoyant des demandes au point d'accès S3 en utilisant le rôle IAM assumé par l'utilisateur et en vérifiant les autorisations par rapport à la politique du point d'accès S3.

1. Le système de FSx fichiers vérifie que l'utilisateur du système de fichiers associé au point d'accès est autorisé à effectuer l'opération demandée. L'opération sur le fichier est ensuite exécutée sur le FSx volume.

Pour qu'une opération sur un fichier réussisse, les deux couches d'autorisation doivent autoriser la demande.

**Note**  
L'attachement d'un point d'accès S3 à un FSx volume ne modifie pas le comportement du volume en cas d'accès direct via NFS ou SMB. L'accès au protocole de fichier existant continue de fonctionner sans modification.

### Identité de l'utilisateur du système de fichiers
<a name="file-system-user-identity"></a>

Chaque point d'accès utilise une identité d'utilisateur du système de fichiers que vous spécifiez lors de la création du point d'accès. Cette identité autorise toutes les demandes d'accès aux fichiers effectuées via ce point d'accès. L'utilisateur du système de fichiers est un compte utilisateur sur le système de FSx fichiers Amazon sous-jacent. Si l'utilisateur du système de fichiers dispose d'un accès en lecture seule, seules les demandes de lecture effectuées via le point d'accès sont autorisées et les demandes d'écriture sont bloquées. Si l'utilisateur du système de fichiers dispose d'un accès en lecture-écriture, les demandes de lecture et d'écriture adressées au volume attaché à l'aide du point d'accès sont autorisées.

## Création d'un point d'accès S3 pour FSx
<a name="creating-s3-access-point"></a>

Avant de configurer Transfer Family, vous devez créer un point d'accès S3 connecté à votre FSx volume. Les points d'accès S3 sont appelés points de terminaison réseau attachés à une source de données telle qu'un bucket ou un volume Amazon FSx for ONTAP. Vous pouvez créer et associer un point d'accès à un FSx pour NetApp ONTAP à l'aide de la FSx console, de la AWS CLI ou de l'API Amazon. Une fois attaché, vous pouvez utiliser l'objet S3 APIs pour accéder aux données de votre fichier. Vos données continuent de résider dans le système de FSx fichiers Amazon et d'être directement accessibles pour vos charges de travail existantes. Vous continuez à gérer votre stockage en utilisant toutes les fonctionnalités de gestion du stockage FSx d' NetApp ONTAP, notamment les sauvegardes, les instantanés, les quotas d'utilisateurs et de groupes et la compression.

Pour plus d’informations, consultez [Création de points d’accès](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/create-access-points.html).

### Désignation des points d'accès
<a name="access-point-naming"></a>

Lorsque vous nommez votre point d'accès, suivez les instructions suivantes :
+ Les noms des points d'accès doivent être uniques au sein de votre AWS compte et de votre région.
+ Les noms ne peuvent pas se terminer par `-ext-s3alias` (réservés aux alias).
+ Évitez d'inclure des informations sensibles dans les noms, car elles sont publiées dans le DNS.

Pour une liste complète des règles de dénomination, voir [Règles de dénomination, restrictions et limitations des points d'accès](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/access-point-for-fsxn-restrictions-limitations-naming-rules.html).

### Création d'un point d'accès FSx pour NetApp ONTAP
<a name="creating-access-point-ontap"></a>

Utilisez la procédure suivante pour créer un point d'accès S3 pour un volume FSx for NetApp ONTAP.

**Pour créer un point d'accès (console)**

1. Ouvrez la FSx console Amazon à l'adresse [https://console.aws.amazon.com/fsx/](https://console.aws.amazon.com/fsx/).

1. Dans le volet de navigation, sélectionnez **Systèmes de fichiers**.

1. Choisissez votre système de fichiers FSx pour NetApp ONTAP.

1. Choisissez l'onglet **Volumes**.

1. Sélectionnez le volume que vous souhaitez associer.

1. Pour **Actions**, choisissez **Create S3 access point**.

1. Pour **Nom du point d'accès**, entrez un nom descriptif (par exemple,`transfer-family-ap`).

1. Pour **le type d'identité utilisateur du système de fichiers**, choisissez l'une des options suivantes :
   + **Identité UNIX** : pour les volumes dotés d'un style de sécurité UNIX
   + **Identité Windows** : pour les volumes dotés d'un style de sécurité NTFS

1. (Facultatif) Pour la **politique de point d'accès**, entrez une stratégie IAM qui définit quels principaux IAM peuvent effectuer quelles opérations sur les objets accessibles via ce point d'accès. Pour plus d'informations, consultez la section [Gestion de l'accès aux points d'accès](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/s3-ap-manage-access-fsxn.html).

1. Choisissez **Créer**.

1. Après la création, notez l'alias du point d'accès à utiliser dans la configuration de Transfer Family.

**Note**  
Lorsque vous AWS Transfer Family accédez aux ressources S3 pour le compte de vos SFTP/FTPS utilisateurs connectés, les demandes proviennent de AWS Transfer Family l'infrastructure et non de votre VPC. De ce fait, les points d'accès S3 configurés avec une origine de réseau VPC rejetteront ces demandes. Cependant, même si vous utilisez un point d'accès configuré avec une origine de réseau Internet, tout le trafic entre Transfer Family et le point d'accès reste privé et passe par AWS le réseau principal ; il ne traverse pas l'Internet public.

### Configuration des autorisations du système de fichiers
<a name="configuring-file-system-permissions"></a>

L'utilisateur du système de fichiers que vous spécifiez détermine les opérations que les utilisateurs de Transfer Family peuvent effectuer. Vous devez configurer les autorisations appropriées sur votre FSx volume.

**Exemple UNIX :**

```
# Create a directory for Transfer Family users
mkdir -p /vol1/transfer-users

# Set ownership to match the access point user
chown 1001:1001 /vol1/transfer-users

# Set permissions
chmod 755 /vol1/transfer-users
```

**Exemple Windows :**

```
# Create a directory for Transfer Family users
New-Item -Path "D:\vol1\transfer-users" -ItemType Directory

# Set permissions for the file system user associated with the access point
# Replace DOMAIN\TransferUser with your Windows user identity
icacls "D:\vol1\transfer-users" /grant "DOMAIN\TransferUser:(OI)(CI)M" /T

# Verify permissions
icacls "D:\vol1\transfer-users"
```

## Utilisation d'alias de point d'accès S3 avec FSx
<a name="using-s3-access-point-aliases"></a>

Lorsque vous utilisez des systèmes de FSx fichiers avec Transfer Family, vous devez utiliser des alias de point d'accès S3. Transfer Family ne prend pas en charge l'utilisation de points d'accès ARNs ou d'autres méthodes de référence pour le FSx stockage.

**Important**  
AWS Transfer Family ne prend en charge les alias de point d'accès S3 que lors de l'utilisation de systèmes de FSx fichiers. Vous ne pouvez pas utiliser le point d'accès ARNs ou virtual-hosted-style URIs.

**Important**  
Le point d'accès doit se trouver dans la même région que le volume.

### À propos des alias de point d'accès
<a name="about-access-point-aliases"></a>

Lorsque vous créez un point d'accès S3 attaché à un FSx volume, Amazon S3 génère automatiquement un alias de point d'accès. Cet alias est un identifiant unique que vous pouvez utiliser partout où vous utilisez un nom de compartiment S3.

Pour les points d'accès attachés à FSx des volumes, l'alias utilise le format suivant :

```
access-point-name-metadata-ext-s3alias
```

**Exemple d'alias :**

```
my-fsx-ap-aqfqprnstn7aefdfbarligizwgyfouse1a-ext-s3alias
```

**Note**  
Le `-ext-s3alias` suffixe est réservé aux alias des points FSx d'accès. Vous ne pouvez pas utiliser ce suffixe dans les noms de points d'accès.

### Trouver l'alias de votre point d'accès
<a name="finding-access-point-alias"></a>

Vous pouvez trouver l'alias du point d'accès après avoir créé le point d'accès.

**Pour trouver l'alias du point d'accès (console)**

1. Ouvrez la FSx console Amazon à l'adresse [https://console.aws.amazon.com/fsx/](https://console.aws.amazon.com/fsx/).

1. Dans le volet de navigation, sélectionnez **Systèmes de fichiers**.

1. Choisissez votre système de fichiers.

1. Choisissez l'onglet **Volumes** et sélectionnez le volume pour lequel vous avez créé le point d'accès.

1. Accédez à la colonne des **détails du point d'accès S3**.

1. L'alias est affiché dans la colonne **Alias**.

**Pour trouver l'alias du point d'accès (CLI)**

Utilisez la commande `describe-s3-access-point-attachments`.

```
aws fsx describe-s3-access-point-attachments \
    --filters Name=file-system-id,Values=fs-0123456789abcdef0
```

La réponse inclut l'alias :

```
{
    "S3AccessPointAttachments": [
        {
            "S3AccessPoint": {
                "ResourceARN": "arn:aws:s3:us-east-1:111122223333:accesspoint/my-fsx-ap",
                "Alias": "my-fsx-ap-aqfqprnstn7aefdfbarligizwgyfouse1a-ext-s3alias"
            }
        }
    ]
}
```

Lorsque vous configurez les utilisateurs de Transfer Family, utilisez l'alias du point d'accès dans les mappages du répertoire de base.

**Format du répertoire de base :**

```
/access-point-alias/path/to/directory
```

**Exemple :**

```
/my-fsx-ap-aqfqprnstn7aefdfbarligizwgyfouse1a-ext-s3alias/users/jsmith
```

## Configuration de Transfer Family pour le FSx stockage
<a name="configuring-transfer-family-fsx"></a>

Après avoir créé le point d'accès S3, configurez un serveur Transfer Family pour l'utiliser.

### Création d’un rôle IAM
<a name="creating-iam-role-fsx"></a>

Vous devez créer un rôle IAM qui accorde à Transfer Family l'accès au point d'accès S3.

**Important**  
Les politiques IAM nécessitent le format ARN du point d'accès, et non l'alias. Utilisez le format `arn:aws:s3:region:account-id:accesspoint/access-point-name` dans vos déclarations de ressources de politique IAM. L'alias du point d'accès (se terminant par`-ext-s3alias`) est uniquement utilisé pour les mappages de répertoires personnels.

**Pour créer le rôle IAM**

1. Ouvrez la console IAM à l’adresse [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Dans le volet de navigation, choisissez **Rôles**, puis **Create role**.

1. Pour **Type d’entité de confiance**, choisissez **Service AWS **.

1. Pour **Cas d'utilisation**, choisissez **Transférer**.

1. Choisissez **Suivant**.

1. Choisissez **Créer une politique** et saisissez votre politique (voir exemple de politique ci-dessous).

1. Attachez la politique au rôle et choisissez **Create role**.

**Exemple de politique IAM :**

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowFileOperations",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:DeleteObject",
                "s3:GetObjectTagging",
                "s3:PutObjectTagging"
            ],
            "Resource": "arn:aws:s3:us-east-2:111122223333:accesspoint/my-fsx-ap/object/*"
        },
        {
            "Sid": "AllowDirectoryOperations",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:GetBucketLocation"
            ],
            "Resource": "arn:aws:s3:us-east-2:111122223333:accesspoint/my-fsx-ap"
        }
    ]
}
```

## Gestion des utilisateurs pour le FSx stockage
<a name="managing-users-fsx"></a>

Créez des utilisateurs Transfer Family avec des mappages de répertoire de base utilisant l'alias du point d'accès S3.

### Création d’un utilisateur
<a name="creating-user-fsx"></a>

Lorsque vous créez un utilisateur pour le FSx stockage, utilisez l'alias du point d'accès dans les mappages du répertoire de base.

**Pour créer un utilisateur géré par le service (console)**

1. Ouvrez la AWS Transfer Family console à l'adresse [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

1. Dans le volet de navigation, choisissez **Servers (Serveurs)**.

1. Choisissez votre serveur.

1. Dans la section Utilisateurs, choisissez **Ajouter un utilisateur**.

1. Dans **Nom d'utilisateur**, entrez un nom d'utilisateur.

1. Pour **Rôle**, choisissez le rôle IAM que vous avez créé.

1. Pour le **répertoire personnel**, choisissez **Restreint**.

1. Pour les **mappages du répertoire de base**, ajoutez un mappage à l'aide de l'alias du point d'accès :

   ```
   [{"Entry": "/", "Target": "/my-fsx-ap-aqfqprnstn7aefdfbarligizwgyfouse1a-ext-s3alias/users/jsmith"}]
   ```

**Pour créer un utilisateur (CLI)**

Utilisez la commande `create-user`. Remplacez l'alias du point d'accès par votre alias.

```
aws transfer create-user \
    --server-id s-0123456789abcdef0 \
    --user-name jsmith \
    --role arn:aws:iam::111122223333:role/TransferFamilyFSxRole \
    --home-directory-type LOGICAL \
    --home-directory-mappings '[
        {
            "Entry": "/",
            "Target": "/my-fsx-ap-aqfqprnstn7aefdfbarligizwgyfouse1a-ext-s3alias/users/jsmith"
        }
    ]'
```

### Configuration de mappages de répertoires multiples
<a name="multiple-directory-mappings"></a>

Vous pouvez mapper plusieurs répertoires virtuels vers différents chemins du FSx volume.

**Exemple : répertoires de chargement et de téléchargement séparés**

```
aws transfer create-user \
    --server-id s-0123456789abcdef0 \
    --user-name jsmith \
    --role arn:aws:iam::111122223333:role/TransferFamilyFSxRole \
    --home-directory-type LOGICAL \
    --home-directory-mappings '[
        {
            "Entry": "/inbox",
            "Target": "/my-fsx-ap-aqfqprnstn7aefdfbarligizwgyfouse1a-ext-s3alias/users/jsmith/inbox"
        },
        {
            "Entry": "/outbox",
            "Target": "/my-fsx-ap-aqfqprnstn7aefdfbarligizwgyfouse1a-ext-s3alias/users/jsmith/outbox"
        }
    ]'
```

## Configuration des clients de transfert de fichiers
<a name="configuring-file-transfer-clients"></a>

Lorsque vous utilisez des systèmes de FSx fichiers avec Transfer Family, vous devez configurer vos clients de transfert de fichiers pour désactiver les fonctionnalités non prises en charge.

### Configuration de WinSCP
<a name="winscp-configuration"></a>

WinSCP utilise par défaut une fonctionnalité de renommage temporaire qui n'est pas prise en charge par les points d'accès S3 pour. FSx

**Avertissement**  
Si vous ne désactivez pas la fonction de renommage temporaire dans WinSCP, les téléchargements de fichiers échoueront.

**Pour désactiver le renommage temporaire dans WinSCP**

1. Ouvrez WinSCP.

1. Dans la boîte de dialogue de connexion, choisissez **Modifier** pour modifier les paramètres de votre session.

1. Choisir **Advanced** (Avancé).

1. Dans le menu de navigation de gauche, sous **Transfert**, sélectionnez **Endurance**.

1. Pour **Activer le transfert resume/transfer vers un nom de fichier temporaire**, choisissez **Désactiver**.

1. Cliquez **sur OK** pour enregistrer les paramètres.

Vous pouvez également désactiver ce paramètre pour une session existante :

1. Connectez-vous à votre serveur Transfer Family.

1. Choisissez **Options**, puis **Préférences**.

1. Choisissez **Transfer**, puis **Endurance**.

1. Pour **Activer le transfert resume/transfer vers un nom de fichier temporaire**, choisissez **Désactiver**.

1. Choisissez **OK**.

### Autres clients SFTP
<a name="other-sftp-clients"></a>

Pour les autres clients SFTP, désactivez les fonctionnalités suivantes si elles sont disponibles :
+ Chargements de fichiers temporaires (téléchargement vers un fichier temporaire, puis renommage)
+ Reprendre les transferts à l'aide de fichiers temporaires
+ Téléversements atomiques à l'aide d'opérations de renommage
+ Mode d'ajout pour les téléchargements

Consultez la documentation de votre client pour connaître les étapes de configuration spécifiques.

## Résolution des problèmes FSx de stockage
<a name="troubleshooting-fsx-storage"></a>

Cette section explique comment identifier et résoudre les problèmes courants liés à l'utilisation de Transfer Family avec des systèmes de FSx fichiers.

### Problèmes liés au fonctionnement des fichiers
<a name="file-operation-issues"></a>

**Autorisation refusée**

Si vous recevez des messages d'erreur relatifs à l'autorisation refusée :

1. Vérifiez que le rôle IAM dispose des autorisations appropriées pour l'alias du point d'accès. Vous pouvez le faire en testant directement avec S3 APIs.

1. Vérifiez que la politique de point d'accès autorise le rôle IAM.

1. Vérifiez que l'utilisateur du système de fichiers dispose d'autorisations sur le chemin cible.

1. Vérifiez que le mappage du répertoire de base utilise le bon alias de point d'accès.

**Le téléchargement échoue avec WinSCP**

Si les téléchargements de fichiers échouent avec WinSCP, désactivez le renommage temporaire :

1. **Dans WinSCP, **choisissez Options, puis Préférences**.**

1. Choisissez **Transfer**, puis **Endurance**.

1. Pour **Activer le transfert resume/transfer vers un nom de fichier temporaire**, choisissez **Désactiver**.

Pour de plus amples informations, veuillez consulter [Configuration des clients de transfert de fichiers](#configuring-file-transfer-clients).

**Le téléchargement du fichier échoue**

Si le téléchargement de fichiers échoue :

1. Vérifiez que la taille du fichier est inférieure à 5 Go.

1. Vérifiez que le FSx volume dispose d'une capacité de stockage suffisante.

1. Surveillez CloudWatch les mesures de régulation.