Specifica dei dati sensibili tramite l'archivio parametri di Systems Manager - AWS Batch

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 dei dati sensibili tramite l'archivio parametri di Systems Manager

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.

Considerazioni per la specifica di dati sensibili tramite l'archivio parametri di Systems Manager

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 nella Amazon Elastic Container Service Developer Guide.

  • I dati sensibili vengono iniettati nel contenitore per il tuo lavoro quando il contenitore viene inizialmente avviato. 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

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.

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 ulteriori informazioni, consulta Aggiungere e rimuovere le politiche IAM nella Guida per l'utente 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:

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

Inserimento di dati sensibili come una variabile di ambiente

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" }] }] }

Inserimento di dati sensibili in una configurazione di log

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" }] }] }] }

Creazione di un parametro Parameter Store AWS Systems Manager

È 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) 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/.

  2. Nel pannello di navigazione, scegli Archivio parametri, Crea parametro.

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

  4. In Description (Descrizione), digita una descrizione opzionale.

  5. Per Tipo, scegliete String o SecureString. StringList

    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 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
  6. In Value (Valore), digita un valore. Ad esempio, MyFirstParameter. Se hai scelto SecureString, il valore viene mascherato esattamente come lo hai inserito.

  7. Scegli Create parameter (Crea parametro).