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
Elastic Beanstalk può recuperare valori da AWS Secrets Manager e AWS Systems Manager Parameter Store durante il bootstrap dell'istanza e assegnarli alle variabili di ambiente da utilizzare 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 gli Amazon Resource Names (ARN) 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, devi aggiornare manualmente le variabili di ambiente.
-
Le variabili di ambiente secrets sono disponibili per i comandi del contenitore ebextension e gli hook della piattaforma.
Versioni delle piattaforma supportate
Le versioni della piattaforma rilasciate il 26 marzo 2025 o successivamente supportano AWS Secrets Manager i segreti e i parametri di 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 delle variabili multilinea, consulta. Valori multilinea
Argomenti
Prezzi
Si applicano le tariffe standard per l'utilizzo di Secrets Manager e Systems Manager Parameter Store. Per ulteriori informazioni sui prezzi, consulta i seguenti siti Web:
-
AWS Systems Manager prezzi
(seleziona Parameter Store dall'elenco dei contenuti)
Elastic Beanstalk non addebita alcun costo all'applicazione per fare riferimento ai segreti dell'ambiente tramite variabili di ambiente. Tuttavia, le tariffe standard si applicano alle richieste che Elastic Beanstalk effettua a questi servizi per conto dell'utente.
Configura i segreti come variabili di ambiente Elastic Beanstalk
Puoi utilizzare la console Elastic Beanstalk, i file di configurazione in.ebextensions, la AWS CLI e l' AWS SDK per configurare segreti e parametri come variabili di ambiente.
Argomenti
Prerequisiti
Prima di poter configurare le variabili di ambiente in modo che facciano riferimento ai segreti, devi prima completare i seguenti passaggi.
Procedura generale prima della configurazione delle variabili di ambiente
-
Crea i segreti di Secrets Manager o i parametri Parameter Store per archiviare i tuoi dati sensibili. Per ulteriori informazioni, consultate uno o entrambi i seguenti argomenti:
-
Creare segreti in Utilizzo di Secrets Manager per creare e recuperare segreti
-
Creazione di parametri in Utilizzo di Systems Manager Parameter Store per creare e recuperare i parametri
-
-
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.
Utilizzo della console
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
Apri la console Elastic Beanstalk e
, nell'elenco delle regioni, seleziona la tua. Regione AWS -
Nel pannello di navigazione selezionare Environments (Ambienti), quindi selezionare il nome dell'ambiente dall'elenco.
Nel riquadro di navigazione, seleziona Configuration (Configurazione).
-
Nella categoria di configurazione Updates, monitoring, and logging (Aggiornamenti, monitoraggio e registrazione), scegli Edit (Modifica).
-
Scorri verso il basso fino alle variabili di ambiente Runtime.
-
Seleziona Aggiungi variabile di ambiente.
-
Per Source, seleziona Secrets Manager o SSM Parameter Store.
Nota
Per ulteriori informazioni sull'opzione Testo normale nel menu a discesa, vedere. Configurazione delle proprietà dell'ambiente (variabili di ambiente)
-
Per il nome della variabile di ambiente, immettete il nome della variabile di ambiente in cui contenere il valore segreto o del parametro.
-
Per il valore della variabile di ambiente, inserite l'ARN del parametro Systems Manager Parameter Store o il segreto di Secrets Manager. Durante l'avvio dell'istanza, Elastic Beanstalk avvierà il valore della variabile inserita nel passaggio 8 in base al valore memorizzato in questa risorsa ARN.
La console convalida 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 si dispone delle autorizzazioni IAM necessarie per accedervi.
-
Se è necessario aggiungere altre variabili, ripetere i passaggi dal passaggio 6 al passaggio 9.
-
Per salvare le modifiche scegli Apply (Applica) nella parte inferiore della pagina.
Configurazione tramite file in .ebextensions
È possibile utilizzare i file di configurazione di Elastic Beanstalk per configurare i segreti come variabili di ambiente. Usa il aws: elasticbeanstalk: applicazione: segreti dell'ambiente namespace per definire le proprietà dell'ambiente.
Nota
Secrets Manager aggiunge automaticamente 6 caratteri casuali ai nomi segreti in formato ARN per garantire l'unicità.
Esempio. ebextensions/options.config per i segreti ambientali (sintassi abbreviata)
option_settings:aws:elasticbeanstalk:application:environmentsecrets:MY_SECRET:arn:aws:secretsmanager:us-east-1:111122223333:secret:mysecret-AbCd12MY_PARAMETER:arn:aws:ssm:us-east-1:111122223333:parameter/myparam
Esempio. ebextensions/options.config per i segreti ambientali (sintassi standard)
option_settings: - namespace:aws:elasticbeanstalk:application:environmentsecretsoption_name:MY_SECRETvalue:arn:aws:secretsmanager:us-east-1:111122223333:secret:mysecret-AbCd12- namespace:aws:elasticbeanstalk:application:environmentsecretsoption_name:MY_PARAMETERvalue:arn:aws:ssm:us-east-1:111122223333:parameter/myparam
Configurazione utilizzando AWS CLI
È possibile utilizzare l'interfaccia a riga di AWS comando (AWS CLI) per configurare i segreti come variabili di ambiente Elastic Beanstalk. Questa sezione fornisce esempi dei comandi create-environment e https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/update-environment.html update-environment con il namespace. aws: elasticbeanstalk: applicazione: segreti dell'ambiente 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 ARN di Secrets Manager e Systems Manager Parameter Store.
I due esempi seguenti utilizzano il comando create-environment per aggiungere un segreto e un parametro, configurati come variabili di ambiente denominate e. MY_SECRET MY_PARAMETER
Esempio di create-environment con segreti configurati come variabili di ambiente (opzioni dello spazio dei nomi in linea)
aws elasticbeanstalk create-environment \ --regionus-east-1\ --application-namemy-app\ --environment-namemy-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.
Esempio di create-environment con segreti configurati come variabili di ambiente (opzioni di namespace in options.json file)
aws elasticbeanstalk create-environment \ --regionus-east-1\ --application-namemy-app\ --environment-namemy-env\ --platform-arn"arn:aws:elasticbeanstalk:::platform/Node.js 24 running on 64bit Amazon Linux 2023"\ --option-settingsfile://options.json
Esempio
### 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 eMY_PARAMETER, per memorizzare un segreto e un parametro per un ambiente esistente. Il comando update-environment 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.
Esempio di update-environment con segreti configurati come variabili di ambiente (opzioni dello spazio dei nomi in options.json file)
aws elasticbeanstalk update-environment \ --regionus-east-1\ --application-namemy-app\ --environment-namemy-env\ --platform-arn"arn:aws:elasticbeanstalk:::platform/Node.js 24 running on 64bit Amazon Linux 2023"\ --option-settingsfile://options.json
Configurazione utilizzando AWS SDK
Puoi configurare segreti e parametri come variabili di ambiente utilizzando gli AWS SDK. Analogamente ai create-environment AWS CLI comandi update-environment e menzionati nella sezione precedente, puoi utilizzare le azioni CreateEnvironment e UpdateEnvironment API. Utilizzate il parametro OptionSettings request per specificare le opzioni del aws: elasticbeanstalk: applicazione: segreti dell'ambiente namespace.
Estrazione delle chiavi JSON dai segreti di Secrets Manager
Le versioni della piattaforma rilasciate a partire dal 13 gennaio 2026 supportano l'estrazione di campi specifici dai JSON-formatted segreti di Secrets Manager aggiungendo i 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
Per estrarre una chiave JSON specifica da un segreto, aggiungila :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 ambientali: console, file di configurazione in.ebextensions, AWS CLI o SDK. AWS
Limitazioni
-
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 a chiavi annidate (ad esempio
config.database.host) e l'indicizzazione degli array (ad esempio) non sono supportati.servers[0]Se hai bisogno di accedere a valori annidati, estrai l'oggetto principale e analizzalo nel codice dell'applicazione. Gli oggetti e gli array annidati a cui si accede utilizzando la chiave di primo livello vengono serializzati in formato JSON. -
I nomi delle chiavi JSON non possono contenere i caratteri colon ().
:I due punti sono riservati come delimitatori nella sintassi ARN. Se il nome di una chiave JSON contiene i 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 Pass Secrets Manager secrets through Amazon ECS services nella Amazon Elastic Container Service Developer Guide.
Esempio
L'esempio seguente dimostra come diversi tipi di valore vengono estratti da un segreto JSON. Dato questo segreto:
{ "stringKey": "value1", "numberKey": 42, "objectKey": { "nested": "data" }, "arrayKey": ["item1", "item2"] }
Puoi configurare l'estrazione in.ebextensions:
Esempio esempio di .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ò comporta le seguenti variabili di ambiente:
-
STRING_VAR=value1 -
NUMBER_VAR=42 -
OBJECT_VAR={"nested":"data"} -
ARRAY_VAR=["item1","item2"]
Le migliori pratiche per la sincronizzazione dei segreti con le variabili di ambiente Elastic Beanstalk
Questo argomento consiglia le migliori pratiche per l'applicazione per utilizzare i segreti di ambiente con Secrets Manager o Systems Manager Parameter Store. L'applicazione Elastic Beanstalk non riceverà automaticamente 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
Per far sì che l'ambiente Elastic Beanstalk 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, l'API Elastic Beanstalk o Elastic Beanstalk. AWS CLI Per ulteriori informazioni, consulta gli AWS CLI esempi per Elastic Beanstalk o l'API Reference . AWS Elastic Beanstalk
Gestione degli effetti di ridimensionamento automatico sulla sincronizzazione segreta
Se si verifica un evento di scalabilità orizzontale o una sostituzione dell'istanza dopo gli aggiornamenti dell'archivio segreto, la nuova istanza che viene visualizzata conterrà i valori segreti più recenti di Secrets Manager o Systems Manager Parameter Store. Tale evento può verificarsi anche se non tutte le altre istanze nell'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ò si adatta agli eventi in cui si verifica un aggiornamento segreto in Secrets Manager o Systems Manager Parameter Store, seguito da una scalabilità orizzontale o da una 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 Secret Store.
Un esempio di questo caso d'uso è la rotazione delle credenziali del database. Quando un evento di scalabilità orizzontale segue la rotazione delle credenziali, i segreti di ambiente a cui fanno riferimento le istanze appena 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 or. UpdateEnvironment RestartAppServer
Valori multilinea nelle variabili di ambiente Amazon Linux 2
I valori multilinea sono composti da più di una riga e includono un carattere di nuova riga. Ad eccezione delle piattaforme Docker e ECS-based Docker, le piattaforme eseguite su Amazon Linux 2 non supportano valori multilinea per le variabili di ambiente
Nota
Elastic Beanstalk non riuscirà a implementare gli 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.
-
Rimuovi i caratteri di nuova riga dai tuoi valori segreti. Un esempio di approccio consiste nel codificare i valori in Base64 prima di archiviarli nell'archivio segreto. L'applicazione dovrebbe quindi decodificare il valore nel formato originale quando fa riferimento ad esso 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, vedete Recupero dei segreti in Utilizzo di Secrets Manager o Recupero dei parametri. Utilizzo dell'archivio parametri di Systems Manager