Création d'un connecteur SFTP - 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.

Création d'un connecteur SFTP

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

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

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

  3. Dans la section Configuration du connecteur, fournissez les informations suivantes :

    La console du connecteur SFTP Transfer Family, qui affiche les paramètres de configuration du connecteur.
    • Pour l'URL, entrez l'URL d'un serveur SFTP distant. Cette URL doit être formatée comme suitsftp://partner-SFTP-server-url, par exemplesftp://AnyCompany.com.

      Note

      Vous pouvez éventuellement fournir un numéro de port dans votre URL. 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 l'ARN du secret. L'ARN contient le nom secret, mais y ajoute six caractères alphanumériques aléatoires. L'ARN d'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 amzn-s3-demo-bucket à Amazon S3 et au secret spécifié stocké dans Secrets Manager.

      { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowListingOfUserFolder", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket" ] }, { "Sid": "HomeDirObjectAccess", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:GetObjectVersion", "s3:GetObjectACL", "s3:PutObjectACL" ], "Resource": "arn:aws:s3:::amzn-s3-demo-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. Vous pouvez toutefois utiliser un caractère générique, ce qui peut vous faire économiser du travail si vous souhaitez réutiliser le même rôle IAM pour plusieurs utilisateurs et plusieurs 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 informations d'identification SFTP 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 rôle IAM 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 des événements pour les connecteurs SFTP.

      { "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/*" ] }] }
  4. Dans la section Configuration SFTP, fournissez les informations suivantes :

    La console du connecteur SFTP Transfer Family, qui affiche les paramètres de configuration SFTP.
    • Pour les informations d'identification du connecteur, 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 l'utilisateur SFTP. Vous devez créer un secret et le stocker d'une manière spécifique. Pour en savoir plus, consultez Stockez les informations d'authentification pour les connecteurs SFTP dans Secrets Manager .

    • (Facultatif)) Vous avez la possibilité de créer votre connecteur en laissant le TrustedHostKeys paramètre vide. Toutefois, votre connecteur ne sera pas en mesure de transférer des fichiers avec le serveur distant tant que vous n'aurez pas fourni ce paramètre dans la configuration de votre connecteur. Vous pouvez saisir la ou les clés d'hôte fiables au moment de créer votre connecteur, ou mettre à jour votre connecteur ultérieurement en utilisant les informations de clé d'hôte renvoyées par l'action de la TestConnection console ou la commande d'API. En d'autres termes, pour la zone de texte Clés d'hôte fiables, vous pouvez effectuer l'une des opérations suivantes :

      • Fournissez la ou les clés d'hôte sécurisé au moment de créer votre connecteur. 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 serveur SFTP 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, consultez SFTPConnectorConfig.

      • Laissez la zone de texte Trusted Host Key (s) vide lors de la création de votre connecteur et mettez à jour votre connecteur ultérieurement avec ces informations. Si vous ne disposez pas des informations relatives à la clé de l'hôte au moment de créer votre connecteur, vous pouvez laisser ce paramètre vide pour le moment et poursuivre la création de votre connecteur. Une fois le connecteur créé, utilisez l'identifiant du nouveau connecteur pour exécuter la TestConnection commande, soit dans la page détaillée du connecteur, AWS CLI soit à partir de celle-ci. En cas de succès, TestConnection renverra les informations de clé d'hôte nécessaires. Vous pouvez ensuite modifier votre connecteur à l'aide de la console (ou en exécutant la UpdateConnector AWS CLI commande) et ajouter les informations de clé d'hôte renvoyées lors de l'exécutionTestConnection.

      Important

      Si vous récupérez la clé d'hôte du serveur distant en exécutantTestConnection, assurez-vous de out-of-band valider la clé renvoyée.

      Vous devez accepter la nouvelle clé comme étant fiable ou vérifier l'empreinte digitale présentée à l'aide d'une empreinte connue que vous avez reçue du propriétaire du serveur SFTP distant auquel vous vous connectez.

    • (Facultatif) Pour Maximum de connexions simultanées, dans la liste déroulante, choisissez le nombre de connexions simultanées que votre connecteur crée avec le serveur distant. La sélection par défaut sur la console est 5.

      Ce paramètre indique le nombre de connexions actives que votre connecteur peut établir avec le serveur distant en même temps. La création de connexions simultanées peut améliorer les performances du connecteur en permettant des opérations parallèles.

  5. Dans la section Options de l'algorithme cryptographique, choisissez une politique de sécurité dans la liste déroulante du champ Stratégie de sécurité. La politique de sécurité vous permet de sélectionner les algorithmes cryptographiques pris en charge par votre connecteur. Pour plus de détails sur les politiques de sécurité et les algorithmes disponibles, consultezPolitiques de sécurité pour les AWS Transfer Family connecteurs SFTP.

  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 SFTP connector (Créer un connecteur SFTP) pour créer le connecteur SFTP. 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 connecteur SFTP 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 connecteur SFTP ajouté à la liste. Pour consulter les détails de vos connecteurs, consultezAfficher les détails du connecteur SFTP.

CLI

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

  • URL d'un serveur SFTP distant. Cette URL doit être formatée comme suitsftp://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 l'ARN du secret. L'ARN contient le nom secret, mais y ajoute six caractères alphanumériques aléatoires. L'ARN d'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 amzn-s3-demo-bucket à Amazon S3 et au secret spécifié stocké dans Secrets Manager.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowListingOfUserFolder", "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket" ] }, { "Sid": "HomeDirObjectAccess", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:GetObjectVersion", "s3:GetObjectACL", "s3:PutObjectACL" ], "Resource": "arn:aws:s3:::amzn-s3-demo-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. Vous pouvez toutefois utiliser un caractère générique, ce qui peut vous faire économiser du travail si vous souhaitez réutiliser le même rôle IAM pour plusieurs utilisateurs et plusieurs 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 informations d'identification SFTP 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 rôle IAM 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 des événements pour les connecteurs SFTP.

    { "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 de configuration SFTP suivantes.

    • L'ARN d'un secret AWS Secrets Manager contenant la clé privée ou le mot de passe de l'utilisateur SFTP.

    • 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 informations SFTP 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=" ] }
  • Spécifiez une politique de sécurité pour votre connecteur, en saisissant le nom de la politique de sécurité.

Note

Il SecretId peut s'agir de l'ARN complet ou du nom du secret (example-username-keydans 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 --security-policy-name security-policy-name --maximum-concurrent-connections integer-from-1-to-5