Création d'une application Web Transfer Family dans un VPC - AWS Transfer Family

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Création d'une application Web Transfer Family dans un VPC

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, consultezAttribuer ou ajouter des utilisateurs ou des groupes à une application Web Transfer Family.

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

Conditions préalables

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

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

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

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

Politique de partage des ressources entre origines (CORS)

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.

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

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 à 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. Pour appliquer cette politique, vous devez créer un point de terminaison Amazon S3 VPC.

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" } } } ] }