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

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 Transfer Family nécessaires. AWS Transfer Family assume ce rôle dans le contexte d'un utilisateur de Transfer FamilyARN.

  • Rôle d'accès — Permet d'accéder uniquement aux fichiers Amazon S3 en cours de transfert. Pour les AS2 transferts entrants, le rôle d'accès utilise le nom de ressource Amazon (ARN) pour l'accord. Pour les AS2 transferts sortants, le rôle d'accès utilise le ARN pour le 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 d'un serveur Transfer FamilyARN.

  • Rôle de journalisation : utilisé pour enregistrer les entrées sur 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 d'un serveur Transfer FamilyARN. Pour les AS2 transferts sortants, le rôle de journalisation utilise le connecteurARN.

  • 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 flux de travail Transfer FamilyARN.

Outre ces rôles, vous pouvez également utiliser des politiques de session. Une politique de session est utilisée pour limiter l'accès lorsque cela est nécessaire. Notez que ces politiques sont autonomes, c'est-à-dire que vous ne les ajoutez pas à 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 un service, vous pouvez sélectionner Générer automatiquement une politique en fonction du dossier de base. 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 trouverez également plus d'informations sur les politiques de session dans la section Politiques de session du Guide de IAM l'utilisateur.

Créer un rôle d'utilisateur

Lorsque vous créez un utilisateur, vous prenez un certain nombre de décisions concernant son accès. Ces décisions incluent les compartiments Amazon S3 ou les systèmes de EFS fichiers Amazon 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 créez une politique et un rôle basés sur l'identité AWS Identity and Access Management (IAM) qui fournissent ces informations d'accès. Dans le cadre de ce processus, vous permettez à votre utilisateur d'accéder au compartiment Amazon S3 ou au système de EFS fichiers Amazon 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 IAM politique pour AWS Transfer Family. Ceci est décrit dansPour créer une IAM politique pour AWS Transfer Family.

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

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

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

Pour créer une IAM politique pour AWS Transfer Family
  1. Ouvrez la IAM console à 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 politique, choisissez l'JSONonglet.

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

    Vous pouvez accorder un accès en lecture/écriture ou restreindre l'accès des utilisateurs à leur répertoire personnel. Pour de plus amples informations, veuillez consulter Exemple de politique d'accès en lecture/écriture.

  5. Choisissez Réviser la politique et fournissez un nom et une description pour votre politique, puis choisissez Créer une politique.

Ensuite, vous créez un IAM rôle et vous y associez la nouvelle IAM politique.

Pour créer un IAM rôle 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'autorisation, recherchez et choisissez la politique que vous venez de créer, puis choisissez Next : 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 fonctionnellement identiques 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 IAM console, 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 Modifier une relation de confiance, assurez-vous que le service est"transfer.amazonaws.com". La politique d'accès est illustré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 la source ARN est celle 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 en 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 chaque user input placeholder avec vos propres informations.

    Pour plus de détails sur le problème des députés confus et d'autres exemples, voirPrévention du problème de l’adjoint confus entre services.

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

Vous avez maintenant créé un IAM rôle qui permet d' AWS Transfer Family appeler AWS les services en votre nom. Vous avez associé au rôle la IAM politique que vous avez créée pour donner accès à votre utilisateur. Dans la Commencer à utiliser les points de terminaison AWS Transfer Family de 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 plusieurs membres de l'équipe. Si un administrateur configure une console URL, 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 un accès en lecture/écriture, vous pouvez en configurer un URL qui limite l'accès des utilisateurs à leurs seuls répertoires personnels.

Les politiques de session sont des politiques avancées que vous transmettez en 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 sont l'intersection des politiques de session et des politiques basées sur les ressources, ainsi que l'intersection des politiques de session et des politiques basées sur l'identité.

Schéma de Venn des autorisations de politique de session. Montre dans quelle mesure les autorisations sont efficaces à l'intersection des politiques basées sur les ressources, des politiques basées sur l'identité et des politiques de session.

Pour plus de détails, consultez les politiques de session dans le guide de IAM l'utilisateur.

Dans AWS Transfer Family, une politique de session n'est prise en charge que lorsque vous effectuez un transfert vers ou depuis Amazon S3. L'exemple de politique suivant est une stratégie 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 nécessaires que si vous devez activer l'accès multicompte. En d'autres termes, votre serveur Transfer Family doit accéder à un bucket d'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 pour l'CreateUseraction dans la APIréférence.

  • 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 plus de détails, consultez Chiffrement des données dans Amazon S3.

{ "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 le répertoire personnel des utilisateurs est configuré pour inclure une barre oblique finale, pour indiquer qu'il s'agit d'un répertoire. Si, par contre, vous définissez le nom 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 HomeDirectoryetImplé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 de pouvoir être utilisé dans le cadre d'un nom de ressource Amazon S3 (ARN) dans une Resource instruction.

Note

Si vous utilisez des répertoires logiques, c'est-à-dire ceux de l'utilisateur, LOGICAL ces paramètres de homeDirectoryType stratégie (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:HomeBucketest réglé sur/home.

  • transfer:HomeFolderest réglé sur/bob/amazon/stuff/.

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

Le premier "Sid" permet à l'utilisateur de répertorier tous les répertoires à partir de/home/bob/amazon/stuff/.

La seconde "Sid" limite l'utilisateur put et l'getaccès à ce même chemin,/home/bob/amazon/stuff/.

Exemple de politique d'accès en lecture/écriture

Accorder un accès en lecture/écriture au compartiment Amazon S3

L'exemple de politique suivant AWS Transfer Family accorde un accès en lecture/écriture aux objets de votre compartiment Amazon S3.

Notez ce qui suit :

  • Remplacez DOC-EXAMPLE-BUCKET avec le nom de votre compartiment Amazon S3.

  • Les PutObjectACL relevés GetObjectACL et ne sont nécessaires que si vous devez activer l'accès multicompte. En d'autres termes, votre serveur Transfer Family doit accéder à un bucket d'un autre compte.

  • Les DeleteObjectVersion instructions GetObjectVersion and ne sont requises que si le versionnement est activé sur le compartiment Amazon S3 auquel on accède.

    Note

    Si vous avez déjà activé la gestion des versions pour votre compartiment, vous avez besoin 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 les sections Buckets non versionnés, activés pour le versionnement et Suspendus des versions.

{ "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/*" } ] }
Autoriser le système de fichiers à accéder aux fichiers EFS du système de fichiers Amazon

Note

Outre la politique, vous devez également vous assurer que les autorisations relatives à vos POSIX fichiers accordent l'accès approprié. Pour plus d'informations, consultez la section Travailler avec les utilisateurs, les groupes et les autorisations au niveau du système de fichiers réseau (NFS) dans le guide de l'utilisateur d'Amazon Elastic File System.

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

Note

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

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

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

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