Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Configurazione di un flusso di lavoro gestito per la decrittografia di un file
Questo tutorial illustra come configurare un flusso di lavoro gestito che contenga una fase di decrittografia. Il tutorial mostra anche come caricare un file crittografato in un bucket Amazon S3 e quindi visualizzare il file decrittografato nello stesso bucket.
Nota
Il blog AWS sullo storage ha un post che descrive come decrittografare semplicemente i file senza scrivere alcun codice utilizzando i flussi di lavoro Transfer Family Managed, crittografare e decrittografare i file con PGP e
Argomenti
- Fase 1: Configurare un ruolo di esecuzione
- Fase 2: Creare un flusso di lavoro gestito
- Fase 3: Aggiungere il flusso di lavoro a un server e creare un utente
- Fase 4: Creare una coppia di key pair PGP
- Passaggio 5: Memorizza la chiave privata PGP in AWS Secrets Manager
- Fase 6: Crittografare un file
- Passaggio 7: Eseguire il flusso di lavoro e visualizzare i risultati
Fase 1: Configurare un ruolo di esecuzione
Crea un ruolo di esecuzione AWS Identity and Access Management (IAM) che Transfer Family possa utilizzare per avviare un flusso di lavoro. Il processo di creazione di un ruolo di esecuzione è descritto inPolitiche IAM per i flussi di lavoro.
Nota
Come parte della creazione di un ruolo di esecuzione, assicurati di stabilire una relazione di fiducia tra il ruolo di esecuzione e Transfer Family, come descritto inPer stabilire una relazione di trust.
La seguente politica sul ruolo di esecuzione contiene tutte le autorizzazioni necessarie per avviare il flusso di lavoro creato in questo tutorial. Per utilizzare questa policy di esempio, sostituisci
con le tue informazioni. Sostituiscilo user input placeholders
DOC-EXAMPLE-BUCKET
con il nome del bucket Amazon S3 in cui carichi i file crittografati.
Nota
Non tutti i flussi di lavoro richiedono tutte le autorizzazioni elencate in questo esempio. Puoi limitare le autorizzazioni in base ai tipi di passaggi del tuo flusso di lavoro specifico. Le autorizzazioni necessarie per ogni tipo di passaggio predefinito sono descritte in. Utilizza passaggi predefiniti Le autorizzazioni necessarie per un passaggio personalizzato sono descritte in. Autorizzazioni IAM per un passaggio personalizzato
{ "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/*" } ] }
Fase 2: Creare un flusso di lavoro gestito
Ora devi creare un flusso di lavoro che contenga una fase di decrittografia.
Per creare un flusso di lavoro che contenga una fase di decrittografia
-
Apri la AWS Transfer Family console all'indirizzo https://console.aws.amazon.com/transfer/.
-
Nel riquadro di navigazione a sinistra, scegli Flussi di lavoro, quindi scegli Crea flusso di lavoro.
-
Inserisci i seguenti dettagli:
-
Inserisci una descrizione, ad esempio
Decrypt workflow example
. -
Nella sezione Passaggi nominali, scegliete Aggiungi fase.
-
-
Per Scegli il tipo di passaggio, scegli Decrittografa il file, quindi scegli Avanti.
-
Nella finestra di dialogo Configura parametri, specificate quanto segue:
-
Immettete un nome descrittivo per la fase,
decrypt-step
ad esempio. Gli spazi non sono consentiti nei nomi delle fasi. -
Per la destinazione dei file decrittografati, scegli Amazon S3.
-
Per il nome del bucket di destinazione, scegli lo stesso bucket Amazon S3 che hai specificato
DOC-EXAMPLE-BUCKET
nella policy IAM che hai creato nella fase 1. -
Per il prefisso della chiave di destinazione, inserisci il nome del prefisso (cartella) in cui desideri archiviare i file decrittografati nel bucket di destinazione, ad esempio.
decrypted-files/
Nota
Assicurati di aggiungere una barra finale () al prefisso.
/
-
Per questo tutorial, lascia deselezionata l'opzione Sovrascrivi esistente. Quando questa impostazione è deselezionata, se si tenta di decrittografare un file con lo stesso nome di un file esistente, l'elaborazione del flusso di lavoro si interrompe e il nuovo file non viene elaborato.
Scegli Avanti per passare alla schermata di revisione.
-
-
Esamina i dettagli del passaggio. Se tutto è corretto, scegli Crea passaggio.
-
Il flusso di lavoro richiede solo una singola fase di decrittografia, quindi non ci sono passaggi aggiuntivi da configurare. Scegli Crea flusso di lavoro per creare il nuovo flusso di lavoro.
Annota l'ID del flusso di lavoro per il nuovo flusso di lavoro. Questo ID ti servirà per il passaggio successivo. Questo tutorial utilizza
come esempio l'ID del flusso di lavoro. w-1234abcd5678efghi
Fase 3: Aggiungere il flusso di lavoro a un server e creare un utente
Ora che hai un flusso di lavoro con una fase di decrittografia, devi associarlo a un server Transfer Family. Questo tutorial mostra come collegare il flusso di lavoro a un server Transfer Family esistente. In alternativa, puoi creare un nuovo server da utilizzare con il tuo flusso di lavoro.
Dopo aver collegato il flusso di lavoro a un server, è necessario creare un utente in grado di accedere al server tramite SFTP e attivare l'esecuzione del flusso di lavoro.
Per configurare un server Transfer Family per eseguire un flusso di lavoro
-
Apri la AWS Transfer Family console all'indirizzo https://console.aws.amazon.com/transfer/
. -
Nel riquadro di navigazione a sinistra, scegli Server, quindi scegli un server dall'elenco. Assicurati che questo server supporti il protocollo SFTP.
-
Nella pagina dei dettagli del server, scorri verso il basso fino alla sezione Dettagli aggiuntivi, quindi scegli Modifica.
-
Nella pagina Modifica dettagli aggiuntivi, nella sezione Flussi di lavoro gestiti, scegli il tuo flusso di lavoro e scegli il ruolo di esecuzione corrispondente.
-
Per Workflow per caricamenti completi di file, scegli il flusso di lavoro in cui hai creatoFase 2: Creare un flusso di lavoro gestito, ad esempio,.
w-1234abcd5678efghi
-
Per il ruolo di esecuzione dei flussi di lavoro gestiti, scegli il ruolo IAM in cui hai creato. Fase 1: Configurare un ruolo di esecuzione
-
-
Scorri fino alla fine della pagina e scegli Salva per salvare le modifiche.
Annota l'ID del server che stai utilizzando. Il nome del AWS Secrets Manager segreto utilizzato per memorizzare le chiavi PGP si basa in parte sull'ID del server.
Per aggiungere un utente in grado di attivare il flusso di lavoro
-
Apri la AWS Transfer Family console all'indirizzo https://console.aws.amazon.com/transfer/
. -
Nel riquadro di navigazione a sinistra, scegli Server, quindi scegli il server che stai utilizzando per il flusso di lavoro di decrittografia.
-
Nella pagina dei dettagli del server, scorri verso il basso fino alla sezione Utenti e scegli Aggiungi utente.
-
Per il tuo nuovo utente, inserisci i seguenti dettagli:
-
Per Username (Nome utente), inserisci
decrypt-user
. -
Per Ruolo, scegli un ruolo utente che possa accedere al tuo server.
-
Per la directory Home, scegli il bucket Amazon S3 che hai usato in precedenza, ad esempio.
DOC-EXAMPLE-BUCKET
-
Per le chiavi pubbliche SSH, incolla una chiave pubblica che corrisponde a una chiave privata che possiedi. Per informazioni dettagliate, vedi Genera chiavi SSH per gli utenti gestiti dal servizio.
-
-
Scegli Aggiungi per salvare il tuo nuovo utente.
Annota il nome del tuo utente Transfer Family per questo server. Il segreto si basa in parte sul nome dell'utente. Per semplicità, questo tutorial utilizza un segreto predefinito che può essere utilizzato da qualsiasi utente del server.
Fase 4: Creare una coppia di key pair PGP
Usa uno dei client PGP supportati per generare una coppia di key pair PGP. Questo processo è descritto in dettaglio in. Genera chiavi PGP
Per generare una coppia di key pair PGP
-
Per questo tutorial, puoi utilizzare il client
gpg
(GnuPG
) versione 2.0.22 per generare una coppia di chiavi PGP che utilizza RSA come algoritmo di crittografia. Per questo client, esegui il comando seguente e fornisci un indirizzo email e una passphrase. Puoi usare qualsiasi nome o indirizzo email che preferisci. Assicurati di ricordare i valori che usi, perché dovrai inserirli più avanti nel tutorial.gpg --gen-key
Nota
Se stai usando la
GnuPG
versione 2.3.0 o successiva, devi eseguire.gpg --full-gen-key
Quando viene richiesto il tipo di chiave da creare, scegli RSA o ECC. Tuttavia, se scegli ECC, assicurati di scegliere uno dei due NIST o BrainPool per la curva ellittica. Non scegliete. Curve 25519 -
Esporta la chiave privata eseguendo il comando seguente. Sostituiscila
con l'indirizzo e-mail che hai usato quando hai generato la chiave.user@example.com
gpg --output workflow-tutorial-key.pgp --armor --export-secret-key
user@example.com
Questo comando esporta la chiave privata nel
workflow-tutorial-key.pgp
file. Puoi assegnare al file di output il nome che preferisci. Puoi anche eliminare il file della chiave privata dopo averlo aggiunto AWS Secrets Manager.
Passaggio 5: Memorizza la chiave privata PGP in AWS Secrets Manager
È necessario archiviare la chiave privata in Secrets Manager, in un modo molto specifico, in modo che il flusso di lavoro possa trovare la chiave privata quando il flusso di lavoro esegue una fase di decrittografia su un file caricato.
Nota
Quando memorizzi segreti in Secrets Manager, ti vengono Account AWS addebitati dei costi. Per informazioni sui prezzi, consulta Prezzi di AWS Secrets Manager
Per memorizzare una chiave privata PGP in Secrets Manager
-
Nel pannello di navigazione a sinistra, seleziona Segreti.
-
Nella pagina Segreti, scegli Memorizza un nuovo segreto.
-
Nella pagina Scegli il tipo di segreto, per Tipo segreto, scegli Altro tipo di segreto.
-
Nella sezione Coppie chiave/valore, scegli la scheda Chiave/valore.
-
Chiave: Invio.
PGPPrivateKey
-
valore: incolla il testo della tua chiave privata nel campo del valore.
-
-
Scegli Aggiungi riga e, nella sezione Coppie chiave/valore, scegli la scheda Chiave/valore.
-
Chiave: Invio.
PGPPassphrase
-
value — Inserisci la passphrase che hai usato quando hai generato la tua key pair PGP. Fase 4: Creare una coppia di key pair PGP
-
-
Seleziona Successivo.
-
Nella pagina Configura segreto, inserisci un nome e una descrizione per il tuo segreto. Puoi creare un segreto per un utente specifico o uno che può essere utilizzato da tutti gli utenti. Se l'ID del server è
, assegnate al segreto il nome seguente.s-11112222333344445
-
Per creare un segreto predefinito per tutti gli utenti, assegna un nome al segreto
aws/transfer/
.s-11112222333344445
/@pgp-default -
Per creare un segreto solo per l'utente che hai creato in precedenza, assegna un nome al segreto
aws/transfer/
.s-11112222333344445
/decrypt-user
-
-
Scegliete Avanti, quindi accettate le impostazioni predefinite nella pagina Configura rotazione. Quindi scegli Successivo.
-
Nella pagina Revisione, scegli Store per creare e archiviare il segreto.
Per ulteriori informazioni sull'aggiunta della chiave privata PGP a Secrets Manager, consulta Utilizzare AWS Secrets Manager per memorizzare la chiave PGP.
Fase 6: Crittografare un file
Usa il gpg
programma per crittografare un file da utilizzare nel tuo flusso di lavoro. Eseguite il comando seguente per crittografare un file:
gpg -e -r
marymajor@example.com
--openpgp testfile.txt
Prima di eseguire questo comando, tenete presente quanto segue:
-
Per l'
-r
argomento,
sostituiscilo con l'indirizzo email che hai usato quando hai creato la key pair PGP.marymajor@example.com
-
La
--openpgp
bandiera è facoltativa. Questo flag rende il file criptato conforme allo standard OpenPGPRFC4880. -
Questo comando crea un file denominato nella stessa posizione di.
testfile.txt.gpg
testfile.txt
Passaggio 7: Eseguire il flusso di lavoro e visualizzare i risultati
Per eseguire il flusso di lavoro, ti connetti al server Transfer Family con l'utente che hai creato nel passaggio 3. Quindi puoi cercare nel bucket Amazon S3 che hai specificato nel passaggio 2.5, configurare i parametri di destinazione per vedere il file decrittografato.
Per eseguire il flusso di lavoro di decrittografia
-
Aprire un terminale di comando.
-
Esegui il comando seguente, sostituendolo
con l'endpoint attuale eyour-endpoint
con la chiave privata SSH dell'utente:transfer-key
sftp -i
transfer-key
decrypt-user@your-endpoint
Ad esempio, se la chiave privata è archiviata in
~/.ssh/decrypt-user
e l'endpoint lo ès-11112222333344445.server.transfer.us-east-2.amazonaws.com
, il comando è il seguente:sftp -i ~/.ssh/decrypt-user decrypt-user@s-11112222333344445.server.transfer.us-east-2.amazonaws.com
-
Esegui il comando
pwd
. In caso di successo, questo comando restituirà quanto segue:Remote working directory: /
DOC-EXAMPLE-BUCKET
/decrypt-userLa tua directory riflette il nome del tuo bucket Amazon S3.
-
Esegui il comando seguente per caricare il file e attivare l'esecuzione del flusso di lavoro:
put testfile.txt.gpg
-
Per la destinazione dei file decrittografati, hai specificato la
decrypted-files/
cartella al momento della creazione del flusso di lavoro. Ora puoi accedere a quella cartella ed elencarne il contenuto.cd ../decrypted-files/ ls
In caso di successo, il
ls
comando elenca iltestfile.txt
file. È possibile scaricare questo file e verificare che sia uguale al file originale crittografato in precedenza.