

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
<a name="workflow-decrypt-tutorial"></a>

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](https://aws.amazon.com/blogs/storage/encrypt-and-decrypt-files-with-pgp-and-aws-transfer-family/). AWS Transfer Family

**Topics**
+ [Fase 1: Configurare un ruolo di esecuzione](#create-example-execution-role)
+ [Fase 2: Creare un flusso di lavoro gestito](#create-example-workflow)
+ [Passaggio 3: aggiungere il flusso di lavoro a un server e creare un utente](#add-workflow-to-server)
+ [Fase 4: Creare una coppia di key pair PGP](#create-example-pgp-key-pair)
+ [Passaggio 5: Memorizza la chiave privata PGP in Gestione dei segreti AWS](#output-private-key-to-secrets)
+ [Fase 6: Crittografare un file](#encrypt-example-file)
+ [Passaggio 7: Esegui il flusso di lavoro e visualizza i risultati](#test-decrypt-workflow)

## Fase 1: Configurare un ruolo di esecuzione
<a name="create-example-execution-role"></a>

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 in[Politiche IAM per i flussi di lavoro](workflow-execution-role.md).

**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 in[Per stabilire una relazione di trust](requirements-roles.md#establish-trust-transfer).

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 `user input placeholders` con le tue informazioni. Sostituisci `amzn-s3-demo-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](nominal-steps-workflow.md) Le autorizzazioni necessarie per un passaggio personalizzato sono descritte in. [Autorizzazioni IAM per un passaggio personalizzato](custom-step-details.md#custom-step-iam)

****  

```
{
    "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:::amzn-s3-demo-bucket/*",
                "arn:aws:s3:::amzn-s3-demo-bucket"
            ]
        },
        {
            "Sid": "DecryptSecret",
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetSecretValue"
            ],
            "Resource": "arn:aws:secretsmanager:us-east-1:123456789012:secret:aws/transfer/*"
        }
    ]
}
```

## Fase 2: Creare un flusso di lavoro gestito
<a name="create-example-workflow"></a>

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**

1. Apri la AWS Transfer Family console all'indirizzo. [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/)

1. Nel riquadro di navigazione a sinistra, scegli **Flussi di lavoro**, quindi scegli **Crea flusso di lavoro**. 

1. Inserisci i seguenti dettagli:
   + Inserisci una descrizione, ad esempio**Decrypt workflow example**.
   + Nella sezione **Passaggi nominali**, scegliete **Aggiungi fase**.

1. **Per **Scegli il tipo di passaggio**, scegli **Decrittografa il file**, quindi scegli Avanti.**

1. <a name="configure-destination-details"></a>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 `amzn-s3-demo-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 **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.

1. Rivedi i dettagli del passaggio. Se tutto è corretto, scegli **Crea passaggio**.

1. 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 *`w-1234abcd5678efghi`* come esempio l'ID del flusso di lavoro. 

## Passaggio 3: aggiungere il flusso di lavoro a un server e creare un utente
<a name="add-workflow-to-server"></a>

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**

1. Apri la AWS Transfer Family console all'indirizzo [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

1. Nel riquadro di navigazione a sinistra, scegli **Server**, quindi scegli un server dall'elenco. Assicurati che questo server supporti il protocollo SFTP.

1. Nella pagina dei dettagli del server, scorri verso il basso fino alla sezione **Dettagli aggiuntivi**, quindi scegli **Modifica**. 

1. 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 creato[Fase 2: Creare un flusso di lavoro gestito](#create-example-workflow), 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](#create-example-execution-role)

1. Scorri fino alla fine della pagina e scegli **Salva** per salvare le modifiche.

Annota l'ID del server che stai utilizzando. Il nome del Gestione dei segreti AWS 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**

1. Apri la AWS Transfer Family console all'indirizzo [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/).

1. Nel riquadro di navigazione a sinistra, scegli **Server**, quindi scegli il server che stai utilizzando per il flusso di lavoro di decrittografia.

1. Nella pagina dei dettagli del server, scorri verso il basso fino alla sezione **Utenti** e scegli **Aggiungi** utente. 

1. 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. `amzn-s3-demo-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 utenti gestiti dal servizio](sshkeygen.md).

1. 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
<a name="create-example-pgp-key-pair"></a>

Usa uno dei [client PGP supportati per generare una coppia](pgp-key-clients.md) di key pair PGP. Questo processo è descritto in dettaglio in. [Genera chiavi PGP](generate-pgp-keys.md)

**Per generare una coppia di key pair PGP**

1. 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. Se scegli **ECC**, puoi scegliere tra BrainPool e Curve25519 per la NIST curva ellittica. 

1. Esporta la chiave privata eseguendo il comando seguente. Sostituiscila `user@example.com` con l'indirizzo e-mail che hai usato quando hai generato la chiave.

   ```
   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 Gestione dei segreti AWS.

## Passaggio 5: Memorizza la chiave privata PGP in Gestione dei segreti AWS
<a name="output-private-key-to-secrets"></a>

È 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 [Gestione dei segreti AWS Pricing](https://aws.amazon.com/secrets-manager/pricing).

**Per memorizzare una chiave privata PGP in Secrets Manager**

1. Accedi a Console di gestione AWS e apri la Gestione dei segreti AWS console all'indirizzo. [https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/)

1. Nel pannello di navigazione a sinistra, seleziona **Segreti**. 

1. Nella pagina **Segreti**, scegli **Memorizza un nuovo segreto**.

1. Nella pagina **Scegli il tipo di segreto**, per **Tipo segreto**, scegli **Altro tipo di segreto**.

1. 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.

1. 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](#create-example-pgp-key-pair)

1. Scegli **Next (Successivo)**.

1. 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 è*`s-11112222333344445`*, assegnate al segreto il nome seguente.
   + 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**.

1. Scegliete **Avanti**, quindi accettate le impostazioni predefinite nella pagina **Configura rotazione**. Quindi scegli **Successivo**.

1. 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 Gestione dei segreti AWS per memorizzare la chiave PGP](manage-pgp-keys.md#store-pgp-key-details).

## Fase 6: Crittografare un file
<a name="encrypt-example-file"></a>

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, `marymajor@example.com` sostituiscilo con l'indirizzo email che hai usato quando hai creato la key pair PGP.
+ La `--openpgp` bandiera è facoltativa. Questo flag rende il file criptato conforme allo standard [OpenPGP RFC4880](https://www.rfc-editor.org/rfc/rfc4880).
+ Questo comando crea un file denominato **testfile.txt.gpg** nella stessa posizione di. **testfile.txt**

**Importante**  
Quando crittografate i file per utilizzarli con i AWS Transfer Family flussi di lavoro, assicuratevi sempre di specificare un destinatario non anonimo utilizzando il parametro. `-r` La crittografia anonima (senza specificare un destinatario) può causare errori di decrittografia nel flusso di lavoro perché il sistema non sarà in grado di identificare quale chiave utilizzare per la decrittografia. Le informazioni di debug relative a questo problema sono disponibili all'indirizzo. [Risolvi i problemi di crittografia dei destinatari anonimi](workflow-issues.md#workflows-decrypt-anonymous) 

## Passaggio 7: Esegui il flusso di lavoro e visualizza i risultati
<a name="test-decrypt-workflow"></a>

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](#configure-destination-details) per vedere il file decrittografato.

**Per eseguire il flusso di lavoro di decrittografia**

1. Aprire un terminale di comando.

1. Esegui il comando seguente, sostituendolo `your-endpoint` con l'endpoint attuale e `transfer-key` con la chiave privata SSH dell'utente:

   ```
   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
   ```

1. Esegui il comando `pwd`. In caso di successo, questo comando restituirà quanto segue:

   ```
   Remote working directory: /amzn-s3-demo-bucket/decrypt-user
   ```

   La tua directory riflette il nome del tuo bucket Amazon S3.

1. Esegui il comando seguente per caricare il file e attivare l'esecuzione del flusso di lavoro:

   ```
   put testfile.txt.gpg
   ```

1. 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 il `testfile.txt` file. È possibile scaricare questo file e verificare che sia uguale al file originale crittografato in precedenza.