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.
Argomenti
Fase 1: Configurare un ruolo di esecuzione
Crea un ruolo di esecuzione AWS Identity and Access Management (IAM) che Transfer Family può utilizzare per avviare un flusso di lavoro. Il processo di creazione di un ruolo di esecuzione è descritto inIAMpolitiche 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 eseguire correttamente il flusso di lavoro che creerai in questo tutorial. Per utilizzare questa policy di esempio, sostituisci
con le tue informazioni. Sostituisci user input
placeholders
con il nome del bucket Amazon S3 in cui caricherai i file crittografati.DOC-EXAMPLE-BUCKET
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. IAMautorizzazioni 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. Non sono consentiti spazi nei nomi dei passaggi. -
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
nella policy creata IAM nella fase 1.DOC-EXAMPLE-BUCKET
-
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 Overwrite existing. 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.
-
-
Rivedi 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 ID del flusso di lavoro di esempio. w-1234abcd5678efghi
Passaggio 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 che possa SFTP accedere al server 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 SFTP protocollo.
-
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 IAM ruolo 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 PGP chiavi 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 SSH pubbliche, incolla una chiave pubblica che corrisponde a una chiave privata che possiedi. Per informazioni dettagliate, consultare Genera SSH chiavi 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 PGP key pair
Utilizza uno dei PGPclient supportati per generare una PGP key pair. Questo processo è descritto in dettaglio inGenera chiavi PGP.
Per generare una PGP key pair
-
Per questo tutorial, puoi utilizzare il client
gpg
(GnuPG
) versione 2.0.22 per generare una coppia di PGP chiavi che utilizza RSA come algoritmo di crittografia. Per questo client, esegui il comando seguente e fornisci un indirizzo e-mail 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, scegliete o. RSA ECC Tuttavia, se lo desideriECC, assicurati di scegliere uno dei due NIST oppure BrainPool per la curva ellittica. Non scegliere 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 PGP privata 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 PGP privata in Secrets Manager
-
Accedi a AWS Management Console e apri la AWS Secrets Manager console all'indirizzo https://console.aws.amazon.com/secretsmanager/
. -
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 PGP key pair in. Fase 4: Creare una PGP key pair
-
-
Scegli Next (Successivo).
-
Nella pagina Configura segreto, inserisci un nome e una descrizione per il tuo segreto. Per questo tutorial, puoi creare un segreto predefinito utilizzabile da tutti gli utenti. Supponendo che l'ID del server sia
, dai un nome al segreto.s-11112222333344445
aws/transfer/
Sostituiscis-11112222333344445
/@pgp-default
con l'ID del tuo server Transfer Family. Inserisci una descrizione per il tuo segreto.s-11112222333344445
Nota
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 PGP privata a Secrets Manager, consulta Utilizzare AWS Secrets Manager per archiviare la PGP chiave.
Passaggio 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 PGP key pair.marymajor@example.com
-
La
--openpgp
bandiera è facoltativa. Questo flag rende il file crittografato conforme allo standard Open PGP RFC488 0. -
Questo comando crea un file denominato
testfile.txt.gpg
nella stessatestfile.txt
posizione di.
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 SSH privata 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 sì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: /
/decrypt-userDOC-EXAMPLE-BUCKET
La 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.