

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

# Specificare i dati sensibili con Systems Manager Parameter Store
<a name="specifying-sensitive-data-parameters"></a>

Con AWS Batch, puoi inserire dati sensibili nei tuoi contenitori memorizzando i dati sensibili nei parametri di AWS Systems Manager Parameter Store e quindi facendo riferimento ad essi nella definizione del contenitore.

**Topics**
+ [Considerazioni relative alla specificazione di dati sensibili utilizzando Systems Manager Parameter Store](#secrets--parameterstore-considerations)
+ [Autorizzazioni IAM richieste per i segreti AWS Batch](#secrets-iam-parameters)
+ [Inietta dati sensibili come variabile di ambiente](#secrets-envvar-parameters)
+ [Inietta dati sensibili in una configurazione di registro](#secrets-logconfig-parameters)
+ [Creare un parametro Parameter Store AWS Systems Manager](#secrets-create-parameter)

## Considerazioni relative alla specificazione di dati sensibili utilizzando Systems Manager Parameter Store
<a name="secrets--parameterstore-considerations"></a>

Quando specifichi i dati sensibili per i container utilizzando i parametri dell'archivio parametri di Systems Manager, è necessario considerare quanto segue.
+ Questa funzionalità richiede che l'istanza del contenitore disponga della versione 1.23.0 o successiva dell'agente contenitore. Tuttavia, ti consigliamo di utilizzare la versione più recente dell’agente container. Per informazioni sulla verifica della versione dell'agente e sull'aggiornamento alla versione più recente, consulta [Updating the Amazon ECS Container Agent](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) nella *Amazon Elastic Container Service Developer Guide*.
+ I dati sensibili vengono iniettati nel contenitore per il tuo lavoro al momento del primo avvio del contenitore. Se il segreto o il parametro dell'archivio parametri viene in seguito aggiornato o ruotato, il container non riceverà automaticamente il valore aggiornato. È necessario avviare un nuovo lavoro per forzare il lancio di un nuovo lavoro con segreti aggiornati.

## Autorizzazioni IAM richieste per i segreti AWS Batch
<a name="secrets-iam-parameters"></a>

Per utilizzare questa funzionalità, è necessario disporre del ruolo di esecuzione e farvi riferimento nella definizione del processo. Ciò consente all'agente container Amazon ECS di reperire le AWS Systems Manager risorse necessarie. Per ulteriori informazioni, consulta [AWS Batch Ruolo di esecuzione IAM](execution-IAM-role.md).

Per fornire l'accesso ai parametri di AWS Systems Manager Parameter Store che crei, aggiungi manualmente le seguenti autorizzazioni come policy in linea al ruolo di esecuzione. Per informazioni, consulta [Aggiunta e rimozione delle policy IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) nella *Guida per l'utente di IAM*.
+ `ssm:GetParameters`: obbligatorio se fai riferimento a un parametro dell'archivio parametri di Systems Manager in una definizione di attività.
+ `secretsmanager:GetSecretValue`: obbligatorio se fai riferimento direttamente a un segreto di Secrets Manager o se il parametro dell'archivio parametri di Systems Manager fa riferimento a un segreto di Secrets Manager in una definizione di attività.
+ `kms:Decrypt`: obbligatorio solo se il segreto utilizza una chiave KMS personalizzata e non quella di default. L'ARN per la chiave personalizzata deve essere aggiunto come risorsa.

La policy inline dell'esempio seguente aggiunge le autorizzazioni necessarie:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:GetParameters",
                "secretsmanager:GetSecretValue",
                "kms:Decrypt"
            ],
            "Resource": [
                "arn:aws:ssm:us-east-2:999999999999:parameter/<parameter_name>",
                "arn:aws:secretsmanager:us-east-2:999999999999:secret:<secret_name>",
                "arn:aws:kms:us-east-2:999999999999:key/<key_id>"
            ]
        }
    ]
}
```

------

## Inietta dati sensibili come variabile di ambiente
<a name="secrets-envvar-parameters"></a>

Nella definizione del container specifica `secrets` con il nome della variabile di ambiente per impostare il container e l'ARN del parametro dell'archivio parametri di Systems Manager contenente i dati sensibili da presentare al container.

Di seguito è riportato un frammento di una definizione di attività che mostra il formato quando si fa riferimento a un parametro Systems Manager Parameter Store. Se il parametro Systems Manager Parameter Store esiste nella stessa regione dell'attività che si sta avviando, è possibile utilizzare l'ARN completo o il nome del parametro. Se il parametro esiste in una Regione diversa, deve essere specificato l'ARN completo.

```
{
  "containerProperties": [{
    "secrets": [{
      "name": "environment_variable_name",
      "valueFrom": "arn:aws:ssm:region:aws_account_id:parameter/parameter_name"
    }]
  }]
}
```

## Inietta dati sensibili in una configurazione di registro
<a name="secrets-logconfig-parameters"></a>

Nella definizione del container, quando specifichi un `logConfiguration` è possibile specificare `secretOptions` con il nome dell'opzione del driver di log per impostare il container e l'ARN completo del parametro dell'archivio parametri di Systems Manager contenente i dati sensibili da presentare al container.

**Importante**  
Se il parametro Systems Manager Parameter Store esiste nella stessa regione dell'attività che si sta avviando, è possibile utilizzare l'ARN completo o il nome del parametro. Se il parametro esiste in una Regione diversa, deve essere specificato l'ARN completo.

Di seguito è riportato un frammento di una definizione di attività che mostra il formato quando si fa riferimento a un parametro Systems Manager Parameter Store.

```
{
  "containerProperties": [{
    "logConfiguration": [{
      "logDriver": "fluentd",
      "options": {
        "tag": "fluentd demo"
      },
      "secretOptions": [{
        "name": "fluentd-address",
        "valueFrom": "arn:aws:ssm:region:aws_account_id:parameter/parameter_name"
      }]
    }]
  }]
}
```

## Creare un parametro Parameter Store AWS Systems Manager
<a name="secrets-create-parameter"></a>

È possibile utilizzare la AWS Systems Manager console per creare un parametro Systems Manager Parameter Store per i dati sensibili. Per ulteriori informazioni consulta [Spiegazione passo per passo: creazione e utilizzo di un parametro in un comando (console)](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-console.html) nella *Guida per l'utente di AWS Systems Manager *.

**Per creare un parametro dell'Archivio parametri**

1. Aprire la AWS Systems Manager console all'indirizzo [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Nel pannello di navigazione, scegli **Archivio parametri**, **Crea parametro**.

1. In **Name (Nome)** immetti una gerarchia e un nome di parametro. Ad esempio, digita `test/database_password`.

1. In **Description (Descrizione)**, digita una descrizione opzionale.

1. Per **Tipo**, scegliete **String **StringList****, o **SecureString**.
**Nota**  
Se scegli **SecureString**, viene visualizzato il campo **KMS Key ID**. Se non specifichi un ID chiave KMS, un ARN della chiave KMS, un nome alias o un ARN alias, il sistema utilizzerà `alias/aws/ssm`. Questa è la chiave KMS predefinita per Systems Manager. Per evitare l'utilizzo di questa chiave, scegli una chiave personalizzata. Per ulteriori informazioni, consulta [Utilizzo dei parametri di stringa sicura](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-about.html) nella *Guida per l'utente di AWS Systems Manager *.
Quando crei un parametro di stringa sicura nella console utilizzando il parametro `key-id` con un nome alias della chiave KMS personalizzata o un ARN dell'alias, devi specificare il prefisso `alias/` prima dell'alias. Di seguito è riportato un ARN di esempio:  

     ```
     arn:aws:kms:us-east-2:123456789012:alias/MyAliasName
     ```
Di seguito è riportato un nome alias di esempio:  

     ```
     alias/MyAliasName
     ```

1. In **Value (Valore)**, digita un valore. Ad esempio, `MyFirstParameter`. Se hai scelto **SecureString**, il valore viene mascherato esattamente come lo hai inserito.

1. Scegli **Create parameter (Crea parametro)**.