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.
Configuration d'un flux de travail géré pour le déchiffrement d'un fichier
Ce didacticiel explique comment configurer un flux de travail géré contenant une étape de déchiffrement. Le didacticiel montre également comment télécharger un fichier chiffré dans un compartiment Amazon S3, puis afficher le fichier déchiffré dans ce même compartiment.
Note
Le blog sur le AWS stockage contient un article qui décrit comment simplement déchiffrer des fichiers sans écrire de code à l'aide des flux de travail Transfer Family Managed, crypter et déchiffrer des fichiers avec
Rubriques
- Étape 1 : Configuration d'un rôle d'exécution
- Étape 2 : créer un flux de travail géré
- Étape 3 : ajouter le flux de travail à un serveur et créer un utilisateur
- Étape 4 : Création d'une paire de clés PGP
- Étape 5 : Stocker la clé privée PGP dans AWS Secrets Manager
- Étape 6 : Chiffrer un fichier
- Étape 7 : Exécuter le flux de travail et afficher les résultats
Étape 1 : Configuration d'un rôle d'exécution
Créez un rôle d'exécution AWS Identity and Access Management (IAM) que Transfer Family peut utiliser pour lancer un flux de travail. Le processus de création d'un rôle d'exécution est décrit dansPolitiques IAM pour les flux de travail.
Note
Dans le cadre de la création d'un rôle d'exécution, veillez à établir une relation de confiance entre le rôle d'exécution et Transfer Family, comme décrit dansÉtape 1 : Établir une relation d'approbation.
La politique de rôle d'exécution suivante contient toutes les autorisations requises pour démarrer le flux de travail que vous créez dans ce didacticiel. Pour utiliser cet exemple de politique, remplacez
par vos propres informations. user input placeholders
DOC-EXAMPLE-BUCKET
Remplacez-le par le nom du compartiment Amazon S3 dans lequel vous chargez vos fichiers chiffrés.
Note
Tous les flux de travail ne nécessitent pas toutes les autorisations répertoriées dans cet exemple. Vous pouvez restreindre les autorisations en fonction des types d'étapes de votre flux de travail spécifique. Les autorisations nécessaires pour chaque type d'étape prédéfini sont décrites dansUtiliser des étapes prédéfinies. Les autorisations nécessaires pour une étape personnalisée sont décrites dansAutorisations IAM pour une étape personnalisée.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "WorkflowsS3Permissions", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectTagging", "s3:GetObjectVersion", "s3:PutObject", "s3:PutObjectTagging", "s3:ListBucket", "s3:PutObjectTagging", "s3:PutObjectVersionTagging", "s3:DeleteObjectVersion", "s3:DeleteObject" ], "Resource": ["arn:aws:s3:::DOC-EXAMPLE-BUCKET/*", "arn:aws:s3:::DOC-EXAMPLE-BUCKET"] "Condition": { "StringEquals": { "s3:RequestObjectTag/Archive": "yes" } } }, { "Sid": "DecryptSecret", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": "arn:aws:secretsmanager:
region
:account-id
:secret:aws/transfer/*" } ] }
Étape 2 : créer un flux de travail géré
Vous devez maintenant créer un flux de travail contenant une étape de déchiffrement.
Pour créer un flux de travail contenant une étape de déchiffrement
-
Ouvrez la AWS Transfer Family console à l'adresse https://console.aws.amazon.com/transfer/
. -
Dans le volet de navigation de gauche, choisissez Workflows, puis Create Workflow.
-
Entrez les informations suivantes :
-
Entrez une description, par exemple
Decrypt workflow example
. -
Dans la section Étapes nominales, choisissez Ajouter une étape.
-
-
Pour Choisir le type d'étape, choisissez Déchiffrer le fichier, puis Suivant.
-
Dans la boîte de dialogue Configurer les paramètres, spécifiez les éléments suivants :
-
Entrez un nom d'étape descriptif, par exemple,
decrypt-step
. Les espaces ne sont pas autorisés dans les noms des étapes. -
Pour la destination des fichiers déchiffrés, choisissez Amazon S3.
-
Pour le nom du compartiment de destination, choisissez le même compartiment Amazon S3 que celui que vous avez spécifié
DOC-EXAMPLE-BUCKET
dans la politique IAM que vous avez créée à l'étape 1. -
Pour le préfixe de clé de destination, entrez le nom du préfixe (dossier) dans lequel vous souhaitez stocker vos fichiers déchiffrés dans votre compartiment de destination, par exemple,.
decrypted-files/
Note
Assurez-vous d'ajouter une barre oblique (
/
) à votre préfixe. -
Pour ce didacticiel, laissez la case Overwrite existing désactivée. Lorsque ce paramètre est désactivé, si vous essayez de déchiffrer un fichier portant le même nom qu'un fichier existant, le traitement du flux de travail s'arrête et le nouveau fichier n'est pas traité.
Choisissez Suivant pour passer à l'écran de révision.
-
-
Passez en revue les détails de l'étape. Si tout est correct, choisissez Create step.
-
Votre flux de travail ne nécessite qu'une seule étape de déchiffrement, il n'y a donc aucune étape supplémentaire à configurer. Choisissez Créer un flux de travail pour créer le nouveau flux de travail.
Notez l'ID de flux de travail de votre nouveau flux de travail. Vous aurez besoin de cet identifiant pour l'étape suivante. Ce didacticiel utilise
comme exemple l'ID de flux de travail. w-1234abcd5678efghi
Étape 3 : ajouter le flux de travail à un serveur et créer un utilisateur
Maintenant que vous disposez d'un flux de travail comportant une étape de déchiffrement, vous devez l'associer à un serveur Transfer Family. Ce didacticiel explique comment associer le flux de travail à un serveur Transfer Family existant. Vous pouvez également créer un nouveau serveur à utiliser avec votre flux de travail.
Après avoir attaché le flux de travail à un serveur, vous devez créer un utilisateur capable d'accéder au serveur par SFTP et de déclencher l'exécution du flux de travail.
Pour configurer un serveur Transfer Family afin d'exécuter un flux de travail
-
Ouvrez la AWS Transfer Family console à l'adresse https://console.aws.amazon.com/transfer/
. -
Dans le volet de navigation de gauche, choisissez Servers, puis choisissez un serveur dans la liste. Assurez-vous que ce serveur prend en charge le protocole SFTP.
-
Sur la page de détails du serveur, faites défiler la page vers le bas jusqu'à la section Détails supplémentaires, puis choisissez Modifier.
-
Sur la page Modifier les détails supplémentaires, dans la section Flux de travail gérés, choisissez votre flux de travail et choisissez le rôle d'exécution correspondant.
-
Pour le flux de travail pour les téléchargements complets de fichiers, choisissez le flux de travail que vous avez créé dansÉtape 2 : créer un flux de travail géré, par exemple,
w-1234abcd5678efghi
. -
Pour le rôle d'exécution des flux de travail gérés, choisissez le rôle IAM que vous avez créé dansÉtape 1 : Configuration d'un rôle d'exécution.
-
-
Faites défiler la page vers le bas, puis choisissez Enregistrer pour enregistrer vos modifications.
Notez l'ID du serveur que vous utilisez. Le nom du AWS Secrets Manager secret que vous utilisez pour stocker vos clés PGP est en partie basé sur l'ID du serveur.
Pour ajouter un utilisateur capable de déclencher le flux de travail
-
Ouvrez la AWS Transfer Family console à l'adresse https://console.aws.amazon.com/transfer/
. -
Dans le volet de navigation de gauche, choisissez Servers, puis choisissez le serveur que vous utilisez pour le flux de travail de déchiffrement.
-
Sur la page de détails du serveur, faites défiler la page vers le bas jusqu'à la section Utilisateurs, puis choisissez Ajouter un utilisateur.
-
Pour votre nouvel utilisateur, entrez les informations suivantes :
-
Pour Username (Nom d'utilisateur), saisissez
decrypt-user
. -
Pour Rôle, choisissez un rôle d'utilisateur qui peut accéder à votre serveur.
-
Pour le répertoire personnel, choisissez le compartiment Amazon S3 que vous avez utilisé précédemment, par exemple
DOC-EXAMPLE-BUCKET
. -
Pour les clés publiques SSH, collez une clé publique correspondant à une clé privée que vous possédez. Pour plus de détails, consultez Génération de clés SSH pour les utilisateurs gérés par des services.
-
-
Choisissez Ajouter pour enregistrer votre nouvel utilisateur.
Notez le nom de votre utilisateur Transfer Family pour ce serveur. Le secret est partiellement basé sur le nom de l'utilisateur. Pour des raisons de simplicité, ce didacticiel utilise un secret par défaut qui peut être utilisé par n'importe quel utilisateur du serveur.
Étape 4 : Création d'une paire de clés PGP
Utilisez l'un des clients PGP pris en charge pour générer une paire de clés PGP. Ce processus est décrit en détail dansGénération de clés PGP.
Pour générer une paire de clés PGP
-
Pour ce didacticiel, vous pouvez utiliser le client
gpg
(GnuPG
) version 2.0.22 pour générer une paire de clés PGP qui utilise RSA comme algorithme de chiffrement. Pour ce client, exécutez la commande suivante et fournissez une adresse e-mail et un mot de passe. Vous pouvez utiliser le nom ou l'adresse e-mail de votre choix. Assurez-vous de vous souvenir des valeurs que vous utilisez, car vous devrez les saisir ultérieurement dans le didacticiel.gpg --gen-key
Note
Si vous utilisez la
GnuPG
version 2.3.0 ou une version plus récente, vous devez exécutergpg --full-gen-key
. Lorsque vous êtes invité à saisir le type de clé à créer, choisissez RSA ou ECC. Toutefois, si vous choisissez ECC, assurez-vous de choisir l'une ou l'autre de ces options NIST ou BrainPool de choisir la courbe elliptique. Ne choisissez pasCurve 25519. -
Exportez la clé privée en exécutant la commande suivante. Remplacez
par l'adresse e-mail que vous avez utilisée lors de la génération de la clé.user@example.com
gpg --output workflow-tutorial-key.pgp --armor --export-secret-key
user@example.com
Cette commande exporte la clé privée vers le
workflow-tutorial-key.pgp
fichier. Vous pouvez nommer le fichier de sortie comme bon vous semble. Vous pouvez également supprimer le fichier de clé privée une fois que vous l'avez ajouté AWS Secrets Manager.
Étape 5 : Stocker la clé privée PGP dans AWS Secrets Manager
Vous devez stocker la clé privée dans Secrets Manager, de manière très spécifique, afin que le flux de travail puisse trouver la clé privée lorsque le flux de travail exécute une étape de déchiffrement sur un fichier téléchargé.
Note
Lorsque vous stockez des secrets dans Secrets Manager, des frais Compte AWS vous sont facturés. Pour plus d’informations sur la tarification, consultez Tarification AWS Secrets Manager
Pour stocker une clé privée PGP dans Secrets Manager
-
Connectez-vous à la AWS Secrets Manager console AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/secretsmanager/
. -
Dans le volet de navigation de gauche, choisissez Secrets.
-
Sur la page Secrets, choisissez Enregistrer un nouveau secret.
-
Sur la page Choisir un type de secret, pour Type de secret, choisissez Autre type de secret.
-
Dans la section Paires clé/valeur, choisissez l'onglet clé/valeur.
-
Clé — Entrée
PGPPrivateKey
. -
valeur — Collez le texte de votre clé privée dans le champ de valeur.
-
-
Choisissez Ajouter une ligne, puis dans la section Paires clé/valeur, choisissez l'onglet clé/valeur.
-
Clé — Entrée
PGPPassphrase
. -
valeur — Entrez le mot de passe que vous avez utilisé lorsque vous avez généré votre paire de clés PGP. Étape 4 : Création d'une paire de clés PGP
-
-
Choisissez Suivant.
-
Sur la page Configurer le secret, entrez le nom et la description de votre secret. Vous pouvez créer un secret pour un utilisateur spécifique ou un secret utilisable par tous les utilisateurs. Si l'ID de votre serveur est le même
, nommez le secret comme suit.s-11112222333344445
-
Pour créer un secret par défaut pour tous les utilisateurs, nommez-le
aws/transfer/
.s-11112222333344445
/@pgp-default -
Pour créer un secret uniquement pour l'utilisateur que vous avez créé précédemment, nommez-le
aws/transfer/
.s-11112222333344445
/decrypt-user
-
-
Choisissez Next, puis acceptez les valeurs par défaut sur la page Configurer la rotation. Ensuite, sélectionnez Suivant.
-
Sur la page Révision, choisissez Store pour créer et stocker le secret.
Pour plus d'informations sur l'ajout de votre clé privée PGP à Secrets Manager, voir Utiliser AWS Secrets Manager pour stocker votre clé PGP.
Étape 6 : Chiffrer un fichier
Utilisez le gpg
programme pour chiffrer un fichier à utiliser dans votre flux de travail. Exécutez la commande suivante pour chiffrer un fichier :
gpg -e -r
marymajor@example.com
--openpgp testfile.txt
Avant d'exécuter cette commande, notez ce qui suit :
-
Pour l'
-r
argument, remplacez-le
par l'adresse e-mail que vous avez utilisée lors de la création de la paire de clés PGP.marymajor@example.com
-
Le
--openpgp
drapeau est facultatif. Ce drapeau rend le fichier crypté conforme à la norme OpenPGP RFC4880. -
Cette commande crée un fichier nommé
testfile.txt.gpg
au même emplacement quetestfile.txt
.
Étape 7 : Exécuter le flux de travail et afficher les résultats
Pour exécuter le flux de travail, vous devez vous connecter au serveur Transfer Family avec l'utilisateur que vous avez créé à l'étape 3. Vous pouvez ensuite consulter le compartiment Amazon S3 que vous avez spécifié à l'étape 2.5, configurer les paramètres de destination pour voir le fichier déchiffré.
Pour exécuter le flux de travail de déchiffrement
-
Ouvrez un terminal de commande.
-
Exécutez la commande suivante, en la
remplaçant par votre point de terminaison actuel etyour-endpoint
par la clé privée SSH de votre utilisateur :transfer-key
sftp -i
transfer-key
decrypt-user@your-endpoint
Par exemple, si la clé privée est stockée dans
~/.ssh/decrypt-user
, et que votre point de terminaison l'ests-11112222333344445.server.transfer.us-east-2.amazonaws.com
, la commande est la suivante :sftp -i ~/.ssh/decrypt-user decrypt-user@s-11112222333344445.server.transfer.us-east-2.amazonaws.com
-
Exécutez la commande
pwd
. En cas de succès, cette commande renverra ce qui suit :Remote working directory: /
DOC-EXAMPLE-BUCKET
/decrypt-userVotre répertoire reflète le nom de votre compartiment Amazon S3.
-
Exécutez la commande suivante pour télécharger le fichier et déclencher l'exécution du flux de travail :
put testfile.txt.gpg
-
Pour la destination des fichiers déchiffrés, vous avez indiqué le
decrypted-files/
dossier lors de la création du flux de travail. Vous pouvez maintenant accéder à ce dossier et en répertorier le contenu.cd ../decrypted-files/ ls
En cas de succès, la
ls
commande répertorie letestfile.txt
fichier. Vous pouvez télécharger ce fichier et vérifier qu'il est identique au fichier d'origine que vous avez chiffré précédemment.