View a markdown version of this page

Création d'un rôle et d'une politique IAM - 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 rôle et d'une politique IAM

Cette rubrique décrit les types de politiques et de rôles qui peuvent être utilisés et décrit le processus de création d'un rôle utilisateur. AWS Transfer Family Il décrit également le fonctionnement des politiques de session et fournit un exemple de rôle utilisateur.

AWS Transfer Family utilise les types de rôles suivants :

  • Rôle utilisateur  : permet aux utilisateurs gérés par le service d'accéder aux ressources nécessaires de Transfer Family. AWS Transfer Family assume ce rôle dans le contexte d'un ARN utilisateur de Transfer Family.

  • Rôle d'accès  : permet d'accéder uniquement aux fichiers Amazon S3 en cours de transfert. Pour les transferts AS2 entrants, le rôle d'accès utilise l'Amazon Resource Name (ARN) pour le contrat. Pour les transferts AS2 sortants, le rôle d'accès utilise l'ARN du connecteur.

  • Rôle d'invocation  : à utiliser avec Amazon API Gateway en tant que fournisseur d'identité personnalisé du serveur. Transfer Family assume ce rôle dans le contexte de l'ARN d'un serveur Transfer Family.

  • Rôle de journalisation  : utilisé pour enregistrer les entrées dans Amazon CloudWatch. Transfer Family utilise ce rôle pour enregistrer les informations relatives aux réussites et aux échecs, ainsi que les informations relatives aux transferts de fichiers. Transfer Family assume ce rôle dans le contexte de l'ARN d'un serveur Transfer Family. Pour les transferts AS2 sortants, le rôle de journalisation utilise l'ARN du connecteur.

  • Rôle d'exécution  : permet à un utilisateur de Transfer Family d'appeler et de lancer des flux de travail. Transfer Family assume ce rôle dans le contexte d'un ARN de flux de travail Transfer Family.

Outre ces rôles, vous pouvez également utiliser des politiques de session. Une politique de session est utilisée pour limiter l'accès si nécessaire. Notez que ces politiques sont autonomes, c'est-à-dire que vous n'ajoutez pas ces politiques à un rôle. Vous ajoutez plutôt une politique de session directement à un utilisateur de Transfer Family.

Note

Lorsque vous créez un utilisateur Transfer Family géré par le service, vous pouvez sélectionner une Auto-generate politique en fonction du dossier d'accueil. Il s'agit d'un raccourci utile si vous souhaitez limiter l'accès des utilisateurs à leurs propres dossiers. Vous pouvez également consulter des détails sur les politiques de session et un exemple dansComment fonctionnent les politiques de session. Vous pouvez également trouver plus d'informations sur les politiques de session dans Politiques de session du Guide de l'utilisateur IAM.

Créer un rôle d'utilisateur

Lorsque vous créez un utilisateur, vous prenez un certain nombre de décisions concernant l'accès utilisateur. Ces décisions concernent notamment les compartiments Amazon S3 ou les systèmes de fichiers Amazon EFS auxquels l'utilisateur peut accéder, les parties de chaque compartiment Amazon S3 et les fichiers du système de fichiers accessibles, ainsi que les autorisations dont dispose l'utilisateur (par exemple, PUT ouGET).

Pour définir l'accès, vous devez créer une politique et un rôle basés sur l'identité Gestion des identités et des accès AWS (IAM) qui fournissent ces informations d'accès. Dans le cadre de ce processus, vous donnez accès à votre utilisateur au compartiment Amazon S3 ou au système de fichiers Amazon EFS qui est la cible ou la source des opérations sur les fichiers. Pour ce faire, effectuez les étapes générales suivantes, décrites plus loin en détail :

Créer un rôle d'utilisateur
  1. Créez une politique IAM pour AWS Transfer Family. Ceci est décrit sous Pour créer une politique IAM pour AWS Transfer Family.

  2. Créez un rôle IAM et associez la nouvelle politique IAM. Pour obtenir un exemple, consultez Exemple de politique read/write d'accès.

  3. Établissez une relation de confiance entre AWS Transfer Family et le rôle IAM. Ceci est décrit sous Étape 1 : Établir une relation d'approbation.

Les procédures suivantes décrivent comment créer une politique et un rôle IAM.

Pour créer une politique IAM pour AWS Transfer Family
  1. Ouvrez la console IAM à l’adresse https://console.aws.amazon.com/iam/.

  2. Dans le volet de navigation, sélectionnez Politiques, puis Créer une politique.

  3. Sur la page Créer une stratégie, choisissez l'onglet JSON.

  4. Dans l'éditeur qui apparaît, remplacez le contenu de l'éditeur par la politique IAM que vous souhaitez associer au rôle IAM.

    Vous pouvez autoriser ou restreindre read/write l'accès des utilisateurs à leur répertoire personnel. Pour de plus amples informations, veuillez consulter Exemple de politique read/write d'accès.

  5. Choisissez Réviser la politique et indiquez le nom et la description de votre politique, puis choisissez Créer une politique.

Créez ensuite un rôle IAM et attachez-lui un nouvelle stratégie IAM.

Pour créer un rôle IAM pour AWS Transfer Family
  1. Dans le volet de navigation, sélectionnez Rôles, puis Créer un rôle.

    Sur la page Créer un rôle, assurez-vous que le AWS service est sélectionné.

  2. Choisissez Transfer (Transférer) dans la liste des services, puis Next: Permissions (Suivant : Autorisations). Cela établit une relation de confiance entre AWS Transfer Family et AWS.

  3. Dans la section Joindre des politiques d'autorisations, recherchez et choisissez la politique que vous venez de créer, puis choisissez Suivant : Tags.

  4. (Facultatif) Entrez une clé et une valeur pour une balise, puis choisissez Next: Review (Suivant : Vérifier).

  5. Sur la page Review (Vérifier), entrez un nom et une description pour votre nouveau rôle, puis choisissez Create role (Créer un rôle).

Ensuite, vous établissez une relation de confiance entre AWS Transfer Family et AWS.

Étape 1 : Établir une relation d'approbation
Note

Dans nos exemples, nous utilisons à la fois ArnLike etArnEquals. Ils sont identiques sur le plan fonctionnel et vous pouvez donc utiliser l'un ou l'autre lorsque vous élaborez vos politiques. La documentation Transfer Family ArnLike est utilisée lorsque la condition contient un caractère générique et ArnEquals pour indiquer une condition de correspondance exacte.

  1. Dans la console IAM, choisissez le rôle que vous venez de créer.

  2. Sur la page Récapitulatif, choisissez Relations d' approbation, puis choisissez Modifier la relation d'approbation.

  3. Dans l'éditeur Edit Trust Relationship, assurez-vous que le service l'est"transfer.amazonaws.com". La politique d'accès est présentée ci-dessous.

    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "transfer.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

    Nous vous recommandons d'utiliser les clés de condition aws:SourceAccount et aws:SourceArn pour vous protéger contre le problème de l'adjoint confus. Le compte source est le propriétaire du serveur et l'ARN source est l'ARN de l'utilisateur. Par exemple :

    "Condition": { "StringEquals": { "aws:SourceAccount": "account_id" }, "ArnLike": { "aws:SourceArn": "arn:aws:transfer:region:account_id:user/*" } }

    Vous pouvez également utiliser ArnLike cette condition si vous souhaitez vous limiter à un serveur particulier plutôt qu'à n'importe quel serveur du compte utilisateur. Par exemple :

    "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:transfer:region:account-id:user/server-id/*" } }
    Note

    Dans les exemples ci-dessus, remplacez chacun user input placeholder par vos propres informations.

    Pour plus de détails sur le problème de confusion des députés et d'autres exemples, voirCross-service prévention adjointe confuse.

  4. Choisissez Mettre à jour la politique de confiance pour mettre à jour la politique d'accès.

Vous avez maintenant créé un rôle IAM qui permet d' AWS Transfer Family appeler les AWS services en votre nom. Vous avez associé au rôle la politique IAM que vous avez créée pour donner accès à votre utilisateur. Dans cette Démarrage avec AWS Transfer Family points de terminaison du serveur section, ce rôle et cette politique sont attribués à votre ou à vos utilisateurs.

Voir aussi

Comment fonctionnent les politiques de session

Lorsqu'un administrateur crée un rôle, celui-ci inclut souvent des autorisations étendues pour couvrir plusieurs cas d'utilisation ou membres de l'équipe. Si un administrateur configure une URL de console, il peut réduire les autorisations pour la session qui en résulte en utilisant une politique de session. Par exemple, si vous créez un rôle avec read/write accès, vous pouvez configurer une URL qui limite l'accès des utilisateurs à leurs répertoires personnels uniquement.

Les politiques de session sont des politiques avancées que vous transmettez en tant que paramètre lorsque vous créez par programmation une session temporaire pour un rôle ou un utilisateur. Les politiques de session sont utiles pour verrouiller les utilisateurs afin qu'ils n'aient accès qu'aux parties de votre compartiment où les préfixes d'objets contiennent leur nom d'utilisateur. Le schéma suivant montre que les autorisations de la politique de session se situent à l'intersection des politiques de session et des politiques basées sur les ressources, ainsi qu'à l'intersection des politiques de session et des politiques basées sur l'identité.

Autorisations relatives à la politique de session Diagramme de Venn. Montre dans quelle mesure les autorisations efficaces se situent aux intersections entre les politiques basées sur les ressources, les politiques basées sur l'identité et les politiques de session.

Pour plus de détails, consultez la section Politiques de session dans le Guide de l'utilisateur IAM.

Dans AWS Transfer Family, une politique de session n'est prise en charge que lorsque vous effectuez un transfert depuis ou vers Amazon S3. L'exemple de politique suivant est une politique de session qui limite l'accès des utilisateurs à leurs home annuaires uniquement. Notez ce qui suit :

  • Les PutObjectACL relevés GetObjectACL et ne sont requis que si vous devez activer l'accès entre comptes. En d'autres termes, votre serveur Transfer Family doit accéder à un compartiment dans un autre compte.

  • La longueur maximale d'une politique de session est de 2 048 caractères. Pour plus de détails, consultez le paramètre de demande de politique correspondant à l'CreateUseraction dans la référence de l'API.

  • Si votre compartiment Amazon S3 est chiffré à l'aide de AWS Key Management Service (AWS KMS), vous devez spécifier des autorisations supplémentaires dans votre politique. Pour en savoir plus, consultez Protection et chiffrement des données.

  • Pour utiliser les politiques de session afin de créer des autorisations d'accès en fonction des attributs utilisateur sans créer de rôles IAM distincts pour chaque utilisateur, consultezApproches dynamiques de gestion des autorisations.

{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowListingOfUserFolder", "Action": [ "s3:ListBucket" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::${transfer:HomeBucket}" ], "Condition": { "StringLike": { "s3:prefix": [ "${transfer:HomeFolder}/*", "${transfer:HomeFolder}" ] } } }, { "Sid": "HomeDirObjectAccess", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:GetObjectVersion", "s3:GetObjectACL", "s3:PutObjectACL" ], "Resource": "arn:aws:s3:::${transfer:HomeDirectory}/*" } ] }
Note

L'exemple de politique précédent suppose que les répertoires personnels des utilisateurs sont configurés de manière à inclure une barre oblique à la fin, pour indiquer qu'il s'agit d'un répertoire. Si, en revanche, vous définissez la valeur d'un utilisateur HomeDirectory sans la barre oblique finale, vous devez l'inclure dans votre politique.

Dans l'exemple de stratégie précédent, notez l'utilisation des paramètres de transfer:HomeDirectory stratégie transfer:HomeFoldertransfer:HomeBucket, et. Ces paramètres sont définis pour HomeDirectory ce qui est configuré pour l'utilisateur, comme décrit dans HomeDirectory etImplémentation de votre méthode API Gateway. Ces paramètres ont les définitions suivantes :

  • Le transfer:HomeBucket paramètre est remplacé par le premier composant deHomeDirectory.

  • Le transfer:HomeFolder paramètre est remplacé par les parties restantes du HomeDirectory paramètre.

  • La barre oblique (/) initiale du transfer:HomeDirectory paramètre a été supprimée afin qu'il puisse être utilisé dans le cadre d'un Amazon Resource Name (ARN) S3 dans une Resource instruction.

Note

Si vous utilisez des répertoires logiques, c'est-à-dire celui de l'utilisateur, LOGICAL ces paramètres de homeDirectoryType politique (HomeBucketHomeDirectory, etHomeFolder) ne sont pas pris en charge.

Supposons, par exemple, que le HomeDirectory paramètre configuré pour l'utilisateur Transfer Family soit/home/bob/amazon/stuff/.

  • transfer:HomeBucket est défini sur /home.

  • transfer:HomeFolder est défini sur /bob/amazon/stuff/.

  • transfer:HomeDirectorydevienthome/bob/amazon/stuff/.

La première "Sid" permet à l'utilisateur de lister tous les répertoires à partir de/home/bob/amazon/stuff/.

Le second "Sid" limite l'getaccès de l'utilisateur put à ce même chemin,/home/bob/amazon/stuff/.

Exemple de politique read/write d'accès

read/write Autoriser l'accès au compartiment Amazon S3

L'exemple de politique suivant AWS Transfer Family autorise read/write l'accès aux objets de votre compartiment Amazon S3.

Notez ce qui suit :

  • Remplacez amzn-s3-demo-bucket par le nom de votre compartiment Simple Storage Service (Amazon S3).

  • Les PutObjectACL relevés GetObjectACL et ne sont requis que si vous devez activer l'accès entre comptes. En d'autres termes, votre serveur Transfer Family doit accéder à un compartiment dans un autre compte.

  • Les DeleteObjectVersion instructions GetObjectVersion et ne sont requises que si le contrôle de version est activé sur le compartiment Amazon S3 auquel vous accédez.

    Note

    Si vous avez déjà activé la gestion des versions pour votre compartiment, vous devez disposer de ces autorisations, car vous ne pouvez suspendre la gestion des versions que dans Amazon S3, et non la désactiver complètement. Pour plus de détails, consultez la section Compartiments non versionnés, activés pour les versions et suspendus pour les versions.

{ "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:GetObjectTagging", "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:GetObjectVersion", "s3:GetObjectVersionTagging", "s3:GetObjectACL", "s3:PutObjectACL" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*" } ] }
Autoriser l'accès au système de fichiers aux fichiers du système de fichiers Amazon EFS

Note

Outre la politique, vous devez également vous assurer que les autorisations de vos fichiers POSIX accordent l'accès approprié. Pour plus d'informations, consultez Working with users, groups, and permissions at the Network File System (NFS) Level (Utilisation d'utilisateurs, de groupes et d'autorisations au niveau NFS (Network File System)) dans le Guide de l'utilisateur Amazon Elastic File System.

L'exemple de politique suivant accorde l'accès au système de fichiers racine aux fichiers de votre système de fichiers Amazon EFS.

Note

Dans les exemples suivants, remplacez region par votre région, account-id par le compte dans lequel se trouve le fichier et file-system-id par l'ID de votre Amazon Elastic File System (Amazon EFS).

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

L'exemple de politique suivant permet à l'utilisateur d'accéder au système de fichiers de votre système de fichiers Amazon EFS.

{ "Version":"2012-10-17", "Statement": [ { "Sid": "UserFileSystemAccess", "Effect": "Allow", "Action": [ "elasticfilesystem:ClientMount", "elasticfilesystem:ClientWrite" ], "Resource": "arn:aws:elasticfilesystem:us-east-1:123456789012:file-system/file-system-id" } ] }