

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
<a name="requirements-roles"></a>

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 dans[Comment fonctionnent les politiques de session](#session-policy). Vous pouvez également trouver plus d'informations sur les politiques de session dans Politiques [ de ](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) session du Guide * de l'utilisateur * IAM.

**Topics**
+ [Créer un rôle d'utilisateur](#role-create-procedure)
+ [Comment fonctionnent les politiques de session](#session-policy)
+ [Exemple de politique read/write d'accès](#read-write-access)

## Créer un rôle d'utilisateur
<a name="role-create-procedure"></a>

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` ou`GET`).

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](#iam-policy-procedure).

1. 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](#read-write-access).

1. É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](#establish-trust-transfer).

Les procédures suivantes décrivent comment créer une politique et un rôle IAM. <a name="iam-policy-procedure"></a>

**Pour créer une politique IAM pour AWS Transfer Family**

1. Ouvrez la console IAM à l’adresse [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

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

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

1. 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](#read-write-access).

1. 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.<a name="iam-role-procedure"></a>

**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é.

1. 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.

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

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

1. 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.<a name="establish-trust-transfer"></a>

**Étape 1 : Établir une relation d'approbation**
**Note**  
Dans nos exemples, nous utilisons à la fois `ArnLike` et`ArnEquals`. 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.

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

1. 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, voir[Cross-service prévention adjointe confuse](confused-deputy.md).

1. 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](getting-started.md) section, ce rôle et cette politique sont attribués à votre ou à vos utilisateurs.

**Voir aussi**
+ Pour plus d'informations générales sur les rôles IAM, consultez la section [ Création d'un rôle pour déléguer des autorisations à un AWS service ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) dans le Guide de l'utilisateur * IAM. *
+ Pour en savoir plus sur les politiques basées sur l'identité pour les ressources Amazon S3, consultez la section Gestion des [ identités et des accès dans Amazon S3 ](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html) dans le guide de l'utilisateur * Amazon Simple Storage Service. *
+ Pour en savoir plus sur les politiques basées sur l'identité pour les ressources Amazon EFS, consultez [ Utiliser IAM pour contrôler l'accès aux données du système de fichiers ](https://docs.aws.amazon.com/efs/latest/ug/iam-access-control-nfs-efs.html) dans le guide de l'utilisateur * Amazon Elastic File System. *

## Comment fonctionnent les politiques de session
<a name="session-policy"></a>

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](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html), 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](#read-write-access), 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.](https://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/EffectivePermissions-session-rbp-id.png)


Pour plus de détails, consultez la section Politiques de [ session ](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_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 ](https://docs.aws.amazon.com/transfer/latest/APIReference/API_CreateUser.html#API_CreateUser_RequestSyntax) correspondant à l'`CreateUser`action 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](encryption-at-rest.md).
+ 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, consultez[Approches dynamiques de gestion des autorisations](dynamic-permission-management.md).

****  

```
{
    "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:HomeFolder``transfer:HomeBucket`, et. Ces paramètres sont définis pour `HomeDirectory` ce qui est configuré pour l'utilisateur, comme décrit dans [ HomeDirectory ](https://docs.aws.amazon.com/transfer/latest/APIReference/API_CreateUser.html#TransferFamily-CreateUser-request-HomeDirectory) et[Implémentation de votre méthode API Gateway](authentication-api-gateway.md#authentication-api-method). Ces paramètres ont les définitions suivantes :
+ Le `transfer:HomeBucket` paramètre est remplacé par le premier composant de`HomeDirectory`.
+ 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 (`HomeBucket``HomeDirectory`, et`HomeFolder`) 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:HomeDirectory`devient`home/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'`get`accès de l'utilisateur `put` à ce même chemin,`/home/bob/amazon/stuff/`.

## Exemple de politique read/write d'accès
<a name="read-write-access"></a>

**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. ](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Versioning.html#versioning-states)

****  

```
{
    "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](https://docs.aws.amazon.com/efs/latest/ug/accessing-fs-nfs-permissions.html) (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}}"
        }
    ]
}
```