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 AWS Transfer Family application Web avec accès sélectif à plusieurs compartiments
Ce didacticiel vous explique comment configurer une application Web Transfer Family avec des autorisations de compartiment Amazon S3 spécifiques pour un seul utilisateur. Vous allez apprendre à configurer une solution qui permet aux utilisateurs de télécharger des fichiers depuis un compartiment et de les 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 êtes nouveau AWS Transfer Family applications Web, pensez à commencer par Tutoriel : Configuration d'une application Web Transfer Family de base.
Conditions préalables
Avant de démarrer ce tutoriel, assurez-vous de disposer des éléments suivants :
-
IAM Identity Center configuré dans la même région que votre AWS Transfer Family application Web. Notez que AWS n'autorise qu'une seule instance d'IAM Identity Center par AWS compte pour toutes les régions.
-
Au moins un utilisateur a été 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 sur les applications Web. Pour plus d'informations sur la configuration d'IAM Identity Center et la création d'utilisateurs, consultez Tutoriel : 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
-
Connectez-vous au Console de gestion AWS et ouvrez le AWS Transfer Family console à https://console.aws.amazon.com/transfer/
. -
Dans le volet de navigation de gauche, choisissez Applis Web.
-
Choisissez Création d'une application Web.
Pour l'accès par authentification, notez que le service trouve automatiquement le AWS IAM Identity Center instance que vous avez configurée comme condition préalable.
-
Dans le Type d'autorisation volet, sélectionnez Création et utilisation d'un nouveau rôle de service. Le service crée le rôle de porteur d'identité pour vous. Un rôle de porteur d'identité inclut l'identité d'un utilisateur authentifié dans ses sessions.
-
Dans le Unités d'applications Web volet, acceptez la valeur par défaut de 1 ou réglez-la sur une valeur plus élevée si nécessaire.
-
Ajoutez une étiquette pour vous aider à organiser vos applications Web. Pour le didacticiel, entrez Nom pour la clé et Application Web de didacticiel pour la valeur.
Astuce
Vous pouvez modifier le nom de l'application Web directement depuis le Applis Web page de liste après l'avoir créée.
-
Choisissez Suivant pour ouvrir le Conception d'une application Web page. 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 la page, personnalisez le titre de l'onglet du navigateur que vos utilisateurs voient lorsqu'ils se connectent à l'application Web. Si vous n'entrez rien pour le titre de la page, sa valeur par défaut est Application Web de transfert.
-
Pour le logo, téléchargez un fichier image. La taille maximale de téléchargement pour l'image de votre logo est de 2 Mo.
-
Pour le favicon, téléchargez un fichier image. La taille de téléchargement maximale pour votre favicon est de 2 Mo.
-
-
Choisissez Suivant, puis choisissez Création d'une application Web.
Étape 2 : Configuration des rôles IAM pour l'accès S3
Vous devez créer deux rôles IAM : l'un avec un accès en téléchargement uniquement au premier compartiment et l'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 accéder 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
Remplacer bucket de démonstration amzn-s3-1 avec le nom réel de votre compartiment 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
Remplacer amzn-s3-demo-bucket2 avec le nom réel de votre compartiment de téléchargement.
Étape 3 : configurer S3 Access Grants
-
Ouvrez la console S3 à l'adresse https://console.aws.amazon.com/s3/
. -
Dans le volet de navigation, choisissez Subventions d'accès.
-
Cliquez Créer une instance S3 Access Grants.
-
Sélectionnez l'option Ajouter une instance IAM Identity Center et entrez l'ARN de l'instance du centre d'identité.
-
Cliquez Suivant, puis cliquez sur Annuler pour terminer la création de l'instance S3 Access Grants sans effectuer d'étapes supplémentaires.
Cette étape crée l'instance S3 Access Grants. Vous allez maintenant enregistrer des emplacements et créer des autorisations d'accès.
Étape 4 : Enregistrer les emplacements des compartiments S3
Enregistrez les deux compartiments S3 en tant que localisations avec S3 Access Grants :
-
Dans la console S3 Access Grants, accédez à Localisations et cliquez Emplacement du registre.
-
En dessous Étendue de la localisation, choisissez le compartiment S3 spécifique pour les téléchargements (amzn-s3-demo-bucket1).
-
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.
-
Terminez le processus d'inscription.
-
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éation de subventions d'accès
Créez deux subventions, une pour chaque lieu enregistré :
-
Dans la console S3 Access Grants, accédez à Subventions et cliquez Créer une subvention.
-
Dans Lieu, cliquez Parcourir l'emplacement et sélectionnez l'emplacement du compartiment de téléchargement (amzn-s3-demo-bucket1).
-
Dans Sous-préfixe (facultatif), entrez
*pour autoriser l'accès à l'intégralité du compartiment, ou spécifier un chemin tel quefolder1/folder2/*pour restreindre l'accès à un préfixe spécifique.En utilisant
*fixera la portée de la subvention às3://bucket-name/*, permettant d'accéder à l'intégralité du compartiment. Pour n'autoriser l'accès qu'à un préfixe spécifique, entrez un chemin tel quefolder1/folder2/*, qui fixera la portée de la subvention às3://bucket-name/folder1/folder2/*. -
En dessous Autorisations et accès, sélectionnez Lisez pour le compartiment de téléchargement.
-
Dans Type de bénéficiaire, choisissez Identité du répertoire depuis IAM Identity Center.
-
Pour Type de principal IAM, sélectionnez Utilisateur et entrez le nom d'utilisateur de votre utilisateur IAM Identity Center.
-
Terminez le processus de création de la subvention.
-
Répétez le processus pour créer une autorisation pour le compartiment de téléchargement (amzn-s3-demo-bucket2), mais sélectionnez Read-write pour les autorisations.
Étape 6 : Configuration de la politique CORS pour les compartiments S3
Configurez une politique CORS pour les deux compartiments S3 afin de permettre l'accès via votre AWS Transfer Family WebApp:
-
Ouvrez la console S3 et accédez à votre compartiment de téléchargement (amzn-s3-demo-bucket1).
-
Sélectionnez le Autorisations onglet.
-
Faites défiler l'écran vers le bas jusqu'à Cross-origin partage de ressources (CORS) section et cliquez Modifier.
-
Ajoutez la configuration CORS suivante, en remplaçant
WebAppEndpointavec votre véritable WebApp URL du point de terminaison :Vous pouvez trouver l'URL du point de terminaison de votre application Web dans le AWS Transfer Family console sous WebApps. Cela 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 } ] -
Cliquez sur Save changes (Enregistrer les modifications).
-
Répétez le processus pour votre compartiment de téléchargement (amzn-s3-demo-bucket2).
Étape 7 : Testez la configuration
-
Ouvrez votre AWS Transfer Family URL de l'application Web. Vous pouvez trouver cette URL dans le AWS Transfer Family console sous WebApps dans le Endpoint d'accès champ.
-
Connectez-vous à l'aide des informations d'identification utilisateur IAM Identity Center que vous avez configurées avec des autorisations d'accès.
-
Une fois connecté, vous devriez voir les deux emplacements S3 sur la page d'accueil.
-
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.
-
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 configuré avec succès AWS Transfer Family WebApp avec un 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 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 au bucket. Pour plus d'informations sur la configuration de base de l'application Web, voir Tutoriel : Configuration d'une application Web Transfer Family de base.