Configurer le stockage à utiliser avec AWS Transfer Family - 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.

Configurer le stockage à utiliser avec AWS Transfer Family

Cette rubrique décrit les options de stockage que vous pouvez utiliser avec AWS Transfer Family. Vous pouvez utiliser Amazon S3 ou Amazon EFS comme espace de stockage pour vos serveurs Transfer Family.

Configuration d'un compartiment Amazon S3

AWS Transfer Family accède à votre compartiment Amazon S3 pour répondre aux demandes de transfert de vos utilisateurs. Vous devez donc fournir un compartiment Amazon S3 dans le cadre de la configuration de votre serveur compatible avec le protocole de transfert de fichiers. Vous pouvez utiliser un compartiment existant ou en créer un nouveau.

Note

Vous n'êtes pas obligé d'utiliser un serveur et un compartiment Amazon S3 situés dans la même AWS région, mais nous vous recommandons de le faire en tant que bonne pratique.

Lorsque vous configurez vos utilisateurs, vous leur attribuez un IAM rôle à chacun. Ce rôle détermine le niveau d'accès dont ils disposent à votre compartiment Amazon S3.

Pour plus d'informations sur la création d'un nouveau compartiment, consultez Comment créer un compartiment S3 ? dans le guide de l'utilisateur d'Amazon Simple Storage Service.

Note

Vous pouvez utiliser Amazon S3 Object Lock pour empêcher le remplacement d'objets pendant une durée déterminée ou indéfiniment. Cela fonctionne de la même manière avec Transfer Family qu'avec les autres services. Si un objet existe et est protégé, il est interdit d'écrire dans ce fichier ou de le supprimer. Pour plus de détails sur Amazon S3 Object Lock, consultez la section Utilisation d'Amazon S3 Object Lock dans le guide de l'utilisateur d'Amazon Simple Storage Service.

Points d'accès Amazon S3

AWS Transfer Family prend en charge les points d'accès Amazon S3, une fonctionnalité d'Amazon S3 qui vous permet de gérer facilement l'accès granulaire aux ensembles de données partagés. Vous pouvez utiliser des alias de point d'accès S3 partout où vous utilisez un nom de compartiment S3. Vous pouvez créer des centaines de points d'accès dans Amazon S3 pour les utilisateurs disposant d'autorisations différentes pour accéder aux données partagées dans un compartiment Amazon S3.

Par exemple, vous pouvez utiliser des points d'accès pour permettre à trois équipes différentes d'avoir accès au même ensemble de données partagé dans lequel une équipe peut lire les données de S3, une deuxième équipe peut écrire des données dans S3 et la troisième équipe peut lire, écrire et supprimer des données de S3. Pour mettre en œuvre un contrôle d'accès granulaire tel que mentionné ci-dessus, vous pouvez créer un point d'accès S3 contenant une politique qui donne un accès asymétrique aux différentes équipes. Vous pouvez utiliser les points d'accès S3 avec votre serveur Transfer Family pour obtenir un contrôle d'accès précis, sans créer de politique de compartiment S3 complexe couvrant des centaines de cas d'utilisation. Pour en savoir plus sur l'utilisation des points d'accès S3 avec un serveur Transfer Family, consultez le billet de blog Enhance data access control with AWS Transfer Family et Amazon S3.

Note

AWS Transfer Family ne prend actuellement pas en charge les points d'accès multirégionaux Amazon S3.

HeadObject Comportement d'Amazon S3

Note

Lorsque vous créez ou mettez à jour un serveur Transfer Family, vous pouvez optimiser les performances de vos annuaires Amazon S3, ce qui élimine les HeadObject appels.

Dans Amazon S3, les compartiments et les objets sont les ressources principales, et les objets sont stockés dans des compartiments. Amazon S3 peut imiter un système de fichiers hiérarchique, mais peut parfois se comporter différemment d'un système de fichiers classique. Par exemple, les annuaires ne constituent pas un concept de premier ordre dans Amazon S3, mais sont basés sur des clés d'objet. AWS Transfer Family déduit un chemin de répertoire en divisant la clé d'un objet par la barre oblique (/), en traitant le dernier élément comme nom de fichier, puis en regroupant les noms de fichiers portant le même préfixe sous le même chemin. Les objets de zéro octet sont créés pour représenter le chemin d'un dossier lorsque vous créez un répertoire vide à l'aide mkdir ou à l'aide de la console Amazon S3. La touche correspondant à ces objets se termine par une barre oblique. Ces objets de zéro octet sont décrits dans la section Organisation des objets dans la console Amazon S3 à l'aide de dossiers du guide de l'utilisateur Amazon S3.

Lorsque vous exécutez une ls commande et que certains résultats correspondent à des objets Amazon S3 sans octet (les touches de ces objets se terminent par une barre oblique), Transfer Family émet une HeadObject demande pour chacun de ces objets (voir HeadObjectle manuel Amazon Simple Storage Service API Reference pour plus de détails). Cela peut entraîner les problèmes suivants lorsque vous utilisez Amazon S3 comme espace de stockage avec Transfer Family.

Autoriser uniquement l'écriture et la liste des fichiers

Dans certains cas, vous souhaiterez peut-être n'offrir qu'un accès en écriture à vos objets Amazon S3. Par exemple, vous pouvez autoriser l'accès pour écrire (ou télécharger) et répertorier des objets dans un bucket, mais pas pour lire (télécharger) des objets. Pour exécuter ls des mkdir commandes à l'aide de clients de transfert de fichiers, vous devez disposer de l'Amazon S3 ListObjects et PutObject des autorisations. Toutefois, lorsque Transfer Family doit effectuer un HeadObject appel pour écrire ou répertorier des fichiers, l'appel échoue avec le message d'erreur « Accès refusé », car cet appel nécessite une GetObject autorisation.

Note

Lorsque vous créez ou mettez à jour un serveur Transfer Family, vous pouvez optimiser les performances de vos annuaires Amazon S3, ce qui élimine les HeadObject appels.

Dans ce cas, vous pouvez accorder l'accès en ajoutant une condition de politique AWS Identity and Access Management (IAM) qui ajoute l'GetObjectautorisation uniquement pour les objets se terminant par une barre oblique (/). Cette condition empêche les GetObject appels sur des fichiers (afin qu'ils ne puissent pas être lus), mais permet à l'utilisateur de répertorier et de parcourir des dossiers. L'exemple de politique suivant offre uniquement un accès en écriture et en liste à vos compartiments Amazon S3. Pour utiliser cette politique, DOC-EXAMPLE-BUCKET remplacez-la par le nom de votre compartiment.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowListing", "Effect": "Allow", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET" }, { "Sid": "AllowReadWrite", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" ] }, { "Sid": "DenyIfNotFolder", "Effect": "Deny", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "NotResource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*/" ] } ] }
Note

Cette règle n'autorise pas les utilisateurs à ajouter des fichiers. En d'autres termes, un utilisateur auquel cette politique est affectée ne peut pas ouvrir de fichiers pour y ajouter du contenu ou pour les modifier. De plus, si votre cas d'utilisation nécessite un HeadObject appel avant de télécharger un fichier, cette politique ne fonctionnera pas pour vous.

Grand nombre d'objets de zéro octet provoquant des problèmes de latence

Si vos compartiments Amazon S3 contiennent un grand nombre de ces objets de zéro octet, Transfer Family émet de nombreux HeadObject appels, ce qui peut entraîner des retards de traitement.

L'une des solutions possibles à ce problème consiste à supprimer tous vos objets de zéro octet. Notez ce qui suit :

  • Les répertoires vides n'existeront plus. Les répertoires n'existent que parce que leurs noms figurent dans la clé d'un objet.

  • Cela n'empêche pas quelqu'un d'appeler mkdir et de tout casser à nouveau. Vous pouvez atténuer ce problème en élaborant une politique qui empêche la création de répertoires.

  • Certains scénarios utilisent ces objets de 0 octet. Par exemple, vous avez une structure telle que /inboxes/customer1000 et le répertoire de la boîte de réception est nettoyé tous les jours.

Une autre solution possible consiste à limiter le nombre d'objets visibles par le biais d'une condition de politique afin de réduire le nombre d'HeadObjectappels. Pour que cette solution soit viable, vous devez accepter le fait que vous ne pourrez peut-être afficher qu'un ensemble limité de tous vos sous-répertoires.

Configuration d'un système de EFS fichiers Amazon

AWS Transfer Family accède à Amazon Elastic File System (AmazonEFS) pour traiter les demandes de transfert de vos utilisateurs. Vous devez donc fournir un système de EFS fichiers Amazon dans le cadre de la configuration de votre serveur compatible avec le protocole de transfert de fichiers. Vous pouvez utiliser un système de fichiers existant ou en créer un nouveau.

Notez ce qui suit :

  • Lorsque vous utilisez un serveur Transfer Family et un système de EFS fichiers Amazon, le serveur et le système de fichiers doivent se trouver dans le même emplacement Région AWS.

  • Il n'est pas nécessaire que le serveur et le système de fichiers soient sur le même compte. Si le serveur et le système de fichiers ne sont pas dans le même compte, la politique du système de fichiers doit accorder une autorisation explicite au rôle d'utilisateur.

    Pour plus d'informations sur la configuration de plusieurs comptes, consultez la section Gestion des AWS comptes de votre organisation dans le Guide de AWS Organizations l'utilisateur.

  • Lorsque vous configurez vos utilisateurs, vous leur attribuez un IAM rôle à chacun. Ce rôle détermine le niveau d'accès dont ils disposent à votre système de EFS fichiers Amazon.

  • Pour plus de détails sur le montage d'un système de EFS fichiers Amazon, consultez Montage de systèmes de EFS fichiers Amazon.

Pour en savoir plus sur la manière dont AWS Transfer Family Amazon EFS travaille ensemble, consultez la section Utiliser AWS Transfer Family pour accéder aux fichiers de votre système de EFS fichiers Amazon dans le guide de l'utilisateur d'Amazon Elastic File System.

Propriété des EFS fichiers Amazon

Amazon EFS utilise le modèle d'autorisation de fichier Portable Operating System Interface (POSIX) pour représenter la propriété des fichiers.

DansPOSIX, les utilisateurs du système sont classés en trois classes d'autorisations distinctes : lorsque vous autorisez un utilisateur à accéder à des fichiers stockés dans un système de EFS fichiers Amazon en utilisant AWS Transfer Family, vous devez lui attribuer un « POSIX profil ». Ce profil est utilisé pour déterminer leur accès aux fichiers et aux répertoires du système de EFS fichiers Amazon.

  • Utilisateur (u) : propriétaire du fichier ou du répertoire. Généralement, le créateur d'un fichier ou d'un répertoire en est également le propriétaire.

  • Groupe (g) : ensemble d'utilisateurs qui ont besoin d'un accès identique aux fichiers et aux répertoires qu'ils partagent.

  • Autres (o) : tous les autres utilisateurs ayant accès au système, à l'exception du propriétaire et des membres du groupe. Cette classe d'autorisation est également appelée « publique ».

Dans le modèle d'POSIXautorisation, chaque objet du système de fichiers (fichiers, répertoires, liens symboliques, canaux nommés et sockets) est associé aux trois ensembles d'autorisations mentionnés précédemment. Un mode de style Unix est associé aux EFS objets Amazon. La valeur de ce mode définit les autorisations permettant d’effectuer des actions au niveau de cet objet.

En outre, sur les systèmes de type Unix, les utilisateurs et les groupes sont mappés à des identifiants numériques, qu'EFSAmazon utilise pour représenter la propriété des fichiers. Pour AmazonEFS, les objets appartiennent à un seul propriétaire et à un seul groupe. Amazon EFS utilise le chiffre mappé IDs pour vérifier les autorisations lorsqu'un utilisateur tente d'accéder à un objet du système de fichiers.

Configurer les EFS utilisateurs Amazon pour Transfer Family

Avant de configurer vos EFS utilisateurs Amazon, vous pouvez effectuer l'une des opérations suivantes :

Note

Les serveurs Transfer Family ne prennent pas en charge les points EFS d'accès Amazon pour définir POSIX des autorisations. POSIXLes profils des utilisateurs de Transfer Family (décrits dans la section précédente) offrent la possibilité de définir POSIX des autorisations. Ces autorisations sont définies au niveau de l'utilisateur, pour un accès granulaire, basé sur UIDGID, et secondaireGIDs.

Configurer les utilisateurs de Transfer Family sur Amazon EFS

Transfer Family associe les utilisateurs à ceux qui n'UID/GID and directories you specify. If the UID/GID/directoriesexistent pas déjà. Vous devez alors les créer avant de les attribuer dans Transfer à un utilisateur. EFS Les détails relatifs à la création d'EFSutilisateurs Amazon sont décrits dans la section Travailler avec les utilisateurs, les groupes et les autorisations au niveau du système de fichiers réseau (NFS) du guide de l'utilisateur Amazon Elastic File System.

Étapes pour configurer EFS les utilisateurs Amazon dans Transfer Family
  1. Mappez le EFS UID et GID pour votre utilisateur dans Transfer Family à l'aide PosixProfiledes champs.

  2. Si vous souhaitez que l'utilisateur démarre dans un dossier spécifique lors de la connexion, vous pouvez spécifier le EFS répertoire sous le HomeDirectorychamp.

Vous pouvez automatiser le processus à l'aide d'une CloudWatch règle et d'une fonction Lambda. Pour un exemple de fonction Lambda qui interagit avecEFS, consultez Utiliser Amazon EFS pour vos applications sans AWS Lambda serveur.

En outre, vous pouvez configurer des répertoires logiques pour vos utilisateurs de Transfer Family. Pour plus de détails, consultez la Configuration de répertoires logiques pour Amazon EFS section de cette Utilisation de répertoires logiques pour simplifier vos structures de répertoires Transfer Family rubrique.

Création d'un utilisateur EFS root Amazon

Si votre organisation accepte que vous autorisiez l'accès des utilisateurs root viaSFTP/FTPSpour la configuration de vos utilisateurs, vous pouvez créer un utilisateur qui est UID 0 (utilisateur root), puis utiliser cet utilisateur root pour créer des dossiers et attribuer des propriétaires d'POSIXID aux autres utilisateurs. GID L'avantage de cette option est qu'il n'est pas nécessaire de monter le système de EFS fichiers Amazon.

Suivez les étapes décrites dansAjouter des utilisateurs gérés par le EFS service Amazon, et entrez 0 (zéro) pour l'ID utilisateur et l'ID de groupe.

EFSCommandes Amazon prises en charge

Les commandes suivantes sont prises en charge par Amazon EFS pour AWS Transfer Family.

  • cd

  • ls/dir

  • pwd

  • put

  • get

  • rename

  • chown: Seul le root (c'est-à-dire les utilisateurs avec uid=0) peut modifier la propriété et les autorisations des fichiers et des répertoires.

  • chmod: Seul le superutilisateur peut modifier la propriété et les autorisations des fichiers et des répertoires.

  • chgrp: Pris en charge soit pour le root, soit pour le propriétaire du fichier, qui ne peut modifier le groupe d'un fichier que pour en faire l'un de ses groupes secondaires.

  • ln -s/symlink

  • mkdir

  • rm/delete

  • rmdir

  • chmtime