Passa i parametri di Systems Manager tramite le variabili di ECS ambiente Amazon - Amazon Elastic Container Service

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

Passa i parametri di Systems Manager tramite le variabili di ECS ambiente Amazon

Amazon ti ECS consente di iniettare 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.

Considerate quanto segue quando utilizzate una variabile di ambiente per iniettare un segreto di Systems Manager in un contenitore.

  • I dati sensibili vengono inseriti nel container quando viene inizialmente avviato. Se il segreto o parametro viene in seguito aggiornato o ruotato, il container non riceverà automaticamente il valore aggiornato. È necessario avviare una nuova attività o se l'attività è parte di un servizio, è possibile aggiornare il servizio e utilizzare la nuova opzione Force new deployment (Forza nuova implementazione) per forzare il servizio ad avviare una nuova attività.

  • Per ECS le attività di Amazon su AWS Fargate, è necessario considerare quanto segue:

    • Per inserire il contenuto completo di un segreto come variabile di ambiente o in una configurazione di log, è necessario utilizzare la versione della piattaforma 11.3.0 o successiva. Per informazioni, consultare Versioni della piattaforma Fargate per Amazon ECS.

    • Per inserire una JSON chiave o una versione specifica di un segreto come variabile di ambiente o in una configurazione di registro, devi utilizzare la versione della piattaforma 1.4.0 o successiva (Linux) o 1.0.0 (Windows). Per informazioni, consultare Versioni della piattaforma Fargate per Amazon ECS.

  • Per ECS le attività di Amazon suEC2, è necessario considerare quanto segue:

    • Per inserire un segreto utilizzando una JSON chiave o una versione specifica di un segreto, l'istanza del contenitore deve avere una versione 1.37.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 Aggiornamento dell'agente ECS container Amazon.

      Per inserire il contenuto completo di un segreto come variabile di ambiente o per inserire un segreto in una configurazione di log, l'istanza del container deve avere la versione 1.22.0 o successiva dell'agente del container.

  • Usa gli VPC endpoint dell'interfaccia per migliorare i controlli di sicurezza. È necessario creare gli VPC endpoint di interfaccia per Systems Manager. Per informazioni sull'VPCendpoint, consulta Migliorare la sicurezza delle EC2 istanze utilizzando VPC endpoints for Systems Manager nella Guida per l'AWS Systems Manager utente.

  • La definizione dell'attività deve utilizzare un ruolo di esecuzione dell'attività con autorizzazioni aggiuntive per Secrets Manager. Per ulteriori informazioni, consulta IAMRuolo di esecuzione delle ECS attività di Amazon.

  • Per le attività di Windows configurate per utilizzare il driver di registrazione awslogs, è necessario impostare anche la variabile di ambiente ECS_ENABLE_AWSLOGS_EXECUTIONROLE_OVERRIDE nell'istanza di container. Utilizzare la seguente sintassi:

    <powershell> [Environment]::SetEnvironmentVariable("ECS_ENABLE_AWSLOGS_EXECUTIONROLE_OVERRIDE", $TRUE, "Machine") Initialize-ECSAgent -Cluster <cluster name> -EnableTaskIAMRole -LoggingDrivers '["json-file","awslogs"]' </powershell>

Creare il parametro Systems Manager

Puoi utilizzare la console Systems Manager per creare un parametro di Archivio dei parametri Systems Manager per i dati sensibili. Per ulteriori informazioni, consulta Creazione di un parametro Systems Manager (console) o Creare un parametro Systems Manager (AWS CLI) nella Guida per l'utente di AWS Systems Manager .

Aggiunta della variabile di ambiente alla definizione di container

All'interno della definizione del contenitore nella definizione dell'attività, specificare secrets il nome della variabile ARN di ambiente da impostare nel contenitore e l'intero parametro Systems Manager Parameter Store contenente i dati sensibili da presentare al contenitore. Per ulteriori informazioni, consulta secrets.

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

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

Per informazioni su come creare una definizione di attività con il segreto specificato in una variabile di ambiente, vedereCreazione di una definizione di ECS attività Amazon utilizzando la console.

Aggiornamento automatico dell'applicazione per recuperare in modo programmatico i segreti di Archivio dei parametri Systems Manager

Per recuperare i dati sensibili memorizzati nel parametro Systems Manager Parameter Store, vedere Esempi di codice per l'utilizzo di Systems Manager AWS SDKs nella AWS SDKCode Examples Code Library.