Configuration des SFTP connecteurs - AWS Transfer Family

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Configuration des SFTP connecteurs

Cette rubrique décrit comment créer des SFTP connecteurs, les algorithmes de sécurité qui leur sont associés, comment stocker un secret pour conserver les informations d'identification, les détails sur le formatage de la clé privée et les instructions pour tester vos connecteurs.

Création d'un SFTP connecteur

Cette procédure explique comment créer des SFTP connecteurs à l'aide de la AWS Transfer Family console ou AWS CLI.

Console
Pour créer un SFTP connecteur
  1. Ouvrez la AWS Transfer Family console à l'adresse https://console.aws.amazon.com/transfer/.

  2. Dans le volet de navigation de gauche, choisissez Connectors, puis Create connector.

  3. Choisissez SFTPle type de connecteur pour créer un SFTP connecteur, puis choisissez Next.

    La console Transfer Family, qui affiche la page Create connector, où vous pouvez choisir le type de connecteur. SFTPest sélectionné.
  4. Dans la section Configuration du connecteur, fournissez les informations suivantes :

    • Pour le URL, entrez le URL pour un SFTP serveur distant. Cela URL doit être formaté commesftp://partner-SFTP-server-url, par exemplesftp://AnyCompany.com.

      Note

      Vous pouvez éventuellement fournir un numéro de port dans votreURL. Le format est sftp://partner-SFTP-server-url:port-number. Le numéro de port par défaut (lorsqu'aucun port n'est spécifié) est le port 22.

    • Pour le rôle Access, choisissez le nom de ressource Amazon (ARN) du rôle AWS Identity and Access Management (IAM) à utiliser.

      • Assurez-vous que ce rôle fournit un accès en lecture et en écriture au répertoire parent de l'emplacement du fichier utilisé dans la StartFileTransfer demande.

      • Assurez-vous que ce rôle autorise l'secretsmanager:GetSecretValueaccès au secret.

        Note

        Dans la politique, vous devez spécifier ARN le secret. ARNContient le nom du secret, mais y ajoute six caractères alphanumériques aléatoires. Un ARN pour un secret a le format suivant.

        arn:aws:secretsmanager:region:account-id:secret:aws/transfer/SecretName-6RandomCharacters
      • Assurez-vous 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.

      L'exemple suivant accorde les autorisations nécessaires pour accéder au DOC-EXAMPLE-BUCKET dans Amazon S3, et le secret spécifié est stocké dans Secrets Manager.

      { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowListingOfUserFolder", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET" ] }, { "Sid": "HomeDirObjectAccess", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:GetObjectVersion", "s3:GetObjectACL", "s3:PutObjectACL" ], "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" }, { "Sid": "GetConnectorSecretValue", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": "arn:aws:secretsmanager:region:account-id:secret:aws/transfer/SecretName-6RandomCharacters" } ] }
      Note

      Pour le rôle d'accès, l'exemple accorde l'accès à un secret unique. Toutefois, vous pouvez utiliser un caractère générique, ce qui peut vous faire économiser du travail si vous souhaitez réutiliser le même IAM rôle pour plusieurs utilisateurs et secrets. Par exemple, l'instruction de ressource suivante accorde des autorisations pour tous les secrets dont le nom commence paraws/transfer.

      "Resource": "arn:aws:secretsmanager:region:account-id:secret:aws/transfer/*"

      Vous pouvez également stocker des secrets contenant vos SFTP informations d'identification dans un autre Compte AWS. Pour plus de détails sur l'activation de l'accès secret entre comptes, voir Autorisations relatives aux AWS Secrets Manager secrets pour les utilisateurs d'un autre compte.

    • (Facultatif) Pour le rôle de journalisation, choisissez le IAM rôle que le connecteur doit utiliser pour transférer des événements vers vos CloudWatch journaux. L'exemple de politique suivant répertorie les autorisations nécessaires pour consigner les événements des SFTP connecteurs.

      { "Version": "2012-10-17", "Statement": [{ "Sid": "SFTPConnectorPermissions", "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:DescribeLogStreams", "logs:CreateLogGroup", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:*:*:log-group:/aws/transfer/*" ] }] }
  5. Dans la section SFTPConfiguration, fournissez les informations suivantes :

    • Pour les informations d'identification du Connector, dans la liste déroulante, choisissez le nom d'un secret AWS Secrets Manager contenant la clé privée ou le mot de passe de SFTP l'utilisateur. Vous devez créer un secret et le stocker d'une manière spécifique. Pour plus de détails, consultez Stockez un secret à utiliser avec un SFTP connecteur.

    • Clés d'hôte fiables : collez la partie publique de la clé d'hôte utilisée pour identifier le serveur externe. Vous pouvez ajouter plusieurs clés en choisissant Ajouter une clé d'hôte fiable pour ajouter une clé supplémentaire. Vous pouvez utiliser la ssh-keyscan commande sur le SFTP serveur pour récupérer la clé nécessaire. Pour plus de détails sur le format et le type de clés d'hôte fiables prises en charge par Transfer Family, voir SFTPConnectorConfig.

  6. (Facultatif) Dans la section Balises, pour Clé et Valeur, entrez une ou plusieurs balises sous forme de paires clé-valeur.

  7. Après avoir confirmé tous vos paramètres, choisissez Create connector pour créer le SFTP connecteur. Si le connecteur est créé avec succès, un écran apparaît avec une liste des adresses IP statiques attribuées et un bouton Tester la connexion. Utilisez le bouton pour tester la configuration de votre nouveau connecteur.

    L'écran de création de connecteur qui apparaît lorsqu'un SFTP connecteur a été créé avec succès. Il contient un bouton permettant de tester la connexion et une liste des adresses IP statiques gérées par le service de ce connecteur.

La page Connecteurs apparaît, avec l'ID de votre nouveau SFTP connecteur ajouté à la liste. Pour consulter les détails de vos connecteurs, consultezAfficher les détails SFTP du connecteur.

CLI

Vous utilisez le create-connectorcommande pour créer un connecteur. Pour utiliser cette commande afin de créer un SFTP connecteur, vous devez fournir les informations suivantes.

  • Le URL pour un SFTP serveur distant. Cela URL doit être formaté commesftp://partner-SFTP-server-url, par exemplesftp://AnyCompany.com.

  • Le rôle d'accès. Choisissez le nom de ressource Amazon (ARN) du rôle AWS Identity and Access Management (IAM) à utiliser.

    • Assurez-vous que ce rôle fournit un accès en lecture et en écriture au répertoire parent de l'emplacement du fichier utilisé dans la StartFileTransfer demande.

    • Assurez-vous que ce rôle autorise l'secretsmanager:GetSecretValueaccès au secret.

      Note

      Dans la politique, vous devez spécifier ARN le secret. ARNContient le nom du secret, mais y ajoute six caractères alphanumériques aléatoires. Un ARN pour un secret a le format suivant.

      arn:aws:secretsmanager:region:account-id:secret:aws/transfer/SecretName-6RandomCharacters
    • Assurez-vous 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.

    L'exemple suivant accorde les autorisations nécessaires pour accéder au DOC-EXAMPLE-BUCKET dans Amazon S3, et le secret spécifié est stocké dans Secrets Manager.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowListingOfUserFolder", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET" ] }, { "Sid": "HomeDirObjectAccess", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:GetObjectVersion", "s3:GetObjectACL", "s3:PutObjectACL" ], "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" }, { "Sid": "GetConnectorSecretValue", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": "arn:aws:secretsmanager:region:account-id:secret:aws/transfer/SecretName-6RandomCharacters" } ] }
    Note

    Pour le rôle d'accès, l'exemple accorde l'accès à un secret unique. Toutefois, vous pouvez utiliser un caractère générique, ce qui peut vous faire économiser du travail si vous souhaitez réutiliser le même IAM rôle pour plusieurs utilisateurs et secrets. Par exemple, l'instruction de ressource suivante accorde des autorisations pour tous les secrets dont le nom commence paraws/transfer.

    "Resource": "arn:aws:secretsmanager:region:account-id:secret:aws/transfer/*"

    Vous pouvez également stocker des secrets contenant vos SFTP informations d'identification dans un autre Compte AWS. Pour plus de détails sur l'activation de l'accès secret entre comptes, voir Autorisations relatives aux AWS Secrets Manager secrets pour les utilisateurs d'un autre compte.

  • (Facultatif) Choisissez le IAM rôle que le connecteur doit utiliser pour transférer des événements vers vos CloudWatch journaux. L'exemple de politique suivant répertorie les autorisations nécessaires pour consigner les événements des SFTP connecteurs.

    { "Version": "2012-10-17", "Statement": [{ "Sid": "SFTPConnectorPermissions", "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:DescribeLogStreams", "logs:CreateLogGroup", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:*:*:log-group:/aws/transfer/*" ] }] }
  • Fournissez les informations SFTP de configuration suivantes.

    • Le secret AWS Secrets Manager contenant ARN la clé privée ou le mot de passe de l'SFTPutilisateur.

    • Partie publique de la clé d'hôte utilisée pour identifier le serveur externe. Vous pouvez fournir plusieurs clés d'hôte fiables si vous le souhaitez.

    Le moyen le plus simple de fournir les SFTP informations est de les enregistrer dans un fichier. Par exemple, copiez le texte d'exemple suivant dans un fichier nommétestSFTPConfig.json.

    // Listing for testSFTPConfig.json { "UserSecretId": "arn:aws::secretsmanager:us-east-2:123456789012:secret:aws/transfer/example-username-key", "TrustedHostKeys": [ "sftp.example.com ssh-rsa AAAAbbbb...EEEE=" ] }
Note

Il SecretId peut s'agir de l'intégralité ARN ou du nom du secret (example-username-key dans la liste précédente).

Exécutez ensuite la commande suivante pour créer le connecteur.

aws transfer create-connector --url "sftp://partner-SFTP-server-url" \ --access-role your-IAM-role-for-bucket-access \ --logging-role arn:aws:iam::your-account-id:role/service-role/AWSTransferLoggingAccess \ --sftp-config file:///path/to/testSFTPConfig.json

SFTPalgorithmes de connexion

Lorsque vous créez un SFTP connecteur, les algorithmes de sécurité suivants sont attachés au connecteur.

Type Algorithm
SSHchiffrer

aes256-gcm@openssh.com

aes128-gcm@openssh.com

aes256-ctr

aes192-ctr

SSHméthode d'échange de clés (KEX)

curve25519-sha256

curve25519-sha256@libssh.org

diffie-hellman-group16-sha512

diffie-hellman-group18-sha512

diffie-hellman-group-exchange-sha256

SSH MAC

hmac-sha2-512-etm@openssh.com

hmac-sha2-256-etm@openssh.com

hmac-sha2-512

hmac-sha2-256

SSHclé d'hôte

ecdsa-sha2-nistp255

ecdsa-sha2-nistp384

ecdsa-sha2-nistp521

rsa-sha2-512

rsa-sha2-256

Stockez un secret à utiliser avec un SFTP connecteur

Vous pouvez utiliser Secrets Manager pour stocker les informations d'identification utilisateur de vos SFTP connecteurs. Lorsque vous créez votre secret, vous devez fournir un nom d'utilisateur. En outre, vous pouvez fournir un mot de passe, une clé privée ou les deux. Pour plus de détails, consultez Quotas pour les SFTP connecteurs.

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 Tarification AWS Secrets Manager.

Pour stocker les informations d'identification utilisateur dans le Gestionnaire des Secrets Manager d'un SFTP connecteur
  1. Connectez-vous à la AWS Secrets Manager console AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/secretsmanager/.

  2. Dans le volet de navigation de gauche, choisissez Secrets.

  3. Sur la page Secrets, choisissez Enregistrer un nouveau secret.

  4. Sur la page Choisir un type de secret, pour Type de secret, choisissez Autre type de secret.

  5. Dans la section Paires clé/valeur, choisissez l'onglet clé/valeur.

    • Clé — EntréeUsername.

    • valeur — Entrez le nom de l'utilisateur autorisé à se connecter au serveur du partenaire.

  6. Si vous souhaitez fournir un mot de passe, choisissez Ajouter une ligne, puis dans la section Paires clé/valeur, choisissez l'onglet clé/valeur.

    Choisissez Ajouter une ligne, puis dans la section Paires clé/valeur, choisissez l'onglet clé/valeur.

    • Clé — EntréePassword.

    • valeur — Entrez le mot de passe de l'utilisateur.

  7. Si vous souhaitez fournir une clé privée, consultezGénération et SFTP formatage de la clé privée du connecteur, qui décrit comment saisir des données de clé privée.

    Note

    Les données de clé privée que vous entrez doivent correspondre à la clé publique enregistrée pour cet utilisateur sur le SFTP serveur distant.

  8. Choisissez Suivant.

  9. Sur la page Configurer le secret, entrez le nom et la description de votre secret. Nous vous recommandons d'utiliser le préfixe de aws/transfer/ pour le nom. Par exemple, vous pourriez donner un nom à votre secretaws/transfer/connector-1.

  10. Choisissez Next, puis acceptez les valeurs par défaut sur la page Configurer la rotation. Ensuite, sélectionnez Suivant.

  11. Sur la page Révision, choisissez Store pour créer et stocker le secret.

Génération et SFTP formatage de la clé privée du connecteur

Les détails complets relatifs à la génération d'une paire de clés publique/privée sont décrits dans. Création de SSH clés sous macOS, Linux ou Unix

Par exemple, pour générer une clé privée à utiliser avec des SFTP connecteurs, l'exemple de commande suivant produit le type de clé correct (remplacez key_name avec le nom de fichier réel de votre paire de clés) :

ssh-keygen -t rsa -b 4096 -m PEM -f key_name -N ""
Note

Lorsque vous créez votre paire de clés à utiliser avec des SFTP connecteurs, n'utilisez pas de phrase secrète. Un mot de passe vide est nécessaire pour que la SFTP configuration fonctionne correctement.

Cette commande crée une paire de RSA clés d'une taille de 4 096 bits. La clé est générée dans le PEM format existant, qui est requis par Transfer Family pour être utilisée avec le secret du SFTP connecteur. Les clés sont enregistrées dans key_name (clé privée) et key_name.pub (clé publique) dans le répertoire courant, c'est-à-dire le répertoire dans lequel vous exécutez la ssh-keygen commande.

Note

Transfer Family ne prend pas en charge le SSH format Open (-----BEGIN OPENSSH PRIVATE KEY-----) pour les clés utilisées pour votre SFTP connecteur. La clé doit être au PEM format existant (-----BEGIN RSA PRIVATE KEY-----ou-----BEGIN EC PRIVATE KEY-----). Vous pouvez utiliser l'ssh-keygenoutil pour convertir votre clé en fournissant l'-m PEMoption lorsque vous exécutez la commande.

Après avoir généré la clé, vous devez vous assurer que la clé privée est formatée avec des caractères de nouvelle ligne incorporés (»\n«) dans le format. JSON

Utilisez une commande pour convertir votre clé privée existante dans le bon format, c'est-à-dire avec des caractères de nouvelle ligne intégrés. JSON Nous fournissons ici des exemples pour jq Powershell. Vous pouvez utiliser n'importe quel outil ou commande pour convertir la clé privée au JSON format avec des caractères de nouvelle ligne incorporés.

jq command

Cet exemple utilise la jq commande, qui est téléchargeable depuis Download jq.

jq -sR . path-to-private-key-file

Par exemple, si votre fichier de clé privée se trouve dans~/.ssh/my_private_key, la commande est la suivante.

jq -sR . ~/.ssh/my_private_key

Cela affiche la clé dans le format correct (avec des caractères de nouvelle ligne intégrés) sur la sortie standard.

PowerShell

Si vous utilisez Windows, vous pouvez l'utiliser PowerShell pour convertir la clé au bon format. La commande Powershell suivante convertit la clé privée au format correct.

Get-Content -Raw path-to-private-key-file | ConvertTo-Json
Pour ajouter des données de clé privée au secret à utiliser avec des SFTP connecteurs
  1. Dans la console Secrets Manager, lorsque vous stockez un autre type de secret, choisissez l'onglet Plaintext. Le texte doit être vide, avec uniquement une accolade d'ouverture et de fermeture, {}.

  2. Collez votre nom d'utilisateur, les données de votre clé privée et/ou votre mot de passe en utilisant le format suivant. Pour les données de votre clé privée, collez le résultat de la commande que vous avez exécutée à l'étape 1.

    {"Username":"SFTP-USER","Password":"SFTP-USER-PASSWORD","PrivateKey":"PASTE-PRIVATE-KEY-DATA-HERE"}
    Le secret en texte brut, affichant le texte d'exemple.

    Si vous collez correctement les données de la clé privée, vous devriez voir ce qui suit lorsque vous sélectionnez l'onglet Clé/valeur. Notez que les données de la clé privée sont affichées line-by-line, plutôt que sous forme de chaîne de texte continue.

    Le secret indiquant les détails dans l'onglet Clé/valeur.
  3. Continuez la procédure Stockez un secret à utiliser avec un SFTP connecteur à l'étape 8 et suivez cette procédure jusqu'à la fin.

Tester un SFTP connecteur

Après avoir créé un SFTP connecteur, nous vous recommandons de le tester avant de tenter de transférer des fichiers à l'aide de votre nouveau connecteur.

Pour tester un SFTP connecteur
  1. Ouvrez la AWS Transfer Family console à l'adresse https://console.aws.amazon.com/transfer/.

  2. Dans le volet de navigation de gauche, choisissez Connectors, puis sélectionnez un connecteur.

  3. Dans le menu Actions, choisissez Tester la connexion.

    La console Transfer Family, qui affiche un SFTP connecteur sélectionné, et l'action Test connection Test connection mise en évidence.

Le système renvoie un message indiquant si le test est réussi ou non. Si le test échoue, le système affiche un message d'erreur basé sur la raison de l'échec du test.

Le panneau de connexion de test du SFTP connecteur, indiquant un test réussi.
Le panneau de connexion du test du SFTP connecteur affiche un échec du test : le message d'erreur indique que le rôle d'accès du connecteur est incorrect.
Note

Pour API tester votre connecteur, consultez le TestConnectionAPIdocumentation.