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 et utilisation des connecteurs SFTP
L'objectif d'un connecteur est d'établir une relation entre votre système AWS de stockage et le serveur SFTP d'un partenaire. Vous pouvez envoyer des fichiers depuis Amazon S3 vers une destination externe appartenant à un partenaire. Vous pouvez également utiliser un connecteur SFTP pour récupérer des fichiers depuis le serveur SFTP d'un partenaire.
Ce didacticiel explique comment configurer un connecteur SFTP avec des types de sortie gérés par le service et VPC_LATTICE, puis transférer des fichiers entre le stockage Amazon S3 et un serveur SFTP.
Un connecteur SFTP récupère les informations d'identification SFTP AWS Secrets Manager pour s'authentifier sur un serveur SFTP distant et établir une connexion. Le connecteur envoie des fichiers au serveur distant ou en extrait des fichiers, puis les stocke dans Amazon S3. Vous pouvez choisir entre une sortie gérée par service (à l'aide d'une infrastructure AWS gérée) ou une sortie VPC (routage via votre VPC à l'aide d'un accès aux ressources inter-VPC). Un rôle IAM est utilisé pour autoriser l'accès au compartiment Amazon S3 et aux informations d'identification stockées dans Secrets Manager. Et vous pouvez vous connecter à Amazon CloudWatch.
Le billet de blog suivant fournit une architecture de référence pour créer un flux de travail MFT à l'aide de connecteurs SFTP, y compris le chiffrement de fichiers à l'aide de PGP avant de les envoyer à un serveur SFTP distant à l'aide de connecteurs SFTP : Architecture de transferts de fichiers gérés sécurisés et conformes avec AWS Transfer Family les connecteurs SFTP et
Types de sorties de connecteurs
Les connecteurs SFTP prennent en charge deux types de sortie qui déterminent la manière dont votre connecteur achemine le trafic vers les serveurs SFTP distants :
-
SERVICE_MANAGED (par défaut) : utilise l'infrastructure gérée par AWS Transfer Family avec des adresses IP statiques pour les connexions sortantes.
-
VPC : achemine le trafic via votre VPC à l'aide de l'accès aux ressources inter-VPC, permettant ainsi la connectivité des points de terminaison privés et l'utilisation de vos propres passerelles NAT.
Ce didacticiel couvre les deux types de sortie. Choisissez le type de sortie VPC lorsque vous devez :
-
Connectez-vous à des serveurs SFTP privés dans votre VPC (adresses IP privées)
-
Connectez-vous aux serveurs SFTP locaux via Direct Connect ou VPN
-
Acheminez le trafic des points de terminaison publics via votre VPC pour les contrôles de sécurité
-
Utilisez vos propres adresses IP élastiques pour les connexions sortantes
Rubriques
Étape 1 : créer les ressources de soutien nécessaires
Vous pouvez utiliser des connecteurs SFTP pour copier des fichiers entre Amazon S3 et n'importe quel serveur SFTP distant. Pour ce didacticiel, nous utilisons un AWS Transfer Family serveur comme serveur SFTP distant. Nous devons créer et configurer les ressources suivantes :
-
Créez des compartiments Amazon S3 pour stocker des fichiers dans votre AWS environnement, et pour envoyer et récupérer des fichiers depuis le serveur SFTP distant :. Création de compartiments Amazon S3
-
Créez un AWS Identity and Access Management rôle pour accéder au stockage Amazon S3 et à notre secret dans Secrets Manager :Créez un rôle IAM avec les autorisations nécessaires.
-
Créez un serveur Transfer Family qui utilise le protocole SFTP et un utilisateur géré par le service qui utilise le connecteur SFTP pour transférer des fichiers vers ou depuis le serveur SFTP :. Création d'un serveur SFTP Transfer Family et d'un utilisateur
-
Créez un AWS Secrets Manager secret qui stocke les informations d'identification utilisées par le connecteur SFTP pour se connecter au serveur SFTP distant :. Créez et stockez un secret dans AWS Secrets Manager
Pour les connecteurs de type sortie VPC, vous avez également besoin de :
-
Un VPC doté de sous-réseaux et de groupes de sécurité appropriés
-
Une passerelle de ressources (minimum 2 zones de disponibilité requises) :Création d'une passerelle de ressources (type de sortie VPC uniquement).
-
Une configuration de ressources pointant vers votre serveur SFTP :Création d'une configuration de ressource (type de sortie VPC uniquement). Pour plus d’informations, consultez Configurations de ressources dans le Guide de l’utilisateur Amazon VPC Lattice.
Création de compartiments Amazon S3
Pour créer un compartiment Amazon S3
-
Connectez-vous à la AWS Transfer Family console à l'adresse https://console.aws.amazon.com/s3/
. -
Choisissez une région et entrez un nom.
Pour ce didacticiel, notre bucket est dedans
US East (N. Virginia) us-east-1, et son nom l'estsftp-server-storage-east. -
Acceptez les valeurs par défaut et choisissez Create bucket.
Pour en savoir plus sur la création de compartiments Amazon S3, consultez Comment créer un compartiment S3 ? dans le guide de l'utilisateur d'Amazon Simple Storage Service.
Créez un rôle IAM avec les autorisations nécessaires
Pour le rôle d'accès, créez une politique avec les autorisations suivantes.
Remplacez les éléments comme suit :
-
Car
amzn-s3-demo-bucket, le didacticiel utilisesftp-server-storage-east. -
Car
region, le didacticiel utiliseus-east-1. -
Pour
account-id, utilisez votre Compte AWS identifiant. -
Car
SecretName-6RandomCharactersnous sommes làusing sftp-connector1pour le nom (vous aurez vos propres six caractères aléatoires pour votre secret).
Vous devez également vous assurer que ce rôle contient une relation de confiance qui permet au connecteur d'accéder à vos ressources lorsqu'il répond aux demandes de transfert de vos utilisateurs. Pour plus de détails sur l'établissement d'une relation de confiance, voirÉtape 1 : Établir une relation d'approbation.
Note
Pour en savoir plus sur le rôle que nous utilisons dans le didacticiel, consultezUtilisateur et rôle d'accès combinés.
Créez et stockez un secret dans AWS Secrets Manager
Nous devons enregistrer un secret dans Secrets Manager afin de stocker les informations d'identification utilisateur de votre connecteur SFTP. Vous pouvez utiliser un mot de passe, une clé privée SSH ou les deux. Pour le didacticiel, nous utilisons une clé privée.
Note
Lorsque vous stockez des secrets dans Secrets Manager, des frais Compte AWS vous sont facturés. Pour plus d’informations sur la tarification, consultez la section AWS Secrets Manager Tarification
Avant de commencer la procédure de stockage du secret, récupérez et formatez votre clé privée. La clé privée doit correspondre à la clé publique configurée pour l'utilisateur sur le serveur SFTP distant. Pour notre tutoriel, la clé privée doit correspondre à la clé publique qui est stockée pour notre utilisateur de test sur le serveur SFTP Transfer Family que nous utilisons comme serveur distant.
Pour ce faire, exécutez la commande suivante :
jq -sR .path-to-private-key-file
Par exemple, si votre fichier de clé privée se trouve dans~/.ssh/sftp-testuser-privatekey, la commande est la suivante.
jq -sR . ~/.ssh/sftp-testuser-privatekey
Cela affiche la clé dans le format correct (avec des caractères de nouvelle ligne intégrés) sur la sortie standard. Copiez ce texte quelque part, car vous devez le coller dans la procédure suivante (étape 6).
Pour stocker les informations d'identification de l'utilisateur dans Secrets Manager pour un connecteur SFTP
-
Connectez-vous à la AWS Secrets Manager console AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/secretsmanager/
. -
Dans le panneau de navigation de gauche, choisissez Secrets.
-
Sur la page Secrets, choisissez Enregistrer un nouveau secret.
-
Sur la page Choisir un type de secret, pour Type de secret, choisissez Autre type de secret.
-
Dans la section Paires clé/valeur, choisissez l'onglet clé/valeur.
-
Clé — Entrée
Username. -
valeur — Entrez le nom de notre utilisateur,
sftp-testuser.
-
-
Pour saisir la clé, nous vous recommandons d'utiliser l'onglet Texte en clair.
-
Choisissez Ajouter une ligne, puis entrez
PrivateKey. -
Choisissez l'onglet Plaintext. Le champ contient désormais le texte suivant :
{"Username":"sftp-testuser","PrivateKey":""} -
Collez le texte de votre clé privée (enregistré précédemment) entre guillemets vides (« »).
Votre écran doit se présenter comme suit (les données clés sont grisées).
-
-
Choisissez Suivant.
-
Sur la page Configurer le secret, entrez le nom de votre secret. Pour ce didacticiel, nous nommons le secret
aws/transfer/sftp-connector1. -
Choisissez Next, puis acceptez les valeurs par défaut sur la page Configurer la rotation. Ensuite, sélectionnez Suivant.
-
Sur la page Révision, choisissez Store pour créer et stocker le secret.
Création d'une passerelle de ressources (type de sortie VPC uniquement)
Pour les connecteurs de type sortie VPC, vous devez créer une passerelle de ressources dans votre VPC. La passerelle de ressources sert de point d'entrée pour l'accès aux ressources entre VPC.
Pour créer une passerelle de ressources
-
Exécutez la commande suivante pour créer une passerelle de ressources (remplacez l'ID VPC et le sous-réseau IDs par vos valeurs) :
aws vpc-lattice create-resource-gateway \ --name my-sftp-resource-gateway \ --vpc-identifier vpc-12345678 \ --subnet-ids subnet-12345678 subnet-87654321Note
Les passerelles de ressources nécessitent des sous-réseaux dans au moins 2 zones de disponibilité.
-
Notez l'ID de passerelle de ressources indiqué dans la réponse à utiliser à l'étape suivante.
Création d'une configuration de ressource (type de sortie VPC uniquement)
Créez une configuration de ressources qui pointe vers votre serveur SFTP. Il peut s'agir d'une adresse IP privée pour les serveurs de votre VPC ou d'un nom DNS public pour les serveurs externes. Pour plus d'informations sur les configurations des ressources, consultez la section Configurations des ressources dans le guide de l'utilisateur Amazon VPC Lattice.
Pour créer une configuration de ressources
-
Pour un serveur SFTP privé, exécutez :
aws vpc-lattice create-resource-configuration \ --name my-sftp-resource-config \ --port-ranges 22 \ --type SINGLE \ --resource-gateway-identifier rgw-12345678 \ --resource-configuration-definition ipResource={ipAddress="10.0.1.100"} -
Pour un serveur SFTP public (nom DNS uniquement), exécutez :
aws vpc-lattice create-resource-configuration \ --name my-public-sftp-resource-config \ --port-ranges 22 \ --type SINGLE \ --resource-gateway-identifier rgw-12345678 \ --resource-configuration-definition dnsResource={domainName="sftp.example.com"}Note
Les points de terminaison publics doivent utiliser des noms DNS et non des adresses IP.
-
Notez l'ARN de configuration des ressources indiqué dans la réponse à utiliser lors de la création du connecteur.
Étape 2 : créer et tester un connecteur SFTP
Dans cette section, nous créons un connecteur SFTP qui utilise toutes les ressources que nous avons créées précédemment. Pour en savoir plus, consultez Création de connecteurs SFTP.
Pour créer un connecteur SFTP
-
Ouvrez la AWS Transfer Family console à l'adresse https://console.aws.amazon.com/transfer/
. -
Dans le volet de navigation de gauche, choisissez SFTP Connectors, puis Create SFTP connector.
-
Pour le type de sortie, choisissez l'une des options suivantes :
-
Service géré (par défaut) : utilise l'infrastructure gérée par AWS Transfer Family avec des adresses IP statiques pour les connexions sortantes.
-
Réseau VPC : achemine le trafic via votre VPC à l'aide de l'accès aux ressources inter-VPC. Choisissez cette option pour la connectivité des terminaux privés ou pour utiliser vos propres passerelles NAT.
Important
Vous ne pouvez pas modifier le type de sortie après avoir créé le connecteur. Choisissez avec soin en fonction de vos besoins en matière de connectivité.
-
-
Dans la section Configuration du connecteur, fournissez les informations suivantes :
-
Pour l'URL, entrez l'URL du serveur SFTP distant. Pour le didacticiel, nous saisissons l'URL du serveur Transfer Family que nous utilisons comme serveur SFTP distant.
sftp://s-1111aaaa2222bbbb3.server---transfer---us-east-1.amazonaws.com.rproxy.govskope.ca1111aaaa2222bbbb3Remplacez-le par votre identifiant de serveur Transfer Family. -
Pour le rôle Access, entrez le rôle que nous avons créé précédemment,
sftp-connector-role. -
Pour l'ARN de configuration des ressources (type de sortie VPC Lattice uniquement), entrez l'ARN de la configuration des ressources que vous avez créée précédemment :
arn:aws:vpc-lattice:us-east-1:account-id:resourceconfiguration/rcfg-12345678 -
Pour le rôle Logging, choisissez un rôle qui inclut une politique de confiance
transfer.amazonaws.com.rproxy.govskope.cadans l'élément Principal.Conseil : Outre l'ajout de Transfer Family en tant qu'entité de confiance, vous pouvez ajouter la politique AWSTransferLoggingAccess AWS gérée au rôle. Cette politique est décrite en détail dans AWSTransferLoggingAccess.
-
-
Dans la section Configuration SFTP, fournissez les informations suivantes :
-
Pour les informations d'identification du connecteur, choisissez le nom de votre ressource Secrets Manager qui contient les informations d'identification SFTP. Pour le didacticiel, choisissez
aws/transfer/sftp-connector1. -
Pour les clés d'hôte fiables, collez la partie publique de la clé d'hôte. Vous pouvez récupérer cette clé en lançant
ssh-keyscanvotre commande sur votre serveur SFTP. Pour plus de détails sur le formatage et le stockage de la clé d'hôte fiable, consultez la documentation sur les types de SftpConnectorConfigdonnées. -
Pour le nombre maximal de connexions simultanées, sélectionnez une valeur entière comprise entre 1 et 5 : la valeur par défaut est 5.
-
-
Après avoir confirmé tous vos paramètres, choisissez Create connector pour créer le connecteur SFTP.
Vous pouvez également créer des connecteurs à l'aide du AWS Command Line Interface.
-
Pour créer un connecteur SFTP avec une sortie gérée par service, exécutez la commande suivante :
aws transfer create-connector \ --url "sftp://s-1111aaaa2222bbbb3.server.transfer.us-east-1.amazonaws.com" \ --access-role "arn:aws::iam::account-id:role/sftp-connector-role" \ --sftp-config UserSecretId="aws/transfer/sftp-connector1",TrustedHostKeys="ssh-rsa AAAAB3NzaC..." -
Pour créer un connecteur SFTP avec une sortie basée sur VPC, exécutez la commande suivante :
aws transfer create-connector \ --url "sftp://my.sftp.server.com:22" \ --access-role "arn:aws::iam::account-id:role/sftp-connector-role" \ --sftp-config UserSecretId="aws/transfer/sftp-connector1",TrustedHostKeys="ssh-rsa AAAAB3NzaC..." \ --egress-config VpcLattice={ResourceConfigurationArn="arn:aws:vpc-lattice:us-east-1:account-id:resourceconfiguration/rcfg-12345678",PortNumber=22}
Après avoir créé un connecteur SFTP, nous vous recommandons de le tester avant de tenter de transférer des fichiers à l'aide de votre nouveau connecteur.
Note
Pour les connecteurs de type sortie VPC, la résolution DNS peut prendre plusieurs minutes après la création. Pendant ce temps, l'état du connecteur sera PENDING et TestConnection retournera « Connecteur non disponible ». Attendez que le statut change ACTIVE avant de tenter de transférer des fichiers.
Lorsque vous décrivez un connecteur de type sortie VPC, la réponse inclut les nouveaux champs :
{ "Connector": { "AccessRole": "arn:aws:iam::219573224423:role/sftp-connector-role", "Arn": "arn:aws:transfer:us-east-1:219573224423:connector/c-5dfa309ccabf40759", "ConnectorId": "c-5dfa309ccabf40759", "Status": "ACTIVE", "EgressConfig": { "ResourceConfigurationArn": "arn:aws:vpc-lattice:us-east-1:025066256552:resourceconfiguration/rcfg-079259b27a357a190" }, "EgressType": "VPC", "ServiceManagedEgressIpAddresses": null, "SftpConfig": { "TrustedHostKeys": [ "ssh-rsa AAAAB3NzaC..." ], "UserSecretId": "aws/transfer/sftp-connector1" }, "Url": "sftp://my.sftp.server.com:22" } }
Notez que cela ServiceManagedEgressIpAddresses est nul pour les connecteurs de type sortie VPC, car le trafic passe par votre VPC plutôt que par l'infrastructure gérée. AWS
Étape 3 : Envoyer et récupérer des fichiers à l'aide du connecteur SFTP
Pour des raisons de simplicité, nous partons du principe que vous avez déjà des fichiers dans votre compartiment Amazon S3.
Note
Le didacticiel utilise des compartiments Amazon S3 pour les emplacements de stockage source et de destination. Si votre serveur SFTP n'utilise pas le stockage Amazon S3, vous pouvez remplacer le chemin par sftp-server-storage-east un chemin d'accès aux emplacements de fichiers accessibles depuis votre serveur SFTP, quel que soit l'endroit indiqué dans les commandes suivantes.
-
Nous envoyons un fichier nommé
SEND-to-SERVER.txtdepuis le stockage Amazon S3 au serveur SFTP. -
Nous récupérons un fichier nommé
RETRIEVE-to-S3.txtdepuis le serveur SFTP vers le stockage Amazon S3.
Note
Dans les commandes suivantes, remplacez par connector-id l'ID de votre connecteur.
Tout d'abord, nous envoyons un fichier depuis notre compartiment Amazon S3 vers le serveur SFTP distant. À partir d'une invite de commande, exécutez la commande suivante :
aws transfer start-file-transfer --connector-id c-connector-id--send-file-paths "/sftp-server-storage-east/SEND-to-SERVER.txt" / --remote-directory-path "/sftp-server-storage-east/incoming"
Votre sftp-server-storage-east seau devrait maintenant ressembler à ceci.
Si le fichier ne s'affiche pas comme prévu, consultez vos CloudWatch journaux.
Pour consulter vos CloudWatch journaux
-
Ouvrez la CloudWatch console Amazon à l'adresse https://console.aws.amazon.com/cloudwatch/
-
Sélectionnez Groupes de journaux dans le menu de navigation de gauche.
-
Entrez votre identifiant de connecteur dans la barre de recherche pour trouver vos journaux.
-
Sélectionnez le flux de journal renvoyé par la recherche.
-
Développez l'entrée de journal la plus récente.
En cas de succès, l'entrée dans le journal ressemble à ce qui suit :
{ "operation": "SEND", "timestamp": "2023-12-18T15:26:57.346283Z", "connector-id": "connector-id", "transfer-id": "transfer-id", "file-transfer-id": "transfer-id/file-transfer-id", "url": "sftp://server-id.server.transfer.us-east-1.amazonaws.com", "file-path": "/sftp-server-storage-east/SEND-to-SERVER.txt", "status-code": "COMPLETED", "start-time": "2023-12-18T15:26:56.915864Z", "end-time": "2023-12-18T15:26:57.298122Z", "account-id": "account-id", "connector-arn": "arn:aws:transfer:us-east-1:account-id:connector/connector-id", "remote-directory-path": "/sftp-server-storage-east/incoming" }
Si le transfert de fichier a échoué, l'entrée du journal contient un message d'erreur qui précise le problème. Les causes courantes d'erreurs sont les problèmes liés aux autorisations IAM et les chemins de fichiers incorrects.
Ensuite, nous récupérons un fichier du serveur SFTP dans un compartiment Amazon S3. À partir d'une invite de commande, exécutez la commande suivante :
aws transfer start-file-transfer --connector-id c-connector-id--retrieve-file-paths "/sftp-server-storage-east/RETRIEVE-to-S3.txt" --local-directory-path "/sftp-server-storage-east/incoming"
Si le transfert réussit, votre compartiment Amazon S3 contient le fichier transféré, comme indiqué ici.
En cas de succès, l'entrée dans le journal ressemble à ce qui suit :
{ "operation": "RETRIEVE", "timestamp": "2023-12-18T15:36:40.017800Z", "connector-id": "c-connector-id", "transfer-id": "transfer-id", "file-transfer-id": "transfer-id/file-transfer-id", "url": "sftp://s-server-id.server.transfer.us-east-1.amazonaws.com", "file-path": "/sftp-server-storage-east/RETRIEVE-to-S3.txt", "status-code": "COMPLETED", "start-time": "2023-12-18T15:36:39.727626Z", "end-time": "2023-12-18T15:36:39.895726Z", "account-id": "account-id", "connector-arn": "arn:aws:transfer:us-east-1:account-id:connector/c-connector-id", "local-directory-path": "/sftp-server-storage-east/incoming" }
Résolution des problèmes liés aux connecteurs de sortie VPC
Si vous rencontrez des problèmes avec les connecteurs de sortie VPC, vérifiez les points suivants :
-
L'état du connecteur est EN ATTENTE : la résolution DNS des connecteurs VPC peut prendre plusieurs minutes. Attendez que le statut devienne ACTIF avant de tenter de vous connecter.
-
Délais de connexion : vérifiez que les groupes de sécurité autorisent le trafic sur le port 22 entre vos sous-réseaux Resource Gateway et le serveur SFTP cible.
-
Erreurs de configuration des ressources : assurez-vous que votre configuration des ressources pointe vers la bonne adresse IP ou le bon nom DNS, et que la passerelle de ressources se trouve dans le même VPC que votre serveur SFTP (pour les points de terminaison privés). Pour plus d’informations, consultez Configurations de ressources dans le Guide de l’utilisateur Amazon VPC Lattice.
-
Problèmes liés aux points de terminaison publics : pour les points de terminaison publics, assurez-vous d'utiliser un nom DNS, et non une adresse IP, dans la configuration de vos ressources. Vérifiez que votre VPC dispose d'une passerelle NAT pour l'accès Internet sortant.
-
Disponibilité AZ : les passerelles de ressources nécessitent des sous-réseaux dans au moins 2 zones de disponibilité. Tous ne sont pas AZs compatibles avec le VPC Lattice. Vérifiez s'il est compatible AZs dans votre région.
Considérations financières relatives au type de sortie VPC :
-
VPC Lattice facture 0,006 $/Go pour le traitement des données en tant que fournisseur de ressources (facturé directement par VPC Lattice)
-
AWS Transfer Family absorbe les coûts de consommation de ressources de 0,01 $/Go (1 premier Po)
-
Pour les points de terminaison publics via VPC, des frais supplémentaires de passerelle NAT et de transfert de données peuvent s'appliquer
-
Aucun frais Transfer Family supplémentaire au-delà des frais de traitement des données standard de 0,40 $/Go
Procédures pour créer un serveur Transfer Family à utiliser comme serveur SFTP distant
Nous décrivons ci-dessous les étapes à suivre pour créer un serveur Transfer Family qui servira de serveur SFTP distant pour ce didacticiel. Notez ce qui suit :
-
Nous utilisons un serveur Transfer Family pour représenter un serveur SFTP distant. Les utilisateurs classiques d'un connecteur SFTP disposent de leur propre serveur SFTP distant. Consultez Création d'un serveur SFTP Transfer Family et d'un utilisateur.
-
Comme nous utilisons un serveur Transfer Family, nous utilisons également un utilisateur SFTP géré par service. Et, par souci de simplicité, nous avons combiné les autorisations dont cet utilisateur a besoin pour accéder au serveur Transfer Family avec les autorisations dont il a besoin pour utiliser notre connecteur. Encore une fois, la plupart des cas d'utilisation du connecteur SFTP ont un utilisateur SFTP distinct qui n'est pas associé à un serveur Transfer Family. Consultez Création d'un serveur SFTP Transfer Family et d'un utilisateur.
-
Dans le cadre du didacticiel, étant donné que nous utilisons le stockage Amazon S3 pour notre serveur SFTP distant, nous devons créer un deuxième compartiment afin de pouvoir transférer des fichiers d'un compartiment à un autre.
sftp-server-storage-east
Création d'un serveur SFTP Transfer Family et d'un utilisateur
La plupart des utilisateurs n'auront pas besoin de créer un serveur SFTP Transfer Family ni un utilisateur, car vous avez déjà un serveur SFTP avec des utilisateurs, et vous pouvez utiliser ce serveur pour transférer des fichiers depuis et vers. Cependant, pour ce didacticiel, par souci de simplicité, nous utilisons un serveur Transfer Family qui fonctionne comme serveur SFTP distant.
Suivez la procédure décrite dans Création d'un serveur compatible SFTP pour créer un serveur et Étape 3 : Ajouter un utilisateur géré par le service ajouter un utilisateur. Voici les informations utilisateur que nous utilisons pour le didacticiel :
-
Créez votre utilisateur géré par le service,.
sftp-testuser-
Définissez le répertoire de base sur
/sftp-server-storage-east/sftp-testuser -
Lorsque vous créez l'utilisateur, vous stockez une clé publique. Plus tard, lorsque vous créerez le secret dans Secrets Manager, vous devrez fournir la clé privée correspondante.
-
-
Rôle :
sftp-connector-role. Pour le didacticiel, nous utilisons le même rôle IAM pour notre utilisateur SFTP et pour accéder au connecteur SFTP. Lorsque vous créez des connecteurs pour votre organisation, vous pouvez avoir des rôles d'utilisateur et d'accès distincts. -
Clé d'hôte du serveur : vous devez utiliser la clé d'hôte du serveur lorsque vous créez le connecteur. Vous pouvez récupérer cette clé en exécutant la
ssh-keyscancommande pour votre serveur. Par exemple, si l'ID de votre serveur est présents-1111aaaa2222bbbb3et que son point de terminaison se trouveus-east-1, la commande suivante permet de récupérer la clé d'hôte du serveur :ssh-keyscan s-1111aaaa2222bbbb3---server---transfer---us-east-1.amazonaws.com.rproxy.govskope.caCopiez ce texte quelque part, car vous devez le coller dans la Étape 2 : créer et tester un connecteur SFTP procédure.
Utilisateur et rôle d'accès combinés
Pour le didacticiel, nous utilisons un seul rôle combiné. Nous utilisons ce rôle à la fois pour notre utilisateur SFTP et pour accéder au connecteur. L'exemple suivant contient les détails de ce rôle, au cas où vous souhaiteriez effectuer les tâches du didacticiel.
L'exemple suivant accorde les autorisations nécessaires pour accéder à nos deux compartiments dans Amazon S3 et au secret nommé aws/transfer/sftp-connector1 stocké dans Secrets Manager. Pour le didacticiel, ce rôle est nommésftp-connector-role.
-
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowListingOfUserFolder", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::sftp-server-storage-east", "arn:aws:s3:::sftp-server-storage-east" ] }, { "Sid": "HomeDirObjectAccess", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:GetObjectVersion", "s3:GetObjectACL", "s3:PutObjectACL" ], "Resource": [ "arn:aws:s3:::sftp-server-storage-east/*", "arn:aws:s3:::sftp-server-storage-east/*" ] }, { "Sid": "GetConnectorSecretValue", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": "arn:aws:secretsmanager:us-east-1:111122223333:secret:aws/transfer/sftp-connector1-6RandomCharacters" } ] }
Pour plus de détails sur la création de rôles pour Transfer Family, suivez la procédure décrite dans Créer un rôle d'utilisateur pour créer un rôle.