

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

# Specifica di dati sensibili utilizzando segreti di Secrets Manager in Amazon ECS
<a name="specifying-sensitive-data-tutorial"></a>

Amazon ECS ti consente di iniettare dati sensibili nei tuoi contenitori archiviando i dati sensibili in modo Gestione dei segreti AWS segreto e quindi facendone riferimento nella definizione del contenitore. Per ulteriori informazioni, consulta [Trasferimento di dati sensibili a un container Amazon ECS](specifying-sensitive-data.md).

Per scoprire come creare un segreto di Secrets Manager, fare riferimento al segreto in una definizione di attività di Amazon ECS e quindi verificarne il funzionamento eseguendo una query sulla variabile di ambiente all'interno di un container che mostra i contenuti del segreto.

## Prerequisiti
<a name="specifying-sensitive-data-tutorial-prereqs"></a>

Questo tutorial presuppone che siano stati soddisfatti i prerequisiti seguenti:
+ Hai completato le fasi descritte in [Configurazione per l'uso di Amazon ECS](get-set-up-for-amazon-ecs.md).
+ L'utente dispone delle autorizzazioni IAM necessarie per creare le risorse di Secrets Manager e Amazon ECS.

## Fase 1: Creazione di un segreto di Secrets Manager
<a name="specifying-sensitive-data-tutorial-create-secret"></a>

Puoi utilizzare la console Secrets Manager per creare un segreto per i dati sensibili. In questo tutorial creeremmo un segreto di base per l'archiviazione di un nome utente e una password cui fare riferimento in seguito in un container. *Per ulteriori informazioni, consulta [Creare un Gestione dei segreti AWS segreto](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html) nella Guida per l'Gestione dei segreti AWS utente.*

Le ** key/value coppie da memorizzare in questo segreto** sono il valore della variabile di ambiente nel contenitore alla fine del tutorial.

Salva l'**ARN del segreto** a cui fare riferimento nella policy IAM di esecuzione dell'attività e nella definizione dell'attività nelle fasi successive.

## Fase 2: aggiungere le autorizzazioni segrete al ruolo di esecuzione di attività
<a name="specifying-sensitive-data-tutorial-update-iam"></a>

Per consentire ad Amazon ECS di recuperare i dati sensibili dal segreto di Secrets Manager, è necessario disporre delle autorizzazioni dei segreti per il ruolo di esecuzione dell'attività. Per ulteriori informazioni, consulta [Autorizzazioni per Secrets Manager o Systems Manager](task_execution_IAM_role.md#task-execution-secrets).

## Fase 3: creazione di una definizione di attività
<a name="specifying-sensitive-data-tutorial-create-taskdef"></a>

Puoi utilizzare la console Amazon ECS per creare una definizione di attività che fa riferimento a un segreto di Secrets Manager.

**Per creare una definizione di attività che specifichi un segreto**

Utilizza la console IAM per aggiornare il ruolo di esecuzione del processo con le autorizzazioni richieste.

1. Apri la console alla [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2).

1. Nel pannello di navigazione, scegli **Task Definitions** (Definizioni di processo).

1. Scegli **Create new task definition** (Crea nuova definizione di attività), **Create new task definition with JSON** (Crea nuova definizione di attività con JSON).

1. Nella casella dell'editor JSON, inserire il seguente testo JSON della definizione di attività, assicurandosi di specificare l'ARN completo del segreto di Secrets Manager creato nella fase 1 e il ruolo dell'esecuzione del processo aggiornato nella fase 2. Scegli **Salva**.

1. 

   ```
   {
       "executionRoleArn": "arn:aws:iam::aws_account_id:role/ecsTaskExecutionRole",
       "containerDefinitions": [
           {
               "entryPoint": [
                   "sh",
                   "-c"
               ],
               "portMappings": [
                   {
                       "hostPort": 80,
                       "protocol": "tcp",
                       "containerPort": 80
                   }
               ],
               "command": [
                   "/bin/sh -c \"echo '<html> <head> <title>Amazon ECS Sample App</title> <style>body {margin-top: 40px; background-color: #333;} </style> </head><body> <div style=color:white;text-align:center> <h1>Amazon ECS Sample App</h1> <h2>Congratulations!</h2> <p>Your application is now running on a container in Amazon ECS.</p> </div></body></html>' >  /usr/local/apache2/htdocs/index.html && httpd-foreground\""
               ],
               "cpu": 10,
               "secrets": [
                   {
                       "valueFrom": "arn:aws:secretsmanager:region:aws_account_id:secret:username_value",
                       "name": "username_value"
                   }
               ],
               "memory": 300,
               "image": "public.ecr.aws/docker/library/httpd:2.4",
               "essential": true,
               "name": "ecs-secrets-container"
           }
       ],
       "family": "ecs-secrets-tutorial"
   }
   ```

1. Scegli **Crea**.

## Fase 4: Creare un cluster
<a name="specifying-sensitive-data-tutorial-create-cluster"></a>

Puoi utilizzare la console Amazon ECS per creare un cluster che contiene un'istanza di container su cui eseguire il processo. Se disponi di un cluster esistente con almeno un'istanza di container registrata nello stesso con le risorse disponibili per eseguire un'istanza della definizione di attività creata per questo tutorial, puoi passare alla fase successiva.

Per questo tutorial creeremo un cluster con una istanza di container `t2.micro` utilizzando l'AMI Amazon Linux 2 ottimizzata per Amazon ECS.

Per informazioni sulla creazione di un cluster per EC2, consultare [Creazione di un cluster Amazon ECS per i carichi di lavoro di Amazon EC2](create-ec2-cluster-console-v2.md).

## Fase 5: Eseguire un'attività
<a name="specifying-sensitive-data-tutorial-run-task"></a>

Puoi utilizzare la console Amazon ECS per eseguire un processo utilizzando la definizione di attività creata. Per questo tutorial verrà eseguito un processo utilizzando EC2, mediante il cluster creato nella fase precedente. 

Per informazioni sulla modalità di esecuzione del comando, consulta [Esecuzione di un'applicazione come attività Amazon ECS](standalone-task-create.md).

## Fase 6: verifica
<a name="specifying-sensitive-data-tutorial-verify"></a>

Puoi verificare che tutte le fasi sono state completate correttamente e che la variabile di ambiente è stata creata nel container utilizzando le fasi seguenti.

**Per verificare che la variabile di ambiente è stata creata**

1. Trova l'indirizzo DNS o IP pubblico per l'istanza di container.

   1. Apri la console nella [https://console.aws.amazon.com/ecs/versione 2](https://console.aws.amazon.com/ecs/v2).

   1. Nel riquadro di navigazione, selezionare **Cluster** e quindi il cluster che è stato creato.

   1. Seleziona **Infrastruttura** e quindi l'istanza di container.

   1. Registra l'**IP pubblico** o il **DNS pubblico** per l'istanza.

1. Se utilizzi un computer macOS o Linux, connettiti all'istanza con il comando seguente, sostituisci il percorso con la chiave privata e l'indirizzo pubblico dell'istanza:

   ```
   $ ssh -i /path/to/my-key-pair.pem ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com
   ```

   Per ulteriori informazioni sull'uso di un computer Windows, consultare [Connect to your Linux instance using PuTTY](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-linux-inst-from-windows.html) nella *Guida per l'utente di Amazon EC2*.
**Importante**  
Per ulteriori informazioni sui problemi di connessione all'istanza, consultare [Troubleshooting Connecting to Your Instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html) nella *Guida per l'utente di Amazon EC2*.

1. Elencare i contenitori in esecuzione sull'istanza. Prendere nota dell'ID container per il container `ecs-secrets-tutorial`.

   ```
   docker ps
   ```

1. Eseguire il collegamento al container `ecs-secrets-tutorial` utilizzando l'ID container dell'output della fase precedente.

   ```
   docker exec -it container_ID /bin/bash
   ```

1. Utilizzare il comando `echo` per stampare il valore della variabile di ambiente.

   ```
   echo $username_value
   ```

   Se il tutorial è stato completato, viene visualizzato l'output seguente:

   ```
   password_value
   ```
**Nota**  
In alternativa, è possibile elencare tutte le variabili di ambiente nel container utilizzando il comando `env` (o `printenv`).

## Fase 7: pulire
<a name="specifying-sensitive-data-tutorial-cleanup"></a>

Una volta terminato questo tutorial, è necessario eliminare le risorse associate per evitare costi aggiuntivi per le risorse non utilizzate.

**Come ripulire le risorse**

1. Apri la console nella [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2).

1. Nel pannello di navigazione scegliere **Cluster**.

1. Nella pagina **Cluster**, scegliere il cluster.

1. Scegli **Elimina Cluster**. 

1. Nella casella di conferma, inserisci **delete *cluster name***, quindi scegli **Elimina**.

1. Aprire la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Nel riquadro di navigazione, seleziona **Ruoli**. 

1. Cercare l'elenco di ruoli per `ecsTaskExecutionRole` e selezionarlo.

1. Scegli **Autorizzazioni**, quindi scegli la **X** accanto a **ECSSecretsTutorial**. Scegli **Rimuovi**.

1. Apri la console Secrets Manager all'indirizzo [https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/).

1. Selezionare il segreto **username\$1value** creato e scegliere **Actions (Operazioni)**, **Delete secret (Elimina segreto)**.