

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

# Recupero di segreti e parametri nelle variabili di ambiente Elastic Beanstalk
<a name="AWSHowTo.secrets.env-vars"></a>

Elastic Beanstalk può recuperare Gestione dei segreti AWS valori AWS Systems Manager da Parameter Store durante il bootstrap dell'istanza e assegnarli a variabili di ambiente utilizzabili dall'applicazione.

I seguenti punti riassumono la configurazione, la sincronizzazione e l'accesso per l'utilizzo delle variabili di ambiente come segreti:
+ Configura le variabili di ambiente per archiviare i segreti specificando Amazon Resource Names (ARNs) per i segreti e i parametri che verranno archiviati.
+ Quando i valori segreti vengono aggiornati o ruotati in Secrets Manager o Systems Manager Parameter Store, è necessario aggiornare manualmente le variabili di ambiente.
+ [Le variabili di ambiente secret sono disponibili per i comandi [del contenitore ebextension](platforms-linux-extend.config-files.md) e gli hook della piattaforma.](platforms-linux-extend.hooks.md)

**Versioni delle piattaforma supportate**  
Le versioni della piattaforma rilasciate a partire [dal 26 marzo 2025](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2025-03-26-windows.html) supportano Gestione dei segreti AWS i segreti e i parametri AWS Systems Manager Parameter Store configurati come variabili di ambiente.

**Nota**  
Ad eccezione delle piattaforme docker basate su Docker ed ECS, le versioni della piattaforma Amazon Linux 2 non supportano valori di variabili multilinea. Per ulteriori informazioni sul supporto per variabili multilinea, consulta. [Valori multilinea](#AWSHowTo.secrets.multiline)

**Topics**
+ [Prezzi](#AWSHowTo.secrets.pricing)
+ [Configura i segreti come variabili di ambiente Elastic Beanstalk](#AWSHowTo.secrets.configure-env-vars)
+ [Estrazione delle chiavi JSON dai segreti di Secrets Manager](#AWSHowTo.secrets.json)
+ [Procedure consigliate per la sincronizzazione dei segreti con le variabili di ambiente Elastic Beanstalk](#AWSHowTo.secrets.rotating-secrets)
+ [Valori multilinea nelle variabili di ambiente Amazon Linux 2](#AWSHowTo.secrets.multiline)

## Prezzi
<a name="AWSHowTo.secrets.pricing"></a>

Per l'utilizzo di Secrets Manager e Systems Manager Parameter Store si applicano le tariffe standard. Per ulteriori informazioni sui prezzi, consulta i seguenti siti Web:
+ [Gestione dei segreti AWS prezzi](https://aws.amazon.com/secrets-manager/pricing)
+ [AWS Systems Manager prezzi](https://aws.amazon.com/systems-manager/pricing/) (seleziona *Parameter Store* dall'elenco dei contenuti)

Elastic Beanstalk non addebita alcun costo per l'applicazione per fare riferimento ai segreti dell'ambiente tramite variabili di ambiente. Tuttavia, le tariffe standard si applicano alle richieste che Elastic Beanstalk invia a questi servizi per tuo conto.

## Configura i segreti come variabili di ambiente Elastic Beanstalk
<a name="AWSHowTo.secrets.configure-env-vars"></a>

Puoi utilizzare la console Elastic Beanstalk, i file di configurazione `.ebextensions` in, AWS la CLI e l'SDK per configurare segreti AWS e parametri come variabili di ambiente. 

**Topics**
+ [Prerequisiti](#AWSHowTo.secrets.configure-env-vars.prerequisites)
+ [Utilizzo della console](#AWSHowTo.secrets.configure-env-vars.console)
+ [Configurazione tramite file in .ebextensions](#AWSHowTo.secrets.configure-env-vars.config-file)
+ [Configurazione tramite AWS CLI](#AWSHowTo.secrets.configure-env-vars.aws-cli)
+ [Configurazione tramite l'SDK AWS](#AWSHowTo.secrets.configure-env-vars.aws-sdk)

### Prerequisiti
<a name="AWSHowTo.secrets.configure-env-vars.prerequisites"></a>

Prima di poter configurare le variabili di ambiente per fare riferimento ai segreti, devi prima completare i seguenti passaggi.

**Procedura generale prima della configurazione delle variabili di ambiente**

1. Crea i segreti di Secrets Manager o i parametri Parameter Store per archiviare i tuoi dati sensibili. Per ulteriori informazioni, consulta uno o entrambi i seguenti argomenti:
   + *Creare segreti* in [Utilizzo di Secrets Manager per creare e recuperare segreti](AWSHowTo.secrets.Secrets-Manager-and-Parameter-Store.md#AWSHowTo.secrets.Secrets-Manager)
   + *Creazione di parametri* in [Utilizzo di Systems Manager Parameter Store per creare e recuperare parametri](AWSHowTo.secrets.Secrets-Manager-and-Parameter-Store.md#AWSHowTo.secrets.SSM-parmameter-store)

1. Configura le autorizzazioni IAM richieste per le istanze EC2 del tuo ambiente per recuperare i segreti e i parametri. Per ulteriori informazioni, consulta [Autorizzazioni IAM richieste](AWSHowTo.secrets.IAM-permissions.md).

### Utilizzo della console
<a name="AWSHowTo.secrets.configure-env-vars.console"></a>

Puoi utilizzare la console Elastic Beanstalk per configurare i segreti come variabili di ambiente.

**Per configurare i segreti come variabili di ambiente nella console Elastic Beanstalk**

1. Apri la console [Elastic Beanstalk](https://console.aws.amazon.com/elasticbeanstalk) e, **nell'elenco Regioni, seleziona la tua**. Regione AWS

1. Nel pannello di navigazione selezionare **Environments** (Ambienti), quindi selezionare il nome dell'ambiente dall'elenco.

1. Nel riquadro di navigazione, seleziona **Configuration** (Configurazione).

1. Nella categoria di configurazione **Updates, monitoring, and logging** (Aggiornamenti, monitoraggio e registrazione), scegli **Edit** (Modifica).

1. Scorri verso il basso fino alle variabili di ambiente **Runtime**.

1. Seleziona **Aggiungi variabile di ambiente**.

1. Per **Source**, selezionare **Secrets Manager** o **SSM Parameter Store**.
**Nota**  
Per ulteriori informazioni sull'opzione **Testo normale** nel menu a discesa, consulta. [Configurazione delle proprietà dell'ambiente (variabili di ambiente)](environments-cfg-softwaresettings.md#environments-cfg-softwaresettings-console) 

1. Per **Nome della variabile di ambiente**, immettete il nome della variabile di ambiente che contiene il valore segreto o del parametro.

1. Per **Valore della variabile di ambiente**, immettere l'ARN del parametro Systems Manager Parameter Store o il segreto Secrets Manager. Durante il bootstrap dell'istanza, Elastic Beanstalk avvierà il valore della variabile immessa **nel passaggio 8 sul valore memorizzato in questa risorsa** ARN.

   La console verifica se il valore immesso è un formato ARN valido per il negozio selezionato **nel** passaggio 7. Tuttavia, non convalida l'esistenza della risorsa specificata dall'ARN o se disponi delle autorizzazioni [IAM necessarie](AWSHowTo.secrets.IAM-permissions.md) per accedervi.

1. **Se è necessario aggiungere altre variabili, ripetere i **passaggi da 6** a 9.**

1. Per salvare le modifiche scegli **Apply** (Applica) nella parte inferiore della pagina.

### Configurazione tramite file in .ebextensions
<a name="AWSHowTo.secrets.configure-env-vars.config-file"></a>

Puoi utilizzare i file di configurazione di [Elastic Beanstalk](ebextensions.md) per configurare i segreti come variabili di ambiente. Usa lo [aws:elasticbeanstalk:application:environmentsecrets](command-options-general.md#command-options-general-elasticbeanstalk-application-environmentsecrets) spazio dei nomi per definire le proprietà dell'ambiente.

**Nota**  
Secrets Manager aggiunge automaticamente 6 caratteri casuali ai nomi segreti in formato ARN per garantire l'unicità.

**Example [.ebextensions/options.config per i segreti ambientali (sintassi abbreviata)](ebextensions-optionsettings.md#ebextensions-optionsettings.title)**  

```
option_settings:
  aws:elasticbeanstalk:application:environmentsecrets:
    MY_SECRET: arn:aws:secretsmanager:us-east-1:111122223333:secret:mysecret-AbCd12
    MY_PARAMETER: arn:aws:ssm:us-east-1:111122223333:parameter/myparam
```

**Example .ebextensions/options.config per i segreti ambientali ([sintassi standard](ebextensions-optionsettings.md#ebextensions-optionsettings.title))**  

```
option_settings:
  - namespace: aws:elasticbeanstalk:application:environmentsecrets
    option_name: MY_SECRET
    value: arn:aws:secretsmanager:us-east-1:111122223333:secret:mysecret-AbCd12
  - namespace: aws:elasticbeanstalk:application:environmentsecrets
    option_name: MY_PARAMETER
    value: arn:aws:ssm:us-east-1:111122223333:parameter/myparam
```

### Configurazione tramite AWS CLI
<a name="AWSHowTo.secrets.configure-env-vars.aws-cli"></a>

È possibile utilizzare AWS Command Line Interface (AWS CLI) per configurare i segreti come variabili di ambiente Elastic Beanstalk. Questa sezione fornisce esempi dei comandi [create-environment e [update-environment](https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/update-environment.html) con](https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/create-environment.html) lo spazio dei nomi. [aws:elasticbeanstalk:application:environmentsecrets](command-options-general.md#command-options-general-elasticbeanstalk-application-environmentsecrets) Quando Elastic Beanstalk avvia le istanze EC2 per gli ambienti a cui fanno riferimento questi comandi, inizializza le variabili di ambiente con il segreto recuperato e i valori dei parametri. Recupera questi valori dai rispettivi ARNs Secrets Manager e Systems Manager Parameter Store.

 

I due esempi seguenti utilizzano il comando [create-environment](https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/create-environment.html) per aggiungere un segreto e un parametro, configurati come variabili di ambiente denominate and. `MY_SECRET` `MY_PARAMETER` 

**Example di create-environment con segreti configurati come variabili di ambiente (opzioni dello spazio dei nomi in linea)**  

```
aws elasticbeanstalk create-environment \
--region us-east-1 \
--application-name my-app \
--environment-name my-env \
--platform-arn "arn:aws:elasticbeanstalk:::platform/Node.js 24 running on 64bit Amazon Linux 2023" \
--option-settings \
Namespace=aws:autoscaling:launchconfiguration,OptionName=IamInstanceProfile,Value=aws-elasticbeanstalk-ec2-role \
Namespace=aws:elasticbeanstalk:application:environmentsecrets,OptionName=MY_SECRET,Value=arn:aws:secretsmanager:us-east-1:111122223333:secret:mysecret-AbCd12 \
Namespace=aws:elasticbeanstalk:application:environmentsecrets,OptionName=MY_PARAMETER,Value=arn:aws:ssm:us-east-1:111122223333:parameter/myparam
```



In alternativa, utilizza un file `options.json` per specificare le opzioni dello spazio dei nomi invece di includerle in riga.

**Example di create-environment con segreti configurati come variabili di ambiente (opzioni dello spazio dei nomi nel file) `options.json`**  

```
aws elasticbeanstalk create-environment \
--region us-east-1 \
--application-name my-app \
--environment-name my-env \
--platform-arn "arn:aws:elasticbeanstalk:::platform/Node.js 24 running on 64bit Amazon Linux 2023" \
--option-settings file://options.json
```

**Example**  

```
### example options.json ###
[
  {
    "Namespace": "aws:autoscaling:launchconfiguration",
    "OptionName": "IamInstanceProfile",
    "Value": "aws-elasticbeanstalk-ec2-role"
  },
  {
    "Namespace": "aws:elasticbeanstalk:application:environmentsecrets",
    "OptionName": "MY_SECRET",
    "Value": "arn:aws:secretsmanager:us-east-1:111122223333:secret:mysecret-AbCd12"
  },
  {
    "Namespace": "aws:elasticbeanstalk:application:environmentsecrets",
    "OptionName": "MY_PARAMETER",
    "Value": "arn:aws:ssm:us-east-1:111122223333:parameter/myparam"
  }
]
```





L'esempio successivo configura le variabili di ambiente, denominate `MY_SECRET` and`MY_PARAMETER`, per memorizzare un segreto e un parametro per un ambiente esistente. Il comando [update-environment](https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/update-environment.html) passa le opzioni con la stessa sintassi del `create-environment` comando, in linea o con un file. `options.json` L'esempio seguente dimostra che il comando utilizza lo stesso `options.json` file utilizzato anche nell'esempio precedente.



**Example di update-environment con segreti configurati come variabili di ambiente (opzioni dello spazio dei nomi nel file) `options.json`**  

```
aws elasticbeanstalk update-environment \
--region us-east-1 \
--application-name my-app \
--environment-name my-env \
--platform-arn "arn:aws:elasticbeanstalk:::platform/Node.js 24 running on 64bit Amazon Linux 2023" \
--option-settings file://options.json
```

### Configurazione tramite l'SDK AWS
<a name="AWSHowTo.secrets.configure-env-vars.aws-sdk"></a>

È possibile configurare segreti e parametri come variabili di ambiente utilizzando. [AWS SDKs](https://docs.aws.amazon.com//code-library/) Analogamente ai `create-environment` AWS CLI comandi `update-environment` and menzionati nella sezione precedente, è possibile utilizzare le azioni [CreateEnvironment](https://docs.aws.amazon.com//elasticbeanstalk/latest/api/API_CreateEnvironment.html)e [UpdateEnvironment](https://docs.aws.amazon.com//elasticbeanstalk/latest/api/API_UpdateEnvironment.html)API. Utilizzate il parametro `OptionSettings` request per specificare le opzioni del [aws:elasticbeanstalk:application:environmentsecrets](command-options-general.md#command-options-general-elasticbeanstalk-application-environmentsecrets) namespace.

## Estrazione delle chiavi JSON dai segreti di Secrets Manager
<a name="AWSHowTo.secrets.json"></a>

Le versioni della piattaforma rilasciate a partire dal [13 gennaio 2026](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2026-01-13-al2023.html) supportano l'estrazione di campi specifici dai segreti di Secrets Manager in formato JSON aggiungendo due punti e il nome della chiave JSON all'ARN segreto. Ciò consente di fare riferimento a singole coppie chiave-valore all'interno di un segreto anziché all'intero segreto.

### Sintassi
<a name="AWSHowTo.secrets.json.syntax"></a>

Per estrarre una chiave JSON specifica da un segreto, aggiungi `:json-key-name` all'ARN segreto:

```
arn:aws:secretsmanager:region:account:secret:secret-name-XXXXXX:json-key-name
```

L'estrazione delle chiavi JSON può essere configurata utilizzando gli stessi metodi dei normali segreti di ambiente: console, file di configurazione in`.ebextensions`, AWS CLI o. AWS SDKs

### Limitazioni
<a name="AWSHowTo.secrets.json.limitations"></a>
+ L'estrazione delle chiavi JSON è supportata solo per i segreti di Secrets Manager, **non** per i parametri di Systems Manager Parameter Store.
+ Sono supportate solo le chiavi JSON di primo livello. **L'accesso con chiave annidata (ad esempio`config.database.host`) e l'indicizzazione degli array (ad esempio) non sono supportati. `servers[0]`** Se avete bisogno di accedere a valori annidati, estraete l'oggetto principale e analizzatelo nel codice dell'applicazione. Gli oggetti e gli array annidati a cui si accede utilizzando la chiave di primo livello vengono serializzati nuovamente in formato JSON.
+ I nomi delle chiavi JSON non possono contenere caratteri con i due punti (). `:` I due punti sono riservati come delimitatori nella sintassi ARN. Se il nome di una chiave JSON contiene due punti, solo la parte che precede i primi due punti viene utilizzata come nome della chiave e tutti i caratteri dopo i due punti vengono ignorati.
+ La piattaforma Docker gestita da ECS utilizza la sintassi ECS nativa per fare riferimento ai segreti. Per ulteriori informazioni, consulta [Passare i segreti di Secrets Manager tramite le variabili di ambiente Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/secrets-envvar-secrets-manager.html) nella *Amazon Elastic Container Service Developer Guide*.

### Esempio
<a name="AWSHowTo.secrets.json.example"></a>

L'esempio seguente mostra come vengono estratti diversi tipi di valore da un segreto JSON. Dato questo segreto:

```
{
  "stringKey": "value1",
  "numberKey": 42,
  "objectKey": {
    "nested": "data"
  },
  "arrayKey": ["item1", "item2"]
}
```

Puoi configurare l'estrazione in`.ebextensions`:

**Example esempio.ebextensions con estrazione di chiavi JSON**  

```
option_settings:
  aws:elasticbeanstalk:application:environmentsecrets:
    STRING_VAR: arn:aws:secretsmanager:us-east-1:111122223333:secret:mysecret-AbCd12:stringKey
    NUMBER_VAR: arn:aws:secretsmanager:us-east-1:111122223333:secret:mysecret-AbCd12:numberKey
    OBJECT_VAR: arn:aws:secretsmanager:us-east-1:111122223333:secret:mysecret-AbCd12:objectKey
    ARRAY_VAR: arn:aws:secretsmanager:us-east-1:111122223333:secret:mysecret-AbCd12:arrayKey
```

Ciò si traduce nelle seguenti variabili di ambiente:
+ `STRING_VAR=value1`
+ `NUMBER_VAR=42`
+ `OBJECT_VAR={"nested":"data"}`
+ `ARRAY_VAR=["item1","item2"]`

## Procedure consigliate per la sincronizzazione dei segreti con le variabili di ambiente Elastic Beanstalk
<a name="AWSHowTo.secrets.rotating-secrets"></a>

Questo argomento consiglia le migliori pratiche per l'applicazione per utilizzare i segreti dell'ambiente con Secrets Manager o Systems Manager Parameter Store. L'applicazione Elastic Beanstalk non riceverà automaticamente i valori aggiornati se i dati dell'archivio segreto vengono aggiornati o ruotati. Elastic Beanstalk inserisce i segreti nelle variabili di ambiente solo al momento del bootstrap dell'istanza. 

### Aggiornamento delle variabili di ambiente
<a name="AWSHowTo.secrets.rotating-secrets.refresh-env-vars"></a>

Per attivare l'ambiente Elastic Beanstalk in modo che recuperi i valori più recenti dei segreti dai relativi archivi segreti, ti consigliamo di eseguire l'operazione or. `UpdateEnvironment` `RestartAppServer` Puoi eseguire queste operazioni utilizzando la console Elastic Beanstalk AWS CLI, o l'API Elastic Beanstalk. [Per ulteriori informazioni, consulta [https://docs.aws.amazon.com//cli/latest/userguide/cli_elastic-beanstalk_code_examples.html](https://docs.aws.amazon.com//cli/latest/userguide/cli_elastic-beanstalk_code_examples.html) o l'API Reference.AWS Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/api/)

### Gestione degli effetti di ridimensionamento automatico sulla sincronizzazione segreta
<a name="AWSHowTo.secrets.rotating-secrets.as-effects"></a>

Se si verifica un evento di scalabilità out o la sostituzione dell'istanza dopo l'aggiornamento dell'archivio segreto, la nuova istanza che verrà visualizzata conterrà i valori segreti più recenti di Secrets Manager o Systems Manager Parameter Store. Un evento di questo tipo può verificarsi anche se non tutte le altre istanze dell'ambiente sono state aggiornate per recuperare i nuovi segreti. 

**Importante**  
È necessario assicurarsi che l'applicazione sia in grado di utilizzare due valori segreti diversi per la stessa variabile di ambiente. Ciò consente di gestire gli eventi in cui si verifica un aggiornamento segreto in Secrets Manager o Systems Manager Parameter Store, seguito da una scalabilità orizzontale o dalla sostituzione dell'istanza nell'ambiente, mentre le altre istanze sono in attesa di aggiornamento della variabile di ambiente. Durante il periodo di attesa per l'aggiornamento, non tutte le istanze di ambiente avranno gli stessi valori per le variabili di ambiente dell'archivio segreto.

Un esempio di tale caso d'uso è la rotazione delle credenziali del database. Quando un evento di scalabilità out segue la rotazione delle credenziali, i segreti di ambiente a cui fanno riferimento le nuove istanze avviate contengono le credenziali del database aggiornate. Tuttavia, i segreti di ambiente a cui fanno riferimento le istanze esistenti mantengono il vecchio valore fino a quando non vengono aggiornati dalle operazioni o. `UpdateEnvironment` `RestartAppServer`

## Valori multilinea nelle variabili di ambiente Amazon Linux 2
<a name="AWSHowTo.secrets.multiline"></a>

I valori su più *righe* sono composti da più di una riga e includono un carattere di nuova riga. Ad eccezione delle piattaforme Docker e Docker basate su ECS, le piattaforme eseguite su Amazon Linux 2 non supportano valori multilinea per le variabili di ambiente

**Nota**  
Elastic Beanstalk fallirà la distribuzione degli ambienti interessati se rileva un valore multilinea.



Le seguenti opzioni possono servire come soluzioni alternative o soluzioni al problema multilinea:
+ Aggiorna il tuo ambiente Amazon Linux 2 ad Amazon Linux 2023. Per ulteriori informazioni, consulta [Migrazione da Amazon Linux 2 ad Amazon Linux 2023](using-features.migration-al.generic.from-al2.md).
+ Rimuovi i caratteri di nuova riga dai tuoi valori segreti. Un esempio di approccio consiste nel codificare in Base64 i valori prima di archiviarli nell'archivio segreto. L'applicazione dovrebbe quindi decodificare nuovamente il valore nel formato originale quando vi fa riferimento dalla variabile segreta di ambiente.
+ Progetta il codice dell'applicazione per recuperare i dati direttamente da Secrets Manager o Systems Manager Parameter Store. *Per ulteriori informazioni, vedere *Recupero dei segreti in [Utilizzo di Secrets Manager](AWSHowTo.secrets.Secrets-Manager-and-Parameter-Store.md#AWSHowTo.secrets.Secrets-Manager) o Recupero* dei parametri.* [Utilizzo dell'archivio parametri di Systems Manager](AWSHowTo.secrets.Secrets-Manager-and-Parameter-Store.md#AWSHowTo.secrets.SSM-parmameter-store)