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 explique é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 crypter et déchiffrer des fichiers, crypter et déchiffrer des fichiers avec et
Rubriques
É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 dansIAMpolitiques relatives aux 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 exécuter correctement le flux de travail que vous allez créer dans ce didacticiel. Pour utiliser cet exemple de politique, remplacez
par vos propres informations. user input
placeholders
Remplacez-le par le nom du compartiment Amazon S3 dans lequel vous téléchargerez vos fichiers chiffrés.DOC-EXAMPLE-BUCKET
Note
Tous les flux de travail ne nécessitent pas toutes les autorisations répertoriées dans cet exemple. Vous pouvez limiter 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 dansIAMautorisations 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é
dans la IAM politique que vous avez créée à l'étape 1.DOC-EXAMPLE-BUCKET
-
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 d'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 qui peut accéder SFTP au serveur et 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 SFTP protocole.
-
Sur la page de détails du serveur, faites défiler la page 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 Workflow 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 IAM rôle 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 PGP clés 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 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 SSH publiques, collez une clé publique correspondant à une clé privée que vous possédez. Pour plus de détails, consultez Génération de SSH clés 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 PGP clés
Utilisez l'un des PGPclients pris en charge pour générer une paire de PGP clés. Ce processus est décrit en détail dansGénérer des PGP clés.
Pour générer une paire de PGP clés
-
Pour ce didacticiel, vous pouvez utiliser le client
gpg
(GnuPG
) version 2.0.22 pour générer une paire de PGP clés qui sera utilisée 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 ouECC. Toutefois, si vous le souhaitezECC, assurez-vous de choisir l'un des deux NIST or BrainPool pour la courbe elliptique. Ne choisissez pas Curve 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 : Stockez la clé PGP privée 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é PGP privée 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 PGP clés. Étape 4 : Création d'une paire de PGP clés
-
-
Choisissez Suivant.
-
Sur la page Configurer le secret, entrez le nom et la description de votre secret. Pour ce didacticiel, vous pouvez créer un secret par défaut que tous les utilisateurs peuvent utiliser. En supposant que l'ID du serveur est
, nommez le secrets-11112222333344445
aws/transfer/
.s-11112222333344445
/@pgp-default
Remplacez-le par l'ID de votre serveur Transfer Family. Entrez une description de votre secret.s-11112222333344445
Note
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é PGP privée à Secrets Manager, consultez la section Utiliser AWS Secrets Manager pour stocker votre PGP clé.
É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 PGP clés.marymajor@example.com
-
Le
--openpgp
drapeau est facultatif. Cet indicateur rend le fichier crypté conforme à la norme Open PGP RFC488 0. -
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é SSH privée 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: /
/decrypt-userDOC-EXAMPLE-BUCKET
Votre 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.