

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.

# Applications Web Transfer Family
<a name="web-app"></a>

Vous pouvez créer des applications Web pour activer une interface simple permettant de transférer des données vers et depuis Amazon Simple Storage Service (S3) via un navigateur Web. Cela ne vous oblige pas à créer ou à approvisionner AWS Transfer Family des serveurs.

Avant l'introduction des applications Web Transfer Family, les utilisateurs finaux devaient utiliser un client, une solution personnalisée ou une solution tierce pour accéder à leurs données dans Amazon S3. Cela s'explique par des exigences de sécurité strictes pour les clients et les partenaires, et par le fait que les applications des clients sont difficiles à utiliser pour les utilisateurs non techniques.

Avec le lancement des applications Web, vous pouvez désormais étendre un portail personnalisé, sécurisé et hautement disponible permettant à vos utilisateurs finaux de parcourir, de charger et de télécharger des données dans Amazon S3. Les applications Web sont intégrées de manière native à AWS IAM Identity Center Amazon S3 Access Grants. Cela signifie que seuls vos utilisateurs authentifiés peuvent consulter les données auxquelles ils sont autorisés à accéder. Les applications Web sont conçues à l'aide [de Storage Browser pour Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-browser.html) et offrent les mêmes fonctionnalités à l'utilisateur final dans une offre entièrement gérée, sans avoir à écrire de code ou à héberger votre propre application.

Pour plus d'informations sur les autres applications Services AWS que vous utilisez avec les applications Web Transfer Family, consultez la documentation suivante :
+ [Gestion de l'accès avec S3 Access Grants dans le guide de l'utilisateur d'Amazon Simple Storage Service](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants.html)
+ [AWS IAM Identity Center Guide de l'utilisateur](https://docs.aws.amazon.com/singlesignon/latest/userguide/)
+ [Atelier sur les subventions d'accès Amazon S3](https://catalog.us-east-1.prod.workshops.aws/workshops/77b0af63-6ad2-4c94-bfc0-270eb9358c7a/en-US)
+ [Annonce d'applications AWS Transfer Family Web pour des transferts de fichiers Amazon S3 entièrement gérés](https://aws.amazon.com/blogs/aws/announcing-aws-transfer-family-web-apps-for-fully-managed-amazon-s3-file-transfers/)

Les ressources suivantes sont disponibles pour vous aider à démarrer avec les applications Web Transfer Family.
+ Le guide de l'utilisateur propose une step-by-step procédure détaillée de configuration d'une application Web Transfer Family ici :[Tutoriel : Configuration d'une application Web Transfer Family de base](web-app-tutorial.md).
+ Le **centre de ressources AWS Getting Started** propose un didacticiel ici : [Commencer à utiliser l'application AWS Transfer Family Web](https://aws.amazon.com/getting-started/hands-on/set-up-an-aws-transfer-family-web-app/).
+ La vidéo suivante explique comment démarrer avec les applications Web Transfer Family.  
[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/Ie9M0qBGrCE/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/Ie9M0qBGrCE)

## Régions AWS pour les applications Web Transfer Family
<a name="webapp-regions"></a>

AWS Transfer Family les applications Web sont disponibles dans toutes les régions prises en charge par Transfer Family, comme indiqué dans les [points de terminaison de AWS Transfer Family service](https://docs.aws.amazon.com//general/latest/gr/transfer-service.html#transfer-region), à l'exception du Mexique (centre).

Les points de terminaison VPC pour les applications Web sont pris en charge partout Régions AWS où les applications Web sont disponibles.

## Compatibilité du navigateur pour les applications AWS Transfer Family Web
<a name="webapp-browsers"></a>

Les applications Web Transfer Family sont compatibles avec les navigateurs suivants.


| Navigateur | Version | Compatibilité | 
| --- | --- | --- | 
| Microsoft Edge | Les trois dernières versions | Compatible | 
| Mozilla Firefox | Les trois dernières versions | Compatible | 
| Google Chrome | Les trois dernières versions | Compatible | 
| Apple Safari | Les trois dernières versions | Compatible | 

## Comment créer une application Web Transfer Family
<a name="webapp-process"></a>

Le schéma suivant illustre l'architecture de l'application Web Transfer Family.

![\[Schéma d'architecture illustrant les applications Web Transfer Family Services AWS qui interagissent avec les applications Web Transfer Family.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/webapp-architecture.png)


Sur la base du schéma, vous pouvez voir que les applications Web Transfer Family interagissent avec les éléments suivants Services AWS :
+ Amazon S3 pour le stockage et Amazon S3 Access Grants pour obtenir des informations d'identification de session.
+ AWS IAM Identity Center en tant que fournisseur d'identité fédéré.
+ Amazon CloudFront si vous configurez une URL personnalisée pour votre application Web.

Notez les limites suivantes lorsque vous utilisez des applications Web.
+ Nombre maximum de résultats de recherche par requête : 10 000
+ Les compartiments Amazon S3 utilisés par l'application Web Transfer Family doivent se trouver dans le même compte que l'application Web elle-même. Les buckets multi-comptes ne sont actuellement pas pris en charge.
+ Étendue de recherche maximale par requête : 10 000 fichiers recherchés
+ Taille de téléchargement maximale par fichier : 160 Go (149 GiB)
+ Taille maximale du fichier à copier : 5,36 Go (5 GiB)
+ Les noms de dossiers commençant ou se terminant par des points (.) ne sont pas pris en charge

**Conditions préalables**  
*Dans Gestion des identités et des accès AWS, configurez les rôles nécessaires.* Collez les blocs de code que nous fournissons dans les instructions. Pour plus d'informations sur la configuration des rôles nécessaires, consultez[Configuration des rôles IAM pour les applications Web Transfer Family](webapp-roles.md).
+ Créez un rôle de porteur d'identité.
+ Créez un rôle IAM à utiliser par S3 Access Grants. S3 Access Grants assume ce rôle IAM pour vendre des informations d'identification temporaires au bénéficiaire pour le site Amazon S3 enregistré.

**Processus de création d'une application Web Transfer Family**  
Pour créer votre application Web et permettre à vos utilisateurs finaux de fonctionner, vous devez effectuer les tâches suivantes :

1. *Configurez IAM Identity Center pour qu'il agisse en tant que fournisseur d'identité fédéré.* Effectuez les tâches suivantes dans IAM Identity Center. Pour plus de détails sur la configuration d'IAM Identity Center, consultez[Configurer votre fournisseur d'identité pour les applications Web Transfer Family](webapp-identity-center.md).

   1. Créez une instance IAM Identity Center, si vous n'en avez pas déjà une.

   1. Déterminez votre source d'identité. Il peut s'agir du répertoire IAM Identity Center par défaut ou d'un fournisseur tiers (par exemple Okta).

   1. Créez ou identifiez les utilisateurs ou les groupes qui utiliseront votre application Web. 

   1. Si vous utilisez le répertoire IAM Identity Center comme source d'identité, notez l'utilisateur ou le groupe IDs que vous créez. Vous en aurez besoin ultérieurement lorsque vous créerez une autorisation d'accès à l'aide de S3 Access Grants.

1. *Dans Amazon S3, configurez les autorisations d'accès Amazon S3.* Pour plus d’informations sur S3 Access Grants, consultez [Configurer les subventions d'accès Amazon S3 pour les applications Web Transfer Family](webapp-access-grant.md).
   + Créez une instance S3 Access Grants si vous n'en avez pas déjà une Région AWS.
   + Enregistrez votre position à l'aide du rôle IAM.
   + Créez l'autorisation d'accès.

1. *Dans Transfer Family, effectuez les tâches suivantes.*

   1. Créez l'application Web Transfer Family. Pour plus d'informations sur la création de l'application Web Transfer Family, consultez[Configuration d'une application Web Transfer Family](webapp-configure.md).
**Important**  
Configurez le partage de ressources entre origines (CORS) pour tous les compartiments Amazon S3 utilisés par votre application Web. Pour plus d'informations sur la configuration de CORS, consultez[Configurer le partage de ressources entre origines (CORS) pour votre compartiment](access-grant-cors.md).

   1. Attribuez des utilisateurs ou des groupes à l'application Web. Pour plus d'informations sur la façon d'attribuer des utilisateurs et des groupes, consultez[Attribuer ou ajouter des utilisateurs ou des groupes à une application Web Transfer Family](webapp-add-users.md).

   1. (Facultatif) Mettez à jour le point de terminaison d'accès de votre application Web avec une URL personnalisée. Pour plus d'informations sur la création d'une URL personnalisée, consultez[Mettez à jour votre point de terminaison d'accès avec une URL personnalisée](webapp-customize.md).

   1. Fournissez à vos utilisateurs finaux l'URL du point de terminaison d'accès afin qu'ils puissent se connecter et interagir avec votre application Web.

# Configurer votre fournisseur d'identité pour les applications Web Transfer Family
<a name="webapp-identity-center"></a>

La section suivante décrit comment configurer votre fournisseur d'identité.

Pour commencer, vous devez disposer d'une source d'identité. Vous pouvez utiliser un annuaire IAM Identity Center ou un fournisseur d'identité externe. AWS Directory Service for Microsoft Active Directory Transfer Family utilise IAM Identity Center en tant que fournisseur d'identité fédéré, un système qui stocke les informations d'identification des utilisateurs et authentifie les utilisateurs de plusieurs organisations.

Si vous n'utilisez pas d'annuaire IAM Identity Center comme source d'identité, consultez les rubriques suivantes :
+ [Gérer un fournisseur d'identité externe](https://docs.aws.amazon.com//singlesignon/latest/userguide/manage-your-identity-source-idp.html)
+ [Se connecter à un annuaire Microsoft AD](https://docs.aws.amazon.com//singlesignon/latest/userguide/manage-your-identity-source-ad.html)
+ [Instances d'organisation et de compte d'IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/identity-center-instances.html)
+ [Tutoriels sur les sources d'identité IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/tutorials.html)

**Note**  
Vous ne pouvez avoir qu'une seule source d'identité dans IAM Identity Center, par instance, par. Région AWS Pour plus de détails, consultez la section [Conditions préalables et considérations relatives à l'IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/identity-center-prerequisites.html).

Si vous envisagez d'utiliser le répertoire IAM Identity Center comme source d'identité et que vous souhaitez une configuration rapide, vous pouvez ignorer cette rubrique et passer [Création d'une application Web Transfer Family](webapp-configure.md#web-app-create) à la section Création d'une instance IAM Identity Center à partir de l'assistant.

**AWS IAM Identity Center Pour configurer en vue de son utilisation avec les applications Web Transfer Family**

1. Connectez-vous à la AWS IAM Identity Center console AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/singlesignon/](https://console.aws.amazon.com/singlesignon/).

1. Vous pouvez créer et utiliser une instance de compte ou une instance d'organisation de AWS IAM Identity Center.
   + Pour plus de détails sur les instances de compte, voir [Créer une instance de compte de AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/create-account-instance.html). Avec une instance de compte d'IAM Identity Center, vous pouvez déployer des applications AWS gérées prises en charge et des applications gérées par le client basées sur OpenID Connect (OIDC). Les instances de compte prennent en charge les déploiements isolés d'applications en une seule instance Compte AWS, en tirant parti des fonctionnalités du portail d'identité et d'accès du personnel d'IAM Identity Center.
   + Pour plus de détails sur les instances d'organisation, consultez la section [Instances d'organisation d'IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/organization-instances-identity-center.html). Vous pouvez gérer de manière centralisée l'accès des utilisateurs et des groupes à l'aide d'une seule instance d'organisation.

1. Sur la page des **paramètres** du centre d'identité IAM, notez l'ARN de votre instance. Vous aurez besoin de cette valeur lorsque vous créerez une instance **Amazon S3 Access Grant**.  
![\[Capture d'écran de la console AWS IAM Identity Center montrant la page des paramètres avec l'ARN de l'instance encerclé.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/webapp-identity-center.png)

1. Créez un ou plusieurs utilisateurs et, éventuellement, des groupes, à utiliser avec votre application Web Transfer Family. Si vous utilisez un annuaire IAM Identity Center comme fournisseur d'identité, vous pouvez également ajouter des utilisateurs directement depuis l'application Web elle-même. Pour de plus amples informations, veuillez consulter [Attribuer ou ajouter des utilisateurs ou des groupes à une application Web Transfer Family](webapp-add-users.md).

# Configuration des rôles IAM pour les applications Web Transfer Family
<a name="webapp-roles"></a>

Vous aurez besoin de deux rôles : un à utiliser comme rôle de porteur d'identité pour votre application Web, et un second à utiliser pour configurer une autorisation d'accès. Un rôle de porteur d'identité est un rôle qui inclut l'identité d'un utilisateur authentifié dans ses sessions. Il est utilisé pour demander à S3 Access Grants l'accès aux données au nom de l'utilisateur.

**Note**  
Vous pouvez ignorer la procédure de création d'un rôle de porteur d'identité. Pour plus d'informations sur la création par le service Transfer Family du rôle de porteur d'identité, consultez[Création d'une application Web Transfer Family](webapp-configure.md#web-app-create).  
Vous pouvez ignorer la procédure de création d'un rôle d'autorisation d'accès. Dans la procédure de création d'une autorisation d'accès, à l'étape où vous enregistrez un emplacement S3, choisissez **Create new role**. 

**Créez un rôle de porteur d'identité**

1. Connectez-vous à la console IAM AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)l'adresse.

1. Choisissez **Rôles**, puis **Créer un rôle**.

1. Choisissez **Politique de confiance personnalisée**, puis collez le code suivant.

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

1. Choisissez **Suivant**, puis ignorez **Ajouter des autorisations** et sélectionnez à nouveau **Suivant**.

1. Entrez un nom, par exemple`web-app-identity-bearer`.

1. Choisissez **Créer un rôle** pour créer le rôle du porteur d'identité.

1. Choisissez le rôle que vous venez de créer dans la liste, puis dans le panneau **Politiques d'autorisations**, choisissez **Ajouter des autorisations** > **Créer une politique intégrée**.

1. Dans l'**éditeur de politiques**, sélectionnez **JSON**, puis collez le bloc de code suivant.

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "s3:GetDataAccess",
                   "s3:ListCallerAccessGrants",
                   "s3:ListAccessGrantsInstances"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

1. Pour le nom de la stratégie, entrez`AllowS3AccessGrants`, puis sélectionnez **Créer une politique**.

Ensuite, vous créez le rôle que S3 Access Grants assume pour vendre des informations d'identification temporaires au bénéficiaire.

**Note**  
Si vous autorisez le service à créer le rôle de porteur d'identité pour vous, ce rôle crée une confusion dans la protection des adjoints. Son code est donc différent de celui affiché ici.

**Création d'un rôle d'autorisation d'accès**

1. Connectez-vous à la console IAM AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)l'adresse.

1. Choisissez **Rôles**, puis **Créer un rôle**. Ce rôle doit être autorisé à accéder à vos données S3 dans le Région AWS.

1. Choisissez **Politique de confiance personnalisée**, puis collez le code suivant.

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": "access-grants.s3.amazonaws.com"
               },
               "Action": [
                   "sts:AssumeRole",
                   "sts:SetContext"
               ]
           }
       ]
   }
   ```

1. Choisissez **Suivant** pour ajouter une politique minimale, comme décrit dans [Enregistrer un emplacement](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-location-register.html). Bien que cela ne soit pas recommandé, vous pouvez ajouter la politique FullAccess gérée d'**AmazonS3**, qui peut être trop permissive par rapport à vos besoins.

1. Choisissez **Next**, puis entrez un nom (par exemple`access-grants-location`).

1. Choisissez **Create role** pour créer le rôle.

**Note**  
Si vous autorisez le service à créer le rôle d'autorisation d'accès pour vous, ce rôle crée une confusion dans la protection des adjoints. Son code est donc différent de celui affiché ici.

# Configuration d'une application Web Transfer Family
<a name="webapp-configure"></a>

Cette section décrit les procédures de création d'une application Web Transfer Family. Pour attribuer des utilisateurs et des groupes autorisés à l'utiliser, voir[Attribuer ou ajouter des utilisateurs ou des groupes à une application Web Transfer Family](webapp-add-users.md).

**Note**  
Répétez ces procédures pour ajouter des applications Web supplémentaires. Vous pouvez réutiliser les rôles IAM que vous avez créés précédemment. Assurez-vous d'ajouter les points de terminaison d'accès pour les nouvelles applications Web à la politique CORS (Cross-Origin Resource Sharing) de chaque compartiment.

## Création d'une application Web Transfer Family
<a name="web-app-create"></a>

**Note**  
Si vous n'utilisez pas le répertoire IAM Identity Center pour votre fournisseur d'identité, n'essayez pas de créer une application Web tant que vous n'avez pas déjà configuré IAM Identity Center et configuré un fournisseur d'identité tiers, comme décrit dans. [Configurer votre fournisseur d'identité pour les applications Web Transfer Family](webapp-identity-center.md)

Procédez comme suit pour créer une application Web Transfer Family.

**Pour créer une application Web Transfer Family**

1. Connectez-vous à la AWS Transfer Family console AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

1. Dans le volet de navigation de gauche, sélectionnez **Web apps**.

1. Choisissez **Créer une application Web**.

   Pour l'accès à l'authentification, le volet est rempli comme suit.
   + Si vous avez déjà créé une organisation ou une instance de compte dans AWS IAM Identity Center, le message suivant s'affiche : **Votre AWS Transfer Family application s'est connectée à une instance de compte d'IAM Identity Center**.
   + Si vous possédez déjà une instance de compte et que vous êtes membre d'une instance d'organisation, vous avez la possibilité de choisir l'instance à connecter.
   + Si vous ne possédez pas encore d'instance de compte ou si vous êtes membre d'une instance d'organisation, les options vous sont proposées pour créer une instance de compte.

1. Pour le **type de point de terminaison**, choisissez le type de point de terminaison **accessible au public**. Pour un point de terminaison **hébergé par un VPC**, consultez. [Création d'une application Web Transfer Family dans un VPC](create-webapp-in-vpc.md)

1. Dans le volet **Type d'autorisation**, vous pouvez utiliser un rôle créé précédemment ou demander au service d'en créer un pour vous.
   + Si vous avez déjà créé un rôle de porteur d'identité, choisissez **Utiliser un rôle existant** et choisissez votre rôle dans le menu **Sélectionner un rôle existant**.
   + Pour que le service crée un rôle pour vous, choisissez **Créer et utilisez un nouveau rôle de service**.

1. Dans le volet des **unités de l'application Web**, choisissez une valeur. Une unité d'application Web permet l'activité d'une application Web pendant un maximum de 250 sessions uniques. Lorsque vous créez une application Web, vous fournissez le nombre d'unités dont vous avez besoin en fonction des pics de charge de travail attendus. La modification des unités de votre application Web a un impact sur votre facturation. Pour plus d’informations sur la tarification, consultez la section [AWS Transfer Family Tarification](https://aws.amazon.com/aws-transfer-family/pricing).

1. Si vous utilisez Transfer Family dans un AWS GovCloud (US) Region, vous pouvez cocher la case **point de terminaison compatible FIPS** dans le volet **FIPS** Enabled. Pour toutes les autres options Régions AWS, cette option n'est pas disponible.

1. (Facultatif) Ajoutez une balise pour vous aider à organiser vos applications Web. Nous vous suggérons d'ajouter une balise avec **Name** comme clé et un nom descriptif comme valeur.

1. Choisissez **Suivant**. Sur cet écran, vous pouvez éventuellement fournir un titre pour votre application Web. Si vous ne fournissez pas de titre, le titre par défaut de **Transfer Web App** est fourni. Vous pouvez également télécharger des fichiers image pour votre logo et votre favicon.

1. Choisissez **Suivant**, puis sélectionnez **Créer une application Web**.

![\[Écran qui affiche le tableau de bord des applications Web ainsi que l'élément de menu permettant de le sélectionner dans le panneau de navigation de gauche.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/webapp-transfer-dashboard.png)


**Note**  
Assurez-vous de configurer une politique de partage des ressources entre origines (CORS) pour tous les compartiments accessibles depuis le point de terminaison de l'application Web.

# Création d'une application Web Transfer Family dans un VPC
<a name="create-webapp-in-vpc"></a>

Cette section décrit les procédures de création d'une application Web Transfer Family dans un VPC. Vous pouvez héberger le point de terminaison de votre application Web dans un cloud privé virtuel (VPC) afin de transférer des données vers et depuis un compartiment Amazon S3 sans passer par Internet public. Pour attribuer des utilisateurs et des groupes autorisés à utiliser votre application Web, consultez[Attribuer ou ajouter des utilisateurs ou des groupes à une application Web Transfer Family](webapp-add-users.md).

**Note**  
Pour garantir un flux de end-to-end données privé lors de l'utilisation d'un point de terminaison VPC de l'application Web Transfer Family, vous devez implémenter trois composants supplémentaires. Tout d'abord, configurez un PrivateLink point de terminaison pour les opérations de l'API Amazon S3 Control, qui est nécessaire pour les appels d'API Amazon S3 Access Grants. Ensuite, configurez un point de terminaison pour accéder aux données Amazon S3 à l'aide d'un point de terminaison PrivateLink Amazon S3 Gateway (pour le trafic provenant de votre VPC) ou d'un point de terminaison d'interface Amazon S3 (pour le trafic provenant de réseaux locaux via VPN ou Direct Connect). Troisièmement, bloquez l'accès à votre compartiment Amazon S3 en mettant à jour les politiques du compartiment afin d'autoriser uniquement le trafic provenant de ces points de terminaison VPC. Cette combinaison garantit que tous les transferts de données restent au sein de votre infrastructure réseau privée et ne transitent jamais par l'Internet public.

## Création d'une application Web Transfer Family
<a name="webapp-vpce-create"></a>

**Conditions préalables**
+ AWS IAM Identity Center configuré avec un fournisseur d'identité configuré. Consultez [Configurer votre fournisseur d'identité pour les applications Web Transfer Family](webapp-identity-center.md).
+ Configuration du VPC et des composants réseau. Reportez-vous à la section [Création d'un VPC](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html#create-vpc-and-other-resources).
+ Configuration du point de terminaison d'API pour les opérations Amazon S3 Control. Consultez la section [Accès aux points de terminaison de l'interface Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/privatelink-interface-endpoints.html#s3-creating-vpc).
+ Configuration des points de terminaison VPC pour Amazon S3 (passerelle ou interface). Consultez la section [Types de points de terminaison VPC pour Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/privatelink-interface-endpoints.html#types-of-vpc-endpoints-for-s3). Si vous utilisez un point de terminaison d'interface, vous devez activer le DNS privé. Pour un exemple, consultez [Présentation de la prise en charge du DNS privé pour Amazon S3 avec AWS PrivateLink](https://aws.amazon.com/blogs/storage/introducing-private-dns-support-for-amazon-s3-with-aws-privatelink/).

**Note**  
AWS IAM Identity Center ne prend pas en charge les points de terminaison VPC ; toutes les demandes d'authentification transitent par l'Internet public. En outre, les applications Web Transfer Family nécessitent un accès à Internet pour charger du contenu statique (tel que JavaScript des fichiers CSS et HTML). Les exigences relatives à l'accès public à Internet sont distinctes de celles relatives à l'accès aux données. Votre point de terminaison VPC garantit que les connexions sont acheminées via votre infrastructure VPC.

**Pour créer une application Web Transfer Family**

1. Connectez-vous à la AWS Transfer Family console AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

1. Dans le volet de navigation de gauche, sélectionnez **Web apps**.

1. Choisissez **Créer une application Web**. Pour l'accès à l'authentification, le volet est rempli comme suit.
   + Si vous avez déjà créé une organisation ou une instance de compte dans AWS IAM Identity Center, le message suivant s'affiche : **Votre AWS Transfer Family application s'est connectée à une instance de compte d'IAM Identity Center**.
   + Si vous possédez déjà une instance de compte et que vous êtes membre d'une instance d'organisation, vous avez la possibilité de choisir l'instance à connecter.
   + Si vous ne possédez pas encore d'instance de compte ou si vous êtes membre d'une instance d'organisation, les options vous sont proposées pour créer une instance de compte.

1. Dans la section **Configuration du point de terminaison**, choisissez la manière dont vos utilisateurs accèderont à votre application Web :
   + **Accessible au public** : le point de terminaison de votre application Web est accessible au public via HTTPS. Cette option ne nécessite aucune configuration VPC, ce qui la rend simple à configurer et adaptée aux applications destinées à un large public.
   + **Hébergé par VPC** : le point de terminaison de votre application Web est hébergé dans votre Virtual Private Cloud (VPC), fournissant un accès au réseau privé via votre réseau VPC ou des connexions VPN. AWS Direct Connect Cette option offre une sécurité renforcée grâce à l'isolation du réseau et est recommandée pour les applications internes.
**Note**  
Vous devez disposer d'une configuration VPC à double pile. Pour plus d'informations, consultez [Exemple de configuration VPC à double pile](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-migrate-ipv6-example.html) dans *le guide de l'utilisateur d'Amazon Virtual Private Cloud*. 

     Lors de la configuration d'un point de terminaison hébergé par VPC, vous devez spécifier :
     + **VPC** : sélectionnez un VPC existant ou créez-en un nouveau. Un bouton **Créer un VPC** est disponible.
     + **Zones de disponibilité** : Choisissez les zones de disponibilité dans lesquelles votre terminal sera déployé.
     + **Sous-réseaux** : sélectionnez les sous-réseaux dans chaque zone de disponibilité choisie.
     + **Groupes de sécurité** : sélectionnez ou créez des groupes de sécurité pour contrôler l'accès en fonction des adresses IP sources. S'il n'est pas spécifié, le groupe de sécurité par défaut du VPC est utilisé. Gérez les groupes de sécurité via la console VPC. Configurez vos groupes de sécurité VPC pour autoriser le trafic entrant en provenance de votre réseau via HTTPS sur le port TCP 443. Cela est nécessaire pour l'authentification IAM Identity Center et le chargement du contenu statique de l'application Web. 
**Note**  
Le point de terminaison d'accès ne peut pas être personnalisé pour les points de terminaison VPC. Pour ajouter une URL personnalisée, utilisez le point de terminaison public.

## Étapes postérieures à la création
<a name="webapp-vpce-post-creation"></a>
+ Assurez-vous de configurer une politique de partage des ressources entre origines (CORS) pour tous les compartiments accessibles depuis le point de terminaison de l'application Web. Consultez [Politique de partage des ressources entre origines (CORS)](#webapp-vpce-cors).
+ Mettez à jour votre politique de compartiment pour autoriser uniquement le trafic provenant de votre VPC via le point de terminaison de votre VPC. Consultez [Restriction de l’accès à un point de terminaison d’un VPC spécifique](#webapp-vpce-bucket-policy).
+ Attribuez ou ajoutez des utilisateurs ou des groupes à l'application Web Transfer Family. Consultez [Attribuer ou ajouter des utilisateurs ou des groupes à une application Web Transfer Family](webapp-add-users.md).

## Politique de partage des ressources entre origines (CORS)
<a name="webapp-vpce-cors"></a>

Vous devez configurer le partage de ressources entre origines (CORS) pour tous les buckets utilisés par votre application Web. Pour plus d’informations sur le CORS, consultez [Configurer le partage de ressources entre origines (CORS) pour votre compartiment](access-grant-cors.md).

**Important**  
Avant d'utiliser l'exemple de politique suivant, remplacez l'origine autorisée par votre point de terminaison d'accès. Dans le cas contraire, vos utilisateurs finaux recevront un message d'erreur lorsqu'ils tenteront d'accéder à un emplacement sur votre application Web.

**Exemple de politique :**

```
[
  {
    "AllowedHeaders": [
      "*"
    ],
    "AllowedMethods": [
      "GET",
      "PUT",
      "POST",
      "DELETE",
      "HEAD"
    ],
    "AllowedOrigins": [
      "https://vpce-1234567-example.vpce-mq.transfer-webapp.us-east-1.on.aws"
    ],
    "ExposeHeaders": [
      "last-modified",
      "content-length",
      "etag",
      "x-amz-version-id",
      "content-type",
      "x-amz-request-id",
      "x-amz-id-2",
      "date",
      "x-amz-cf-id",
      "x-amz-storage-class",
      "access-control-expose-headers"
    ],
    "MaxAgeSeconds": 3000
  }
]
```

## Restriction de l’accès à un point de terminaison d’un VPC spécifique
<a name="webapp-vpce-bucket-policy"></a>

Voici un exemple de stratégie de compartiment Amazon S3 qui restreint l’accès à un compartiment spécifique, `amzn-s3-demo-bucket`, uniquement à partir du point de terminaison d’un VPC doté de l’ID `vpce-1a2b3c4d`. Si le point de terminaison spécifié n’est pas utilisé, la politique refuse tout accès au compartiment. La condition `aws:SourceVpce` spécifie le point de terminaison. La condition `aws:SourceVpce` ne requiert pas d'ARN pour la ressource du point de terminaison de VPC, uniquement l'ID du point de terminaison de VPC. Pour plus d'informations sur la mise à jour de votre politique de compartiment afin d'autoriser uniquement le trafic provenant de votre VPC, consultez la section [Contrôle de l'accès depuis les points de terminaison du VPC](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies-vpc-endpoint.html) à l'aide de politiques de compartiment. Pour plus d'informations sur l'utilisation de conditions dans une politique, consultez la section [Exemples de politiques de bucket utilisant des clés de condition](https://docs.aws.amazon.com/AmazonS3/latest/userguide/amazon-s3-policy-keys.html). Pour appliquer cette politique, vous devez créer un point de terminaison [Amazon S3 VPC.](https://docs.aws.amazon.com/AmazonS3/latest/userguide/privatelink-interface-endpoints.html)

**Important**  
Avant d’utiliser l’exemple de stratégie suivant, remplacez l’ID de point de terminaison du VPC par une valeur appropriée pour votre cas d’utilisation. Dans le cas contraire, vous ne parviendrez pas à accéder à votre compartiment.

```
{
  "Version":"2012-10-17",
  "Id": "Policy1415115909152",
  "Statement": [
    {
      "Sid": "Access-to-specific-VPCE-only",
      "Principal": "*",
      "Action": "s3:*",
      "Effect": "Deny",
      "Resource": ["arn:aws:s3:::amzn-s3-demo-bucket",
                   "arn:aws:s3:::amzn-s3-demo-bucket/*"],
      "Condition": {
        "StringNotEquals": {
          "aws:SourceVpce": "vpce-1a2b3c4d"
        }
      }
    }
  ]
}
```

# Attribuer ou ajouter des utilisateurs ou des groupes à une application Web Transfer Family
<a name="webapp-add-users"></a>

Après avoir créé une application Web Transfer Family, vous pouvez attribuer des utilisateurs et des groupes qui peuvent ensuite accéder à l'application Web. Vous pouvez soit récupérer les utilisateurs déjà créés et stockés dans IAM Identity Center, soit [ajouter directement de nouveaux utilisateurs](https://docs.aws.amazon.com/singlesignon/latest/userguide/addusers.html) (si vous utilisez un annuaire IAM Identity Center comme fournisseur d'identité). Si vous ajoutez de nouveaux utilisateurs, ils sont également ajoutés à votre instance IAM Identity Center.

Notez ce qui suit :
+ Vous ne pouvez ajouter de nouveaux utilisateurs que si vous utilisez le répertoire IAM Identity Center comme source d'identité et si vous disposez des autorisations appropriées. Si vous êtes membre d'une instance d'organisation, vous ne disposez peut-être pas des autorisations nécessaires pour ajouter des utilisateurs.
**Note**  
Si vous n'attribuez pas d'utilisateurs ou de groupes à votre application, vos utilisateurs recevront un message d'erreur lorsqu'ils tenteront de se connecter à votre application Web.
+ Si vous créez un nouvel utilisateur, vous devez également créer une autorisation d'accès S3 pour cet utilisateur afin qu'il puisse accéder aux données de votre application Web.
+ Une fois que vous avez créé un nouvel utilisateur, celui-ci reçoit un e-mail d'intégration d'IAM Identity Center contenant des instructions sur la marche à suivre.

**Pour attribuer des utilisateurs à une application Web Transfer Family**

1. Accédez à votre liste d'applications Web et choisissez celle que vous souhaitez modifier.

1. Choisissez **Assign users and groups** (Attribuer des utilisateurs et des groupes).  
![\[Écran présentant les détails d'une application Web sélectionnée.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/webapp-transfer-details.png)

1. Pour attribuer des utilisateurs que vous avez précédemment créés dans IAM Identity Center, sélectionnez **Attribuer des utilisateurs et des groupes existants**. Pour créer de nouveaux utilisateurs, passez directement à l'étape 4.

   1. Un écran d'information apparaît. Choisissez **Commencer** pour continuer.

   1. Recherchez l'utilisateur. Notez qu'aucun utilisateur n'apparaît tant que vous n'avez pas commencé à saisir vos critères de recherche. Vous devez effectuer la recherche par *nom d'affichage*, et non par nom d'*utilisateur*, s'il est différent. Seules les correspondances exactes sont renvoyées. Si vous ne trouvez pas votre utilisateur, accédez à la console de gestion IAM Identity Center, trouvez-le, puis copiez-collez son nom d'affichage ici.  
![\[Écran affichant la boîte de dialogue de recherche permettant d'ajouter des utilisateurs et des groupes à votre application Web.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/webapp-transfer-add-user.png)

   1. Choisissez les utilisateurs et les groupes à ajouter, puis choisissez **Attribuer**.

1. Pour créer un nouvel utilisateur, sélectionnez **Ajouter et attribuez de nouveaux utilisateurs**.

   1. Un écran d'information apparaît. Choisissez **Commencer** pour continuer.

   1. Choisissez **Add new users (Ajouter de nouveaux utilisateurs)**.

   1. Entrez les informations utilisateur suivantes dans la boîte de dialogue : nom d'utilisateur, prénom et adresse e-mail.   
![\[Écran affichant la boîte de dialogue Ajouter de nouveaux utilisateurs.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/webapp-transfer-add-user-new.png)

   1. Choisissez **Suivant**, puis **Ajouter pour ajouter** l'utilisateur et fermer la boîte de dialogue, ou **Ajouter un nouvel utilisateur** pour créer un autre utilisateur.

# Configurer le partage de ressources entre origines (CORS) pour votre compartiment
<a name="access-grant-cors"></a>

Vous devez configurer le partage de ressources entre origines (CORS) pour tous les buckets utilisés par votre application Web. Une *configuration CORS* est un document qui définit des règles identifiant les origines auxquelles vous autoriserez l'accès à votre bucket. Pour plus d'informations sur CORS, voir [Configuration du partage de ressources entre origines (CORS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/enabling-cors-examples.html?icmpid=docs_amazons3_console)).

**Important**  
Si vous ne configurez pas CORS, vos utilisateurs finaux reçoivent un message d'erreur lorsqu'ils tentent d'accéder à un emplacement sur votre application Web.

**Pour configurer le partage de ressources entre origines (CORS) pour votre compartiment Amazon S3**

1. Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Choisissez **Buckets** dans le panneau de navigation de gauche et recherchez votre compartiment dans la boîte de dialogue de recherche, puis choisissez l'onglet **Autorisations**.

1. Dans **le partage de ressources entre origines (CORS)**, choisissez **Modifier** et collez le code suivant. *WebAppEndpoint*Remplacez-le par le point de terminaison d'accès réel de votre application Web. Il peut s'agir du point de terminaison d'accès public ou hébergé par un VPC créé lors de la création de l'application Web, ou d'un point de terminaison d'accès personnalisé, si vous en créez un. Veillez à ne pas saisir de barres obliques à la fin, car cela entraîne des erreurs lorsque les utilisateurs tentent de se connecter à votre application Web.
   + Exemple incorrect : `https://webapp-c7bf3423.transfer-webapp.us-east-2.on.aws/`
   + Exemples corrects :
     + `https://webapp-c7bf3423.transfer-webapp.us-east-2.on.aws`
     + `https://vpce-05668789767a-fh45z079.vpce-mq.transfer-webapp.us-east-1.on.aws`

   Si vous réutilisez un bucket pour plusieurs applications Web, ajoutez leurs points de terminaison à la liste. `AllowedOrigins`

   ```
   [
     {
       "AllowedHeaders": [
         "*"
       ],
       "AllowedMethods": [
         "GET",
         "PUT",
         "POST",
         "DELETE",
         "HEAD"
       ],
       "AllowedOrigins": [
         "https://WebAppEndpoint"
       ],
       "ExposeHeaders": [
         "last-modified",
          "content-length",
         "etag",
         "x-amz-version-id",
         "content-type",
         "x-amz-request-id",
         "x-amz-id-2",
         "date",
         "x-amz-cf-id",
         "x-amz-storage-class",
         "access-control-expose-headers"
        ],
       "MaxAgeSeconds": 3000
     }
   ]
   ```

1.  Choisissez **Enregistrer les modifications** pour mettre à jour le CORS.

Pour tester votre configuration CORS, voir [Tester CORS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/testing-cors.html).

# Configurer les subventions d'accès Amazon S3 pour les applications Web Transfer Family
<a name="webapp-access-grant"></a>

Cette rubrique décrit comment ajouter une autorisation d'accès à l'aide d'Amazon S3 Access Grants. Cette autorisation d'accès définit l'accès à vos données directement à vos utilisateurs et aux groupes de votre annuaire d'entreprise et octroie just-in-time, au moindre privilège, des informations d'identification temporaires basées sur des autorisations. Une autorisation individuelle dans une instance S3 Access Grants permet à un utilisateur ou à un groupe spécifique d'un annuaire d'entreprise d'accéder à un emplacement enregistré dans votre instance S3 Access Grants. Pour plus de détails, consultez les [concepts relatifs aux subventions d'accès S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-concepts.html) dans le guide de l'utilisateur Amazon S3.

**Note**  
Vous ne pouvez pas utiliser le répertoire IAM Identity Center avec S3 Access Grants autrement qu'avec les applications Web Transfer Family.

Vous devez spécifier une autorisation d'accès Amazon S3 pour la propagation de l'identité. Une autorisation d'accès Amazon S3 stocke les données auxquelles vos utilisateurs finaux doivent accéder. Lorsque vos utilisateurs finaux se connectent à votre application Web Transfer Family, S3 Access Grants transmet l'identité d'un utilisateur à l'application sécurisée. Cette section décrit comment ajouter et configurer une instance d'autorisation d'accès Amazon S3, puis une autorisation d'accès pour un compartiment Amazon S3.

**Note**  
Préparez l'[ARN et l'ID d'utilisateur ou de groupe de votre instance IAM Identity Center](webapp-identity-center.md#identity-center-arn), car vous en aurez besoin pour terminer la configuration de votre autorisation d'accès.

**Pour créer une subvention à l'aide d'Amazon S3 Access Grants**

1. Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Créez un bucket ou notez un bucket existant à utiliser avec votre application Web. Pour plus d'informations sur la création de buckets, consultez le [guide de l'utilisateur Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/).

1. Dans le volet de navigation de gauche, choisissez **Access Grants**.

1. Choisissez **Create S3 Access Grants instance** et fournissez les informations suivantes.
   + Sélectionnez **Ajouter une instance IAM Identity Center dans *your-Region*** laquelle se *your-Region* trouve votre Région AWS. Laissez cette case décochée si vous n'utilisez pas IAM Identity Center comme fournisseur d'identité.
   + Collez l'ARN de votre instance IAM Identity Center.  
![\[Écran présentant la boîte de dialogue d'instance Amazon S3 Create Access Grants avec des exemples de valeurs.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/webapp-grants-instance.png)

   Choisissez **Next (Suivant)** pour continuer.

1. **Enregistrez des compartiments ou des préfixes S3 en tant qu'emplacements**. Nous vous recommandons d'enregistrer l'emplacement par défaut et de le mapper à un rôle IAM. `s3://` L'emplacement sur ce chemin par défaut couvre l'accès à tous vos compartiments Amazon S3 Région AWS de votre compte. Lorsque vous créez une autorisation d'accès, vous pouvez restreindre la portée à un bucket, un préfixe ou un objet dans l'emplacement par défaut.

   Saisissez les informations suivantes. 
   + Pour le **champ d'application**, recherchez un compartiment ou entrez le nom de votre compartiment, et éventuellement un préfixe.
   + Pour le rôle IAM, choisissez **Create new role** pour que le service crée un rôle.

     Vous pouvez également créer le rôle vous-même, comme décrit dans[Configuration des rôles IAM pour les applications Web Transfer Family](webapp-roles.md), puis saisir son ARN ici.   
![\[Écran présentant la boîte de dialogue Enregistrer les compartiments ou les préfixes S3 d'Amazon S3 en tant qu'emplacements avec les paramètres Scope et Create new role par défaut.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/webapp-grants-register-new.png)

   Choisissez **Next (Suivant)** pour continuer.

1. Dans l'écran **Créer une subvention**, fournissez les informations suivantes.
   + Pour **les autorisations**, sélectionnez **Lire** et **écrire**. Les autorisations d'accès peuvent être en lecture seule ou en lecture et écriture, mais l'écriture seule n'est pas prise en charge.
   + Pour le **type de bénéficiaire**, choisissez **Directory identity dans IAM Identity Center**.
   + Pour le **type d'identité du répertoire**, sélectionnez **Utilisateur** ou **Groupe**, selon le type que vous souhaitez enregistrer maintenant.
   + Dans **IAM Identity Center user/group ID**, collez l'ID de votre utilisateur ou de votre groupe. Cet identifiant est disponible dans la console **IAM Identity Center** et dans votre application Web Transfer Family, dans le tableau des utilisateurs et des groupes.  
![\[Écran présentant la boîte de dialogue Amazon S3 Create Grant avec des exemples de valeurs.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/webapp-access-grant-details.png)

   Choisissez **Suivant**.

1. Vérifiez les paramètres à l'écran. Si tout est correct, choisissez **Terminer** pour créer l'autorisation d'accès. Vous pouvez également choisir **Annuler** ou **Précédent** pour apporter des modifications.  
![\[Écran présentant la boîte de dialogue Réviser et terminer avec des exemples de valeurs.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/webapp-access-grants-review.png)

![\[Écran présentant la nouvelle autorisation d'accès sous forme de liste.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/webapp-access-grants-finished.png)


La configuration de votre application Web est alors terminée. Les utilisateurs et les groupes que vous avez configurés peuvent accéder à l'application Web au point d'accès, se connecter et charger et télécharger des fichiers.

# Mettez à jour votre point de terminaison d'accès avec une URL personnalisée
<a name="webapp-customize"></a>

Le point de terminaison d'accès par défaut créé avec votre application Web contient des identifiants générés par le service. Pour offrir une expérience personnalisée, vous pouvez fournir une URL personnalisée permettant à vos utilisateurs d'accéder à votre application Web Transfer Family. Cette rubrique décrit comment mettre à jour votre point de terminaison d'accès avec une URL personnalisée.

**Note**  
Le point de terminaison d'accès ne peut pas être personnalisé pour les points de terminaison VPC. Pour ajouter une URL personnalisée, utilisez le point de terminaison public.

**Note**  
La procédure suivante repose sur l'utilisation du [modèle de CloudFormation pile](https://s3.amazonaws.com/aws-transfer-resources/custom-domain-templates/aws-transfer-web-app-custom-domain-distribution.template.yml) recommandé. Vous n'avez pas besoin d'utiliser le modèle : vous pouvez créer la distribution en utilisant directement la [CloudFront console](https://console.aws.amazon.com/cloudfront/v4/home).  
Cependant, le modèle fourni simplifie le processus et permet d'éviter les erreurs de configuration. Si vous n'utilisez pas le CloudFormation modèle, veillez à suivre les consignes suivantes :  
La [politique de demande d'origine](https://docs.aws.amazon.com//AmazonCloudFront/latest/DeveloperGuide/using-managed-origin-request-policies.html#managed-origin-request-policy-cors-custom) doit transmettre les chaînes de requête et les cookies à l'origine, et non l'`Host`en-tête à l'origine.
La [politique de cache](https://docs.aws.amazon.com//AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html#managed-cache-policy-origin-cache-headers) ne doit pas inclure l'`Host`en-tête dans la clé de cache.

**Pour personnaliser l'URL de votre application Web**

1. Créez une CloudFront distribution à l'aide du AWS CloudFormation modèle fourni par Transfer Family, [modèle de CloudFormation pile](https://s3.amazonaws.com/aws-transfer-resources/custom-domain-templates/aws-transfer-web-app-custom-domain-distribution.template.yml).

   1. Ouvrez la CloudFormation console à l'adresse [https://console.aws.amazon.com/cloudformation.](https://console.aws.amazon.com/cloudformation/)

   1. Choisissez **Create stack** et spécifiez ce qui suit.
      + Dans la section **Prérequis - Préparer le modèle**, **choisissez Choisir un modèle existant**.
      + Dans la section **Spécifier un modèle**, sélectionnez **Charger un modèle de fichier**.
      + Enregistrez le fichier du [modèle de CloudFormation pile]( https://s3.amazonaws.com/aws-transfer-resources/custom-domain-templates/aws-transfer-web-app-custom-domain-distribution.template.yml), puis téléchargez-le ici.

   1. Choisissez **Next** et fournissez les informations suivantes.
      + **WebAppEndpoint**: copiez la valeur depuis votre application Web
      + **AccessEndpoint**: indiquez le nom de domaine personnalisé que vous souhaitez utiliser
      + **AcmCertificateArn**: fournir l'ARN d'un SSL/TLS certificat public ou privé stocké dans AWS Certificate Manager 

   1. Terminez l' CloudFormation assistant jusqu'à ce que votre nouvelle pile soit créée.

1. Dans votre application Web, modifiez le point de **terminaison Access** en mettant à jour **l'URL personnalisée** par l'URL que vous souhaitez utiliser.  
![\[Écran présentant un point de terminaison d'accès personnalisé pour une application Web Transfer Family.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/webapp-custom-name.png)

1. Créez des enregistrements DNS pour acheminer le trafic de votre nom de domaine personnalisé vers la CloudFront distribution. Si vous utilisez Route 53 pour la zone, vous pouvez créer un enregistrement Alias ou CNAME pour le nom de CloudFront distribution (par exemple, **xxxx.cloudfront.net**). Pour plus d'informations sur l'utilisation d'Amazon Route 53 avec CloudFront, consultez [Configuration d'Amazon Route 53 pour acheminer le trafic vers une CloudFront distribution](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-cloudfront-distribution.html#routing-to-cloudfront-distribution-config).

1. Mettez à jour votre politique de partage de ressources entre origines en remplaçant le point de terminaison d'accès par défaut par la ligne suivante dans le bloc de `AllowedOrigins` code :

   ```
    "https://custom-url"
   ```

   Vous devez effectuer cette modification pour chaque compartiment utilisé par votre application Web.

   Après avoir effectué votre mise à jour, la `AllowedOrigins` section de votre politique CORS devrait ressembler à ce qui suit :

   ```
   "AllowedOrigins": [
       "https://custom-url"],
   ```

   Vous n'avez besoin que d'une seule AllowedOrigins entrée pour chaque application Web Transfer Family.

   Consultez la procédure de [configuration du partage de ressources entre origines (CORS) pour votre compartiment Amazon S3](access-grant-cors.md#cors-configure) pour plus de détails.

Vous pouvez désormais accéder à votre point de terminaison d'accès personnalisé et partager ce lien avec vos utilisateurs finaux.

# CloudTrail enregistrement pour les applications Web Transfer Family
<a name="webapp-cloudtrail"></a>

CloudTrail est un Service AWS qui crée un enregistrement des actions entreprises au sein de votre Compte AWS. Il surveille et enregistre en permanence les opérations d'API pour des activités telles que les connexions à la console, AWS Command Line Interface les commandes et SDK/API les opérations. Cela vous permet de garder un journal indiquant qui a pris quelle action, quand et d'où. CloudTrail contribue à l'audit, à la gestion des accès et à la conformité réglementaire en fournissant un historique de toutes les activités de votre AWS environnement.

Pour les applications Web Transfer Family, vous pouvez suivre à la fois les événements d'authentification et les opérations d'accès aux données effectuées par vos utilisateurs. Pour activer la journalisation complète, vous devez :

1. Configurez CloudTrail pour consigner les événements de gestion afin de suivre les activités d'authentification.

1. Activez les événements de données Amazon S3 pour suivre les opérations sur les fichiers effectuées via votre application Web.

**Voir aussi**
+ [CloudTrail cas d'utilisation d'IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/sso-cloudtrail-use-cases.html)
+ [Comprendre les événements de connexion à IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/understanding-sign-in-events.html)
+ [CloudTrail Élément UserIdentity](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html)
+ [Activation de la journalisation des CloudTrail événements pour les compartiments et les objets S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-cloudtrail-logging-for-s3.html)
+ [ CloudTrailÉvénements Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/cloudtrail-logging-s3-info.html)

## Activation des événements de données Amazon S3
<a name="webapp-enable-s3-data-events"></a>

Pour suivre les opérations de fichiers effectuées via les applications Web Transfer Family sur vos compartiments Amazon S3, vous devez activer les événements de données pour ces compartiments. Les événements de données fournissent une activité d'API au niveau de l'objet et sont particulièrement utiles pour suivre les chargements de fichiers, les téléchargements et les autres opérations effectuées par les utilisateurs d'applications Web.

Pour activer les événements de données Amazon S3 pour votre application Web Transfer Family :

1. Ouvrez la CloudTrail console à l'adresse [https://console.aws.amazon.com/cloudtrail/](https://console.aws.amazon.com/cloudtrail/).

1. Dans le volet de navigation, choisissez **Sentiers**, puis sélectionnez un parcours existant ou créez-en un nouveau.

1. Sous **Sélecteurs d'événements avancés**, choisissez **Modifier**.

1. Choisissez **Ajouter un sélecteur d'événements avancé**.

1. Pour le premier sélecteur de champs :
   + Régler **le champ** sur `eventCategory`
   + Définir **l'opérateur** sur **Equals**
   + Définissez **la valeur** sur `Data`

1. Choisissez **Ajouter un champ** et pour le second sélecteur de champ :
   + Régler **le champ** sur `resources.type`
   + Définir **l'opérateur** sur **Equals**
   + Définissez **la valeur** sur `AWS::S3::Object`

1. (Facultatif) Pour enregistrer les événements relatifs à des compartiments spécifiques uniquement, choisissez **Ajouter un champ** et ajoutez :
   + Régler **le champ** sur `resources.ARN`
   + Configurer **l'opérateur** pour qu'il **commence par**
   + Définissez **la valeur** sur `arn:aws:s3:::your-bucket-name/`

1. Sélectionnez **Enregistrer les modifications**.

Vous pouvez également utiliser l'ancienne configuration des événements de données :

1. Sous **Événements liés aux données**, sélectionnez **Modifier**.

1. Pour le **type d'événement Data**, sélectionnez le **bucket S3 et les événements d'objet**.

1. Choisissez les compartiments Amazon S3 pour lesquels enregistrer les événements de données. Vous pouvez sélectionner **Tous les compartiments S3 actuels et futurs ou spécifier des compartiments** individuels.

1. Choisissez de consigner les événements de **lecture**, **d'écriture** ou les deux.

1. Sélectionnez **Enregistrer les modifications**.

Après avoir activé les événements de données, vous pouvez accéder à ces journaux dans le compartiment Amazon S3 configuré pour CloudTrail. Les journaux contiennent des informations telles que l'utilisateur qui a effectué l'action, l'horodatage de l'action, l'objet spécifique concerné et le `onBehalfOf` champ permettant de suivre les `userId` actions effectuées via les applications Web Transfer Family.

### Trouver et consulter vos journaux
<a name="webapp-find-view-logs"></a>

Il existe plusieurs méthodes pour rechercher et consulter CloudTrail les journaux de votre application Web Transfer Family :

#### Utilisation de la CloudTrail console
<a name="webapp-find-logs-console"></a>

Le moyen le plus rapide de consulter les événements récents :

1. Ouvrez la CloudTrail console à l'adresse [https://console.aws.amazon.com/cloudtrail/](https://console.aws.amazon.com/cloudtrail/).

1. Choisissez **Historique des événements**.

1. Filtrer les événements par :
   + **Source de l'événement** : `signin.amazonaws.com` pour les événements liés aux applications Web
   + **Source de l'événement** : `s3.amazonaws.com` pour les opérations sur les fichiers

1. Cliquez sur n'importe quel événement pour afficher des informations détaillées.

#### Accès aux journaux dans Amazon S3
<a name="webapp-find-logs-s3"></a>

Pour accéder à l'intégralité des fichiers journaux stockés dans Amazon S3 :

1. Identifiez le compartiment Amazon S3 de votre CloudTrail parcours :

   ```
   aws cloudtrail describe-trails --query 'trailList[*].[Name,S3BucketName]' --output table
   ```

1. Accédez aux fichiers journaux dans Amazon S3 :

   ```
   aws s3 ls s3://your-cloudtrail-bucket/AWSLogs/account-id/CloudTrail/region/YYYY/MM/DD/
   ```

1. Téléchargez et recherchez dans les fichiers journaux l'identifiant de votre application Web :

   ```
   aws s3 cp s3://your-cloudtrail-bucket/AWSLogs/account-id/CloudTrail/region/YYYY/MM/DD/ . --recursive
   gunzip *.json.gz
   grep -l "webapp-1a2b3c4d5e6f7g8h9" *.json
   ```

#### Utilisation AWS CLI pour rechercher des événements
<a name="webapp-find-logs-cli"></a>

Recherchez des événements d'applications Web spécifiques à l'aide de AWS CLI :

```
aws logs filter-log-events \
  --log-group-name /aws/cloudtrail/your-trail-name \
  --filter-pattern "webapp-1a2b3c4d5e6f7g8h9" \
  --start-time $(date -d "1 day ago" +%s)000
```

Ou recherchez des événements d'authentification :

```
aws logs filter-log-events \
  --log-group-name /aws/cloudtrail/your-trail-name \
  --filter-pattern "UserAuthentication" \
  --start-time $(date -d "1 day ago" +%s)000
```

## Exemples de journaux d'authentification
<a name="webapp-authentication-log-examples"></a>

CloudTrail enregistre les événements d'authentification pour les applications Web Transfer Family, ce qui peut vous aider à suivre les tentatives de connexion réussies et infructueuses. Ces journaux sont particulièrement utiles à des fins de surveillance de la sécurité et de conformité.

**Topics**
+ [Exemple d'entrée de journal pour la vérification des informations d'identification](#webapp-credential-verification-example)
+ [Exemple d'entrée de journal pour l'authentification de connexion](#webapp-signin-authentication-example)
+ [Exemple d'entrée de journal pour ListCallerAccessGrants](#webapp-list-caller-access-grants-example)
+ [Exemple d'entrée de journal pour un GetDataAccess événement](#webapp-get-data-access-example)

### Exemple d'entrée de journal pour la vérification des informations d'identification
<a name="webapp-credential-verification-example"></a>

L'exemple suivant montre une entrée de CloudTrail journal pour un événement de vérification des informations d'identification qui se produit pendant le processus d'authentification.

```
{
    "eventVersion": "1.09",
    "userIdentity": {
        "type": "Unknown",
        "principalId": "123456789012",
        "arn": "",
        "accountId": "123456789012",
        "accessKeyId": "",
        "userName": "demo-user-2",
        "onBehalfOf": {
            "userId": "f12bb510-a011-702f-10dd-5607e2776dbc",
            "identityStoreArn": "arn:aws:identitystore::123456789012:identitystore/d-9a670c546e"
        },
        "credentialId": "58138a11-87e5-401d-8f0b-7161c9389112"
    },
    "eventTime": "2025-08-08T15:29:30Z",
    "eventSource": "signin.amazonaws.com",
    "eventName": "CredentialVerification",
    "awsRegion": "us-east-2",
    "sourceIPAddress": "192.0.2.224",
    "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36",
    "requestParameters": null,
    "responseElements": null,
    "additionalEventData": {
        "AuthWorkflowID": "f304a48b-7b6d-41c8-b136-4f49c91c1f31",
        "CredentialType": "PASSWORD"
    },
    "requestID": "ff936828-4a81-453c-802d-81368b6bca1a",
    "eventID": "70cb7008-493d-42c2-a9eb-38bf168af6a8",
    "readOnly": false,
    "eventType": "AWS ServiceEvent",
    "managementEvent": true,
    "recipientAccountId": "123456789012",
    "serviceEventDetails": {
        "CredentialVerification": "Success"
    },
    "eventCategory": "Management"
}
```

Cet événement fournit des informations supplémentaires sur l'étape de vérification des informations d'identification du processus d'authentification, en indiquant l'ID d'identification et l'ID du flux de travail d'authentification spécifiques utilisés.

### Exemple d'entrée de journal pour l'authentification de connexion
<a name="webapp-signin-authentication-example"></a>

L'exemple suivant montre une entrée de CloudTrail journal pour un événement d'authentification utilisateur réussi lors de la connexion à une application Web à l'aide d'IAM Identity Center.

```
{
    "eventVersion": "1.09",
    "userIdentity": {
        "type": "Unknown",
        "principalId": "123456789012",
        "arn": "",
        "accountId": "123456789012",
        "accessKeyId": "",
        "userName": "demo-user-2",
        "onBehalfOf": {
            "userId": "f12bb510-a011-702f-10dd-5607e2776dbc",
            "identityStoreArn": "arn:aws:identitystore::123456789012:identitystore/d-9a670c546e"
        },
        "credentialId": "b41f0a02-1635-4d07-a414-aecf9e14b906"
    },
    "eventTime": "2025-08-07T14:09:07Z",
    "eventSource": "signin.amazonaws.com",
    "eventName": "UserAuthentication",
    "awsRegion": "us-east-2",
    "sourceIPAddress": "192.0.2.14",
    "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36",
    "requestParameters": null,
    "responseElements": null,
    "additionalEventData": {
        "AuthWorkflowID": "7a4ef12c-7c4b-4bc3-b5bd-c2469afcc795",
        "LoginTo": "https://example.awsapps.com/start/",
        "CredentialType": "PASSWORD"
    },
    "requestID": "fc91bcf0-ac53-4454-a1a0-fb911eacc095",
    "eventID": "18522007-1e60-4a71-b2b5-150baf504ab3",
    "readOnly": false,
    "eventType": "AWS ServiceEvent",
    "managementEvent": true,
    "recipientAccountId": "123456789012",
    "serviceEventDetails": {
        "UserAuthentication": "Success"
    },
    "eventCategory": "Management"
}
```

Dans cet exemple, notez les champs importants suivants :
+ `eventSource`: affiche « signin.amazonaws.com », indiquant qu'il s'agit d'un événement d'authentification IAM Identity Center.
+ `userIdentity.onBehalfOf`: contient l'ID utilisateur et l'ARN du magasin d'identités de l'utilisateur de l'application Web.
+ `additionalEventData.LoginTo`: indique l'URL de l'application IAM Identity Center à laquelle vous accédez.
+ `additionalEventData.CredentialType`: indique la méthode d'authentification utilisée (MOT DE PASSE).
+ `serviceEventDetails`: affiche le résultat de l'authentification (réussite).

### Exemple d'entrée de journal pour ListCallerAccessGrants
<a name="webapp-list-caller-access-grants-example"></a>

L'exemple suivant montre une entrée de CloudTrail journal pour un ListCallerAccessGrants événement qui se produit lorsque l'application Web Transfer Family demande les autorisations d'accès disponibles pour un utilisateur.

```
{
    "eventVersion": "1.11",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AROAEXAMPLEID:aws-transfer",
        "arn": "arn:aws:sts::123456789012:assumed-role/AWS TransferWebAppIdentityBearer-us-east-2/aws-transfer",
        "accountId": "123456789012",
        "accessKeyId": "ASIAEXAMPLEKEY",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "AROAEXAMPLEID",
                "arn": "arn:aws:iam::123456789012:role/service-role/AWS TransferWebAppIdentityBearer-us-east-2",
                "accountId": "123456789012",
                "userName": "AWS TransferWebAppIdentityBearer-us-east-2"
            },
            "attributes": {
                "creationDate": "2025-08-08T15:29:34Z",
                "mfaAuthenticated": "false"
            }
        },
        "invokedBy": "transfer.amazonaws.com",
        "onBehalfOf": {
            "userId": "f12bb510-a011-702f-10dd-5607e2776dbc",
            "identityStoreArn": "arn:aws:identitystore::123456789012:identitystore/d-9a670c546e"
        }
    },
    "eventTime": "2025-08-08T15:29:35Z",
    "eventSource": "s3.amazonaws.com",
    "eventName": "ListCallerAccessGrants",
    "awsRegion": "us-east-2",
    "sourceIPAddress": "transfer.amazonaws.com",
    "userAgent": "transfer.amazonaws.com",
    "requestParameters": {
        "Host": "123456789012.s3-control.dualstack.us-east-2.amazonaws.com",
        "allowedByApplication": "true",
        "maxResults": "100"
    },
    "responseElements": null,
    "additionalEventData": {
        "SignatureVersion": "SigV4",
        "CipherSuite": "TLS_AES_128_GCM_SHA256",
        "bytesTransferredIn": 0,
        "AuthenticationMethod": "AuthHeader",
        "x-amz-id-2": "1g34AaAELn/fntxwrifVsr41VDl8dp5ygWFasHJFNVq5FDCWYfX0ye7s4tWHEJC8ppI5lLePYLIcw3iTXAgn5Q==",
        "bytesTransferredOut": 462
    },
    "requestID": "48485MTZEDWT0ANT",
    "eventID": "3de5dd60-b7cf-474c-a1ab-631467c1a5c3",
    "readOnly": true,
    "resources": [
        {
            "accountId": "123456789012",
            "type": "AWS:S3::AccessGrantsInstance",
            "ARN": "arn:aws:s3:us-east-2:123456789012:access-grants/default"
        }
    ],
    "eventType": "AWS ApiCall",
    "managementEvent": true,
    "recipientAccountId": "123456789012",
    "eventCategory": "Management"
}
```

Dans cet exemple, notez les champs importants suivants :
+ `eventName`: indique qu'il s'agit d'un ListCallerAccessGrants événement qui interroge les autorisations d'accès S3 disponibles.
+ `requestParameters.allowedByApplication`: indique que la requête est filtrée en fonction des autorisations autorisées par l'application.
+ `requestParameters.maxResults`: indique le nombre maximum de subventions à renvoyer dans la réponse.
+ `userIdentity.onBehalfOf`: lie la demande à l'utilisateur spécifique de l'application Web.

Cet événement permet de savoir quand l'application Web Transfer Family demande à quelles ressources S3 un utilisateur a accès, offrant ainsi une visibilité sur les opérations de découverte des autorisations d'accès.

### Exemple d'entrée de journal pour un GetDataAccess événement
<a name="webapp-get-data-access-example"></a>

L'exemple suivant montre une entrée de CloudTrail journal pour un GetDataAccess événement qui se produit lorsque l'application Web Transfer Family demande des autorisations d'accès aux ressources S3 au nom d'un utilisateur.

```
{
    "eventVersion": "1.11",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AROASEQRAEABP7ADWEZA5:aws-transfer",
        "arn": "arn:aws:sts::123456789012:assumed-role/AWSTransferWebAppIdentityBearer-ap-southeast-1/aws-transfer",
        "accountId": "123456789012",
        "accessKeyId": "ASIAEXAMPLEKEY",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "AROASEQRAEABP7ADWEZA5",
                "arn": "arn:aws:iam::123456789012:role/service-role/AWSTransferWebAppIdentityBearer-ap-southeast-1",
                "accountId": "123456789012",
                "userName": "AWSTransferWebAppIdentityBearer-ap-southeast-1"
            },
            "attributes": {
                "creationDate": "2025-05-08T16:09:05Z",
                "mfaAuthenticated": "false"
            }
        },
        "invokedBy": "transfer.amazonaws.com",
        "onBehalfOf": {
            "identityStoreArn": "arn:aws:identitystore::123456789012:identitystore/d-9667b0da7a",
            "userId": "191a35ec-10a1-70c1-e4ab-e2802411e13e"
        }
    },
    "eventTime": "2025-05-08T16:10:25Z",
    "eventSource": "s3.amazonaws.com",
    "eventName": "GetDataAccess",
    "awsRegion": "ap-southeast-1",
    "sourceIPAddress": "transfer.amazonaws.com",
    "userAgent": "transfer.amazonaws.com",
    "requestParameters": {
        "Host": "123456789012.s3-control.dualstack.ap-southeast-1.amazonaws.com",
        "durationSeconds": 900,
        "permission": "READWRITE",
        "target": "s3://amzn-s3-demo-bucket/users/john.doe/documents/*"
    },
    "responseElements": null,
    "additionalEventData": {
        "AuthenticationMethod": "AuthHeader",
        "CipherSuite": "TLS_AES_128_GCM_SHA256",
        "SignatureVersion": "SigV4",
        "bytesTransferredIn": 0,
        "bytesTransferredOut": 2244,
        "x-amz-id-2": "8ce8sZOgNwsaj9w1mzagyA+csONjYl8FgEw4FGpE8DARi90aNC0RFWlTYNEn7ChqE9RCJrTzMvS+ru7Vz2xXHrkQt/1uQ9exZTZdlhX+/fM="
    },
    "requestID": "BXGSKKQXCWS5RAHB",
    "eventID": "c11db1d1-dfb8-431e-8625-48eba2ebadfe",
    "readOnly": true,
    "resources": [
        {
            "type": "AWS:S3::AccessGrantsInstance",
            "ARN": "arn:aws:s3:ap-southeast-1:123456789012:access-grants/default",
            "accountId": "123456789012"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "123456789012",
    "eventCategory": "Management"
}
```

Dans cet exemple, notez les champs importants suivants :
+ `eventName`: indique qu'il s'agit d'un GetDataAccess événement qui se produit lorsque Transfer Family demande des autorisations d'accès aux ressources S3.
+ `userIdentity.onBehalfOf`: contient l'ARN du magasin d'identités et l'ID utilisateur, reliant la demande d'accès à l'utilisateur spécifique de l'application Web.
+ `requestParameters.target`: indique le modèle de chemin S3 pour lequel l'accès a été demandé.
+ `requestParameters.permission`: indique le type d'accès demandé (READWRITE, READ ou WRITE).
+ `requestParameters.durationSeconds`: indique la durée de validité de l'autorisation d'accès (généralement 900 secondes/15 minutes).
+ `sourceIPAddress`et `userAgent` : Les deux affichent « transfer.amazonaws.com », indiquant qu'il s'agit d'une demande de service interne.

GetDataAccess les événements sont particulièrement utiles pour suivre le moment où les utilisateurs de l'application Web Transfer Family ont accès à des ressources S3 spécifiques, ce qui vous permet de surveiller les modèles d'accès et de garantir une autorisation appropriée.

## Afficher les entrées du CloudTrail journal
<a name="webapp-view-log-entries"></a>

Vous pouvez consulter et analyser les entrées du CloudTrail journal de votre application Web Transfer Family de plusieurs manières :

### Utilisation de la CloudTrail console
<a name="webapp-view-logs-console"></a>

La CloudTrail console fournit une interface conviviale permettant de visualiser et de filtrer les entrées du journal :

1. Ouvrez la CloudTrail console à l'adresse [https://console.aws.amazon.com/cloudtrail/](https://console.aws.amazon.com/cloudtrail/).

1. Dans le panneau de navigation, sélectionnez **Historique des événements**.

1. Utilisez les options de filtre pour affiner les événements :
   + Définissez la **source de l'événement** sur `transfer.amazonaws.com` pour afficher uniquement les événements Transfer Family.
   + Filtrez par **nom d'événement** pour voir des opérations spécifiques telles que`UserAuthentication`.
   + Utilisez la **plage de temps** pour vous concentrer sur les événements survenus au cours d'une période spécifique.

1. Cliquez sur un événement pour voir ses informations détaillées.

### Accès aux journaux dans Amazon S3
<a name="webapp-view-logs-s3"></a>

Si vous avez configuré un CloudTrail suivi pour envoyer des journaux vers un compartiment Amazon S3, vous pouvez accéder directement aux fichiers journaux bruts :

1. Ouvrez la console Amazon S3 à l'adresse [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Accédez au compartiment et au préfixe dans lesquels vos CloudTrail journaux sont stockés.

1. Les journaux sont organisés par année, mois, jour et région. Accédez au répertoire approprié.

1. Téléchargez et ouvrez les fichiers journaux, qui sont au format JSON.

# Résolution des problèmes liés à vos applications Web
<a name="webapp-troubleshooting"></a>

**Note**  
Ces conseils de dépannage sont destinés à l'administrateur de l'application Web plutôt qu'à l'utilisateur final. Pour les utilisateurs finaux, si vous rencontrez des problèmes, contactez l'administrateur de votre application Web. *Toutes les instances dans les paragraphes suivants font référence à l'administrateur de l'application Web.*

## Résoudre les erreurs réseau
<a name="webapp-network-error"></a>

**Description**

Votre utilisateur final voit une bannière réseau **Erreur réseau** lors du chargement du point de terminaison de l'application Web.

**Cause**

Les problèmes les plus courants sont les suivants :
+ L'administrateur n'a pas désigné l'utilisateur qui tente de se connecter à la nouvelle application.
+ L'administrateur n'a pas ajouté les actions nécessaires à vos rôles IAM.
+ La liste des autorisations d'accès S3 attribuées à votre utilisateur s'affiche, mais CORS n'est pas configuré correctement pour votre ou vos compartiments Amazon S3.

 **Solution** 
+  Dans IAM Identity Center, assurez-vous d'affecter l'utilisateur à l'application appropriée. Ou, si un groupe vous est attribué, assurez-vous que l'utilisateur qui tente de se connecter appartient au bon groupe. Ceci est décrit sous [Attribuer ou ajouter des utilisateurs ou des groupes à une application Web Transfer Family](webapp-add-users.md).
+ Vérifiez si vos rôles contiennent les actions nécessaires dans la **politique de confiance personnalisée** pour `sts:AssumeRole` les deux `sts:SetContext` actions. Ceci est décrit sous [Configuration des rôles IAM pour les applications Web Transfer Family](webapp-roles.md).
+ Vérifiez la politique CORS pour tous les buckets utilisés par votre application Web. Ceci est décrit dans [Configurer le partage de ressources entre origines (CORS) pour votre compartiment Amazon S3](access-grant-cors.md#cors-configure).

## Résoudre les problèmes liés à l'absence d'affichage du bucket configuré
<a name="webapp-no-bucket"></a>

**Description**

Tout semble être correctement configuré, mais le compartiment Amazon S3 n'apparaît pas dans l'application Web.

**Cause**

L'une des causes possibles est que le compartiment Amazon S3 ne se trouve pas dans le même compte que l'application Web.

 **Solution** 

Assurez-vous que le compartiment Amazon S3 se trouve dans le même compte que l'application Web. Les buckets multi-comptes ne sont actuellement pas pris en charge.

## Résoudre les erreurs liées aux URL personnalisées
<a name="webapp-customURL-errors"></a>

**Description**

Lorsque votre utilisateur final se connecte à l'application Web, il reçoit le message d'erreur **Échec de l'autorisation : code d'autorisation manquant.**

**Cause**

Si vous avez utilisé CloudFront directement, plutôt que le CloudFormation modèle fourni, vous avez probablement mal configuré la politique de demande d'origine afin de ne pas transmettre les chaînes de requête.

**Solution**

Mettez à jour votre politique de demande d'origine pour transférer les chaînes de requête et les cookies à l'origine.

**Description**

Lorsque votre utilisateur final tente d'accéder à une application Web Transfer Family, il reçoit une réponse 404.

**Cause**

Si vous avez utilisé CloudFront directement, plutôt que le CloudFormation modèle fourni, vous avez probablement mal configuré la politique de cache pour inclure l'`Host`en-tête dans la clé de cache ou mal configuré la politique de demande d'origine pour transférer l'`Host`en-tête.

**Solution**
+ Assurez-vous que votre politique de cache n'inclut pas l'`Host`en-tête dans la clé de cache
+ Assurez-vous que votre politique de demande d'origine ne transmet pas l'`Host`en-tête.

## Résoudre les erreurs diverses
<a name="webapp-various-errors"></a>

**Description**

Votre utilisateur final ne peut pas se connecter, ne peut consulter aucun compartiment ou fichier, ou vous recevez un autre message d'erreur.

**Cause**

L'une des causes possibles est que l'ARN de l'instance IAM Identity Center ne correspond pas à la valeur de l'ARN de vos autorisations ou de l'ARN de l'instance IAM Identity Center de votre application Web.

 **Solution** 

Vérifiez les éléments suivants pour voir s'ils correspondent.
+  Dans IAM Identity Center, accédez à **Paramètres et consultez** l'**ARN de l'instance**.

  ```
  arn:aws:sso:::instance/ssoins-instance-identifier
  ```
+ Dans Amazon S3, accédez à **Access Grants et consultez** l'**ARN de votre instance IAM Identity Center**.

  ```
  arn:aws:sso::account-id:application/ssoins-instance-identifier/apl-1234567890abcdef0
  ```
+ Dans Transfer Family, accédez à la page de détails de votre application Web et consultez son ARN d'instance.

  ```
  arn:aws:sso:::instance/ssoins-instance-identifier
  ```

La *instance-identifier* valeur doit être la même à ces trois endroits.

## Des compartiments S3 dupliqués apparaissent dans l'application Web
<a name="webapp-duplicate-buckets"></a>

**Description**

Les utilisateurs voient le même bucket S3 répertorié plusieurs fois dans l'interface de l'application Web Transfer Family.

**Cause**

Cela se produit lorsqu'un utilisateur fait partie de plusieurs groupes Active Directory qui ont des autorisations dupliquées pour le même compartiment S3. L'application Web répertorie toutes les autorisations de haut niveau associées à l'utilisateur (UID ou GID), que l'utilisateur dispose ou non de plusieurs autorisations attribuées au même emplacement de compartiment.

**Solution**

Pour résoudre ce problème, les administrateurs doivent dédupliquer les autorisations afin que chaque utilisateur ne dispose que d'une seule autorisation pour chaque emplacement S3. Passez en revue la configuration de vos autorisations d'accès S3 et consolidez les autorisations dupliquées pour le même compartiment dans différents groupes Active Directory.

# Instructions destinées à l'utilisateur final pour les applications Web Transfer Family
<a name="webapp-end-users"></a>

**Note**  
Dans cette rubrique, les informations sont destinées aux utilisateurs finaux qui interagissent avec l'application Web. Dans cette rubrique, toutes les instances où *vous vous* trouvez font référence à des utilisateurs finaux.

Cette rubrique décrit comment accéder à une application AWS Transfer Family Web que vous êtes autorisé à utiliser et comment vous pouvez interagir avec elle.

## Quotas d'applications Web
<a name="end-user-quotas"></a>

Notez les limites suivantes lorsque vous utilisez des applications Web.
+ Nombre maximum de résultats de recherche par requête : 10 000
+ Les compartiments Amazon S3 utilisés par l'application Web Transfer Family doivent se trouver dans le même compte que l'application Web elle-même. Les buckets multi-comptes ne sont actuellement pas pris en charge.
+ Étendue de recherche maximale par requête : 10 000 fichiers recherchés
+ Taille de téléchargement maximale par fichier : 160 Go (149 GiB)
+ Taille maximale du fichier à copier : 5,36 Go (5 GiB)
+ Les noms de dossiers commençant ou se terminant par des points (.) ne sont pas pris en charge

## Expérience utilisateur pour les utilisateurs d'IAM Identity Center
<a name="end-user-identity-center"></a>

Cette section décrit l'expérience utilisateur si votre organisation a utilisé IAM Identity Center pour configurer ses utilisateurs.

**Pour accéder à une application Web Transfer Family**

1. Vous devriez recevoir un e-mail de **no-reply@login.awsapps.com** intitulé « Invitation à participer » AWS IAM Identity Center. Acceptez l'invitation à activer votre compte utilisateur.

1. Dans le message, choisissez l'URL sous l'URL de **votre portail AWS d'accès**.

   Cela vous amène à l'écran de AWS connexion.  
![\[Écran affichant l'écran AWS de connexion.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/webapp-enduser-signin.png)

1. Entrez vos informations d'identification et choisissez **Se connecter**.

   Cela vous amène au Portail d'accès AWS, qui affiche la liste de vos applications disponibles.

1. Choisissez l'application pour votre application Web Transfer Family.

## Expérience utilisateur pour les utilisateurs de fournisseurs d'identité tiers
<a name="end-user-3p"></a>

Si votre organisation n'a pas configuré ses utilisateurs, votre expérience d'intégration dépendra de l'application de fournisseur d'identité utilisée pour configurer ses utilisateurs finaux. AWS IAM Identity Center Une fois que vous vous êtes authentifié et connecté, l'interface de votre application Web est identique à celle décrite dans la section suivante.

**Note**  
Si un utilisateur appartient à plusieurs groupes Active Directory dotés d'autorisations pour le même compartiment Amazon S3, celui-ci apparaît plusieurs fois dans l'interface de l'application Web. Cela se produit parce que l'application Web répertorie toutes les autorisations de haut niveau associées à l'UID ou au GID de l'utilisateur, y compris les autorisations dupliquées pour le même compartiment. Pour éviter les doublons dans les listes, les administrateurs peuvent regrouper plusieurs autorisations afin que chaque utilisateur ne dispose que d'une seule autorisation par site Amazon S3.

## Interface utilisateur final de Transfer Family
<a name="end-user-interface"></a>

Après vous être authentifié et connecté, vous pouvez interagir avec l'application Web.

Il existe quatre points de vue principaux.
+ **Page d'accueil :** Votre page d'accueil répertorie les emplacements S3 auxquels vous pouvez accéder, ainsi que les autorisations pour chacun d'entre eux. Un *emplacement* S3 est un compartiment ou un préfixe S3, que vous pouvez définir à l'aide de S3 Access Grants. Il s'agit de la vue initiale pour les utilisateurs qui montre les ressources S3 de niveau racine auxquelles vos utilisateurs finaux ont accès et les autorisations pour chaque emplacement S3.  
![\[Écran indiquant l'emplacement du domicile d'un utilisateur final d'une application Web.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/webapp-enduser-home.png)
+ **Détails de l’emplacement :** cette vue permet aux utilisateurs de parcourir les fichiers et les dossiers dans S3, et de charger ou de télécharger des fichiers.
+ **Action de localisation :** une fois que vous avez choisi une action (telle que **Télécharger**), une autre vue de l'emplacement du fichier s'ouvre.
+ **Ellipses verticales :** l'icône représentant des points de suspension verticaux ouvre le menu **Actions**.

## Actions disponibles
<a name="end-user-actions"></a>

La plupart des actions sont disponibles dans le menu **Actions**. Pour l'autre action principale, le téléchargement de fichiers, vous utilisez l'icône de téléchargement après avoir sélectionné un fichier (actuellement, vous ne pouvez télécharger qu'un seul fichier à la fois).

![\[Écran affichant les fichiers et leurs icônes de téléchargement correspondantes.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/webapp-enduser-download.png)


À partir d'un dossier, utilisez le menu **Actions** pour effectuer l'une des tâches suivantes :
+ Copiez un ou plusieurs fichiers vers un autre emplacement.
+ Créez un dossier.
+ Supprimez un ou plusieurs fichiers.
+ Téléchargez un ou plusieurs fichiers.
+ Téléchargez un dossier entier (y compris les sous-dossiers, le cas échéant).
+ Sélectionnez un dossier et naviguez jusqu'à celui-ci. Vous pouvez ensuite effectuer n'importe laquelle des actions répertoriées précédemment.
+ Trier par page.
+ Filtrez par nom de fichier ou de dossier par dossier et sous-dossiers.

![\[Écran présentant un exemple de dossier pour l'utilisateur final d'une application Web.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/webapp-enduser-actions.png)
