Passer au contenu

Comment configurer mon serveur Transfer Family afin qu'il utilise un système de fichiers Amazon EFS associé à un autre compte AWS ?

Lecture de 3 minute(s)
0

Je souhaite que le serveur AWS Transfer Family de mon compte AWS puisse accéder à un système de fichiers Amazon Elastic File System (Amazon EFS) sur un autre compte. Je souhaite également configurer mon serveur Transfer Family avec un accès intercompte au système de fichiers Amazon EFS.

Résolution

Remarque : Si des erreurs surviennent lorsque vous exécutez des commandes de l’interface de la ligne de commande AWS (AWS CLI), consultez la section Résoudre les erreurs liées à l’AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l’AWS CLI.

Pour configurer votre serveur Transfer Family, créez un rôle Gestion des identités et des accès AWS (AWS IAM) dans le compte A avec accès au système de fichiers du compte B. Créez ensuite un utilisateur du serveur Transfer Family configuré avec le rôle IAM dans le compte A. Vérifiez que l'utilisateur du serveur Transfer Family du compte A peut accéder au système de fichiers du compte B.

Remarque : La console AWS Transfer Family affiche uniquement le système de fichiers Amazon EFS associé au même compte. Pour utiliser votre serveur Transfer Family avec un système de fichiers associé à un autre compte, utilisez l'AWS CLI ou un kit SDK AWS.

Créer un rôle IAM dans le compte A avec accès au système de fichiers

Créez un rôle IAM pour les utilisateurs de votre serveur. Pour la politique IAM du rôle, utilisez l’instruction de politique suivante :

{  
  "Version": "2012-10-17",  
  "Statement": [  
    {  
      "Sid": "RootFileSystemAccess",  
      "Effect": "Allow",  
      "Action": [  
        "elasticfilesystem:ClientRootAccess",  
        "elasticfilesystem:ClientMount",  
        "elasticfilesystem:ClientWrite"  
      ],  
      "Resource": "arn:aws:elasticfilesystem:region:accountB-id:file-system/file-system-id"  
    }  
  ]  
}

Ajoutez une politique dans le système de fichiers pour le compte B qui accorde l’autorisation au rôle IAM à partir du compte A :

{  
  "Sid": "EFS-TransferFamily",  
  "Effect": "Allow",  
  "Principal": {  
    "AWS": "arn:aws:iam::AccounA-id:role/RoleName"  
  },  
  "Action": [  
    "elasticfilesystem:ClientRootAccess",  
    "elasticfilesystem:ClientWrite",  
    "elasticfilesystem:ClientMount"  
  ],  
  "Resource": "arn:aws:elasticfilesystem:region:accountB-id:file-system/file-system-id"  
}

Créer un utilisateur de serveur Transfer Family avec le rôle IAM dans le compte A

Exécutez la commande create-user de l’AWS CLI suivante pour créer un utilisateur Transfer Family :

aws transfer create-user --user-name "sftp" --server-id "SERVER-ID" --role "arn:aws:iam::accountA-id:role/RoleName" --home-directory "/file-system-id/username"

La commande renvoie l'ID du serveur et le nom d'utilisateur.

Exemple de sortie :

{  
  "ServerId":  "MY_SERVER_ID",  
  "UserName":  "MY_SERVER_USER_NAME"  
}

Vérifier que l'utilisateur du serveur Transfer Family du compte A peut accéder au système de fichiers du compte B

Procédez comme suit :

  1. Connectez-vous à votre serveur en tant qu'utilisateur créé par vous-même. Vous pouvez exécuter la commande sftp OpenSSH suivante pour vous connecter :

    sftp -i myserveruser MY_SERVER_USER_NAME@MY_SERVER_ID.server.transfer.us-east-1.amazonaws.com
  2. Répertorier le répertoire personnel du compartiment. Si vous utilisez OpenSSH, exécutez la commande ls :

    ls

Si la commande renvoie le répertoire de base, l'utilisateur de votre serveur dispose d'un accès intercompte au système de fichiers Amazon EFS.

Informations connexes

Créer un serveur compatible SFTP

Création de politiques de système de fichiers

Comment puis-je configurer mon serveur AWS Transfer Family pour utiliser un compartiment Amazon S3 qui se trouve dans un autre compte AWS ?.

Configuration de l'accès intercompte pour Transfer Family

AWS OFFICIELA mis à jour il y a un an