Tutoriel : Configuration d'une application AWS Transfer Family Web avec un accès sélectif à plusieurs compartiments - 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.

Tutoriel : Configuration d'une application AWS Transfer Family Web avec un accès sélectif à plusieurs compartiments

Ce didacticiel vous explique comment configurer une application Web Transfer Family avec des autorisations de bucket Amazon S3 spécifiques pour un seul utilisateur. Vous allez apprendre à configurer une solution qui permet aux utilisateurs de télécharger depuis un compartiment et de le télécharger vers un autre tout en préservant la sécurité. Il s'agit d'un didacticiel avancé qui s'appuie sur les concepts abordés dans le didacticiel de base. Si vous débutez dans le domaine des applications AWS Transfer Family Web, pensez à commencer parTutoriel : Configuration d'une application Web Transfer Family de base.

Prérequis

Avant de commencer ce didacticiel, vous devez :

  • IAM Identity Center est configuré dans la même région que votre application AWS Transfer Family Web. Notez qu'une AWS seule instance d'IAM Identity Center par AWS compte est autorisée pour toutes les régions.

  • Au moins un utilisateur est configuré dans IAM Identity Center.

  • Deux compartiments S3 : un pour les téléchargements et un pour les téléchargements.

Note

Ce didacticiel partage de nombreux prérequis avec le didacticiel de base de l'application Web. Pour plus d'informations sur la configuration d'IAM Identity Center et la création d'utilisateurs, consultezTutoriel : Configuration d'une application Web Transfer Family de base.

Étape 1 : Création d'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/.

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

  3. Choisissez Créer une application Web.

    Pour l'accès par authentification, notez que le service trouve automatiquement l' AWS IAM Identity Center instance que vous avez configurée comme condition préalable.

  4. Dans le volet Type d'autorisation, sélectionnez Créer et utiliser un nouveau rôle de service. Le service crée pour vous le rôle de porteur d'identité. Un rôle de porteur d'identité inclut l'identité d'un utilisateur authentifié dans ses sessions.

  5. Dans le volet des unités de l'application Web, acceptez la valeur par défaut de 1 ou ajustez-la à une valeur supérieure si nécessaire.

  6. Ajoutez une balise pour vous aider à organiser vos applications Web. Pour le didacticiel, entrez le nom de la clé et l'application Web du didacticiel pour la valeur.

    Astuce

    Vous pouvez modifier le nom de l'application Web directement depuis la page de liste des applications Web après l'avoir créée.

  7. Choisissez Suivant pour ouvrir la page de l'application Web Design. Sur cet écran, fournissez les informations suivantes.

    Vous pouvez éventuellement fournir un titre pour votre application Web. Vous pouvez également télécharger des fichiers image pour votre logo et votre favicon.

    • Pour le titre de page, personnalisez le titre de l'onglet du navigateur que vos utilisateurs voient lorsqu'ils se connectent à l'application Web. Si vous ne saisissez rien pour le titre de la page, la valeur par défaut est Transfer Web App.

    • Pour le logo, téléchargez un fichier image. La taille de fichier maximale pour l'image de votre logo est de 50 Ko.

    • Pour le favicon, téléchargez un fichier image. La taille de fichier maximale de votre favicon est de 20 Ko.

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

Étape 2 : Configuration des rôles IAM pour l'accès à S3

Vous devez créer deux rôles IAM : un avec un accès en téléchargement uniquement au premier compartiment et un autre avec un accès en téléchargement uniquement au second compartiment.

Politique de confiance pour les deux rôles

Utilisez la politique de confiance suivante pour les deux rôles IAM :

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

Politique IAM pour le bucket de téléchargement

Créez un rôle IAM avec la politique suivante pour un accès en lecture seule à votre compartiment de téléchargement :

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ObjectLevelReadPermissions", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion", "s3:GetObjectAcl", "s3:GetObjectVersionAcl", "s3:ListMultipartUploadParts", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket1/*", "arn:aws:s3:::amzn-s3-demo-bucket1" ] } ] }
Important

Remplacez amzn-s3-demo-bucket1 par le nom réel de votre bucket de téléchargement.

Politique IAM pour le bucket de téléchargement

Créez un autre rôle IAM avec la politique suivante pour l'accès en écriture à votre compartiment de téléchargement :

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ObjectLevelWritePermissions", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:PutObjectAcl", "s3:PutObjectVersionAcl", "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:AbortMultipartUpload", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket2/*", "arn:aws:s3:::amzn-s3-demo-bucket2" ] } ] }
Important

Remplacez amzn-s3-demo-bucket2 par le nom réel de votre bucket de téléchargement.

Étape 3 : configurer les autorisations d'accès S3

  1. Ouvrez la console S3 à l'adressehttps://console.aws.amazon.com/s3/.

  2. Dans le volet de navigation, sélectionnez Access Grants.

  3. Cliquez sur Créer une instance S3 Access Grants.

  4. Sélectionnez l'option Ajouter une instance de centre d'identité IAM et entrez l'ARN de l'instance de centre d'identité.

  5. Cliquez sur Suivant, puis sur Annuler pour terminer la création de l'instance S3 Access Grants sans passer par d'autres étapes.

Cette étape crée l'instance S3 Access Grants. Vous allez maintenant enregistrer des sites et créer des autorisations d'accès.

Étape 4 : enregistrer les emplacements des compartiments S3

Enregistrez les deux compartiments S3 en tant qu'emplacements avec des autorisations d'accès S3 :

  1. Dans la console S3 Access Grants, accédez à Emplacements et cliquez sur Enregistrer l'emplacement.

  2. Sous Zone d'emplacement, choisissez le compartiment S3 spécifique pour les téléchargements (amzn-s3-demo-bucket1).

  3. Lorsque vous êtes invité à choisir un rôle IAM, sélectionnez le rôle IAM de téléchargement que vous avez créé précédemment.

  4. Terminez le processus d'inscription.

  5. Répétez le processus pour enregistrer le compartiment de téléchargement (amzn-s3-demo-bucket2), en sélectionnant le rôle IAM de téléchargement lorsque vous y êtes invité.

Étape 5 : créer des autorisations d'accès

Créez deux subventions, une pour chaque établissement enregistré :

  1. Dans la console S3 Access Grants, accédez à Grants et cliquez sur Create grant grant.

  2. Dans Emplacement, cliquez sur Parcourir l'emplacement et sélectionnez l'emplacement du compartiment de téléchargement (amzn-s3-demo-bucket1).

  3. Dans Sous-préfixe (facultatif), entrez * pour autoriser l'accès à l'ensemble du compartiment ou spécifiez un chemin folder1/folder2/* pour restreindre l'accès à un préfixe spécifique.

    L'utilisation * définira la portée de la subvention surs3://bucket-name/*, autorisant l'accès à l'ensemble du compartiment. Pour autoriser l'accès à un préfixe spécifique uniquement, entrez un chemin tel quefolder1/folder2/*, qui définira la portée de la subvention surs3://bucket-name/folder1/folder2/*.

  4. Sous Autorisations et accès, sélectionnez Lire pour le compartiment de téléchargement.

  5. Dans Type de bénéficiaire, choisissez l'identité du répertoire dans IAM Identity Center.

  6. Pour le type principal IAM, sélectionnez Utilisateur et entrez l'ID utilisateur de votre utilisateur IAM Identity Center.

  7. Terminez le processus de création de subventions.

  8. Répétez le processus pour créer une autorisation pour le compartiment de téléchargement (amzn-s3-demo-bucket2), mais sélectionnez Lecture-écriture pour les autorisations.

Étape 6 : Configuration de la politique CORS pour les compartiments S3

Configurez une politique CORS pour les deux compartiments S3 afin d'autoriser l'accès via votre : AWS Transfer Family WebApp

  1. Ouvrez la console S3 et accédez à votre compartiment de téléchargement (amzn-s3-demo-bucket1).

  2. Sélectionnez l'onglet Autorisations.

  3. Faites défiler la page jusqu'à la section Partage de ressources entre origines (CORS) et cliquez sur Modifier.

  4. Ajoutez la configuration CORS suivante, en la remplaçant par l'URL réelle WebAppEndpoint de votre point de WebApp terminaison :

    Vous trouverez l'URL du point de terminaison de votre application Web dans la AWS Transfer Family console ci-dessous WebApps. Il ressemblera à https://webapp-***************.transfer-webapp.us-west-2.on.aws.

    [ { "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 } ]
  5. Cliquez sur Save changes (Enregistrer les modifications).

  6. Répétez le processus pour votre bucket de téléchargement (amzn-s3-demo-bucket2).

Étape 7 : tester la configuration

  1. Ouvrez l'URL de votre application AWS Transfer Family Web. Vous pouvez trouver cette URL dans la AWS Transfer Family console, WebApps sous le champ Access Endpoint.

  2. Connectez-vous à l'aide des informations d'identification utilisateur IAM Identity Center que vous avez configurées avec des autorisations d'accès.

  3. Une fois connecté, vous devriez voir les deux emplacements S3 sur la page d'accueil.

  4. Accédez au compartiment de téléchargement (amzn-s3-demo-bucket1) et vérifiez que vous pouvez télécharger des fichiers mais pas les charger.

  5. Accédez au compartiment de téléchargement (amzn-s3-demo-bucket2) et vérifiez que vous pouvez télécharger des fichiers.

Conclusion

Vous avez correctement configuré AWS Transfer Family WebApp l'accès sélectif au compartiment S3 pour un seul utilisateur. Cette configuration permet à l'utilisateur de télécharger depuis un compartiment et de le télécharger vers un autre tout en préservant la sécurité grâce aux rôles IAM et aux autorisations d'accès S3.

Cette approche peut être étendue à plusieurs utilisateurs en créant des autorisations supplémentaires dans S3 Access Grants pour chaque utilisateur, ce qui permet un contrôle granulaire des autorisations d'accès aux compartiments. Pour plus d'informations sur la configuration de base de l'application Web, consultezTutoriel : Configuration d'une application Web Transfer Family de base.