Specifica di dati sensibili tramite segreti Secrets Manager in Amazon ECTS ECS - 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à.

Specifica di dati sensibili tramite segreti Secrets Manager in Amazon ECTS ECS

Amazon ECS consente di inserire dati sensibili nei container archiviando tali dati nei AWS Secrets Manager segreti e quindi facendovi riferimento nella definizione del container. Per ulteriori informazioni, consulta Trasferisci dati sensibili a un ECS contenitore Amazon.

Scopri come creare un segreto di Secrets Manager, fare riferimento al segreto in una definizione di ECS attività di Amazon e quindi verificarne il funzionamento eseguendo una query sulla variabile di ambiente all'interno di un container che mostra i contenuti del segreto.

Prerequisiti

Questo tutorial presuppone che siano stati soddisfatti i prerequisiti seguenti:

  • Hai completato le fasi descritte in Configura per l'uso di Amazon ECS.

  • Il tuo utente dispone delle IAM autorizzazioni richieste per creare le ECS risorse Secrets Manager e Amazon.

Fase 1: Creazione di un segreto di Secrets Manager

Puoi utilizzare la console Secrets Manager per creare un segreto per i dati sensibili. In questo tutorial creeremmo un segreto di base per l'archiviazione di un nome utente e una password cui fare riferimento in seguito in un container. Per ulteriori informazioni, consulta Creare un AWS Secrets Manager segreto nella Guida per l'AWS Secrets Manager utente.

Le coppie chiave/valore da memorizzare in questo segreto rappresentano il valore della variabile di ambiente nel container alla fine del tutorial.

Salva il segreto ARN a cui fare riferimento nella IAM policy di esecuzione dell'attività e nella definizione dell'attività nelle fasi successive.

Fase 2: Aggiunta delle autorizzazioni segrete al ruolo di esecuzione dell'attività

Per consentire ECS ad Amazon di recuperare i dati sensibili dal segreto di Secrets Manager, è necessario disporre delle autorizzazioni segrete per il ruolo di esecuzione dell'attività. Per ulteriori informazioni, consulta Autorizzazioni Secrets Manager o Systems Manager.

Fase 3: creazione di una definizione di attività

Puoi utilizzare la ECS console Amazon per creare una definizione di attività che faccia riferimento a un segreto di Secrets Manager.

Per creare una definizione di attività che specifichi un segreto

Utilizzare la IAM console per aggiornare il ruolo di esecuzione del processo con le autorizzazioni richieste.

  1. Apri la console nella versione 2https://console.aws.amazon.com/ecs/.

  2. Nel pannello di navigazione, scegli Task Definitions (Definizioni di processo).

  3. Scegli Create new task definition (Crea nuova definizione di attività) e Create new Task Definition (Crea nuova definizione JSON

  4. Nella casella dell'JSONeditor, immettere il seguente JSON testo della definizione di attività, assicurandoti ARN di specificare l'intero segreto di Secrets Manager creato nella fase 1 e il ruolo di esecuzione del processo aggiornato nella fase 2. Seleziona Salva.

  5. { "executionRoleArn": "arn:aws:iam::aws_account_id:role/ecsTaskExecutionRole", "containerDefinitions": [ { "entryPoint": [ "sh", "-c" ], "portMappings": [ { "hostPort": 80, "protocol": "tcp", "containerPort": 80 } ], "command": [ "/bin/sh -c \"echo '<html> <head> <title>Amazon ECS Sample App</title> <style>body {margin-top: 40px; background-color: #333;} </style> </head><body> <div style=color:white;text-align:center> <h1>Amazon ECS Sample App</h1> <h2>Congratulations!</h2> <p>Your application is now running on a container in Amazon ECS.</p> </div></body></html>' > /usr/local/apache2/htdocs/index.html && httpd-foreground\"" ], "cpu": 10, "secrets": [ { "valueFrom": "arn:aws:secretsmanager:region:aws_account_id:secret:username_value", "name": "username_value" } ], "memory": 300, "image": "httpd:2.4", "essential": true, "name": "ecs-secrets-container" } ], "family": "ecs-secrets-tutorial" }
  6. Scegli Create (Crea) .

Fase 4: Creazione di un cluster

Puoi utilizzare la ECS console Amazon per creare un cluster che contiene un'istanza di container su cui eseguire il processo. Se disponi di un cluster esistente con almeno un'istanza di container registrata nello stesso con le risorse disponibili per eseguire un'istanza della definizione di attività creata per questo tutorial, puoi passare alla fase successiva.

Per questo tutorial creeremo un cluster con una istanza di t2.micro container utilizzando Amazon Linux 2 ECS ottimizzato per Amazon 2AMI.

Per informazioni sulla creazione di un cluster per il tipo di EC2 avvio, consultaCreazione di un ECS cluster Amazon per il tipo di EC2 lancio Amazon.

Fase 5: esecuzione di un'attività

Puoi utilizzare la ECS console Amazon per eseguire un'attività utilizzando la definizione di attività creata. Per questo tutorial verrà eseguito un processo utilizzando il tipo di EC2 avvio, mediante il cluster creato nella fase precedente.

Per informazioni sulla modalità di esecuzione del comando, consulta Esecuzione di un'applicazione come ECS attività Amazon.

Fase 6: verifica

Puoi verificare che tutte le fasi sono state completate correttamente e che la variabile di ambiente è stata creata nel container utilizzando le fasi seguenti.

Per verificare che la variabile di ambiente è stata creata
  1. Trova l'IP o l'DNSindirizzo pubblico per l'istanza del contenitore.

    1. Apri la console nella https://console.aws.amazon.com/ecs/versione 2.

    2. Nel riquadro di navigazione, seleziona Cluster e quindi il cluster che hai creato.

    3. Seleziona Infrastruttura e quindi l'istanza di container.

    4. Registra l'IP pubblico o pubblico DNS per la tua istanza.

  2. Se utilizzi un computer macOS o Linux, connettiti all'istanza con il comando seguente, sostituisci il percorso con la chiave privata e l'indirizzo pubblico dell'istanza:

    $ ssh -i /path/to/my-key-pair.pem ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com

    Per ulteriori informazioni sull'utilizzo di un computer Windows, consulta Connettiti alla tua istanza Linux usando Pu TTY nella Amazon EC2 User Guide.

    Importante

    Per ulteriori informazioni su eventuali problemi di connessione alla tua istanza, consulta Risoluzione dei problemi di connessione alla tua istanza nella Amazon EC2 User Guide.

  3. Elencare i contenitori in esecuzione sull'istanza. Prendere nota dell'ID container per il container ecs-secrets-tutorial.

    docker ps
  4. Eseguire il collegamento al container ecs-secrets-tutorial utilizzando l'ID container dell'output della fase precedente.

    docker exec -it container_ID /bin/bash
  5. Utilizzare il comando echo per stampare il valore della variabile di ambiente.

    echo $username_value

    Se il tutorial è stato completato, viene visualizzato l'output seguente:

    password_value
    Nota

    In alternativa, è possibile elencare tutte le variabili di ambiente nel container utilizzando il comando env (o printenv).

Fase 7: pulire

Una volta terminato questo tutorial, è necessario eliminare le risorse associate per evitare costi aggiuntivi per le risorse non utilizzate.

Come ripulire le risorse
  1. Apri la console nella https://console.aws.amazon.com/ecs/versione 2.

  2. Nel pannello di navigazione scegliere Clusters (Cluster).

  3. Nella pagina Clusters (Cluster), scegli il cluster.

  4. Scegli Elimina Cluster.

  5. Nella finestra di conferma, inserisci Elimina cluster name, quindi scegli Elimina.

  6. Apri la IAM console all'indirizzo https://console.aws.amazon.com/iam/.

  7. Nel riquadro di navigazione, seleziona Ruoli.

  8. Cercare l'elenco di ruoli per ecsTaskExecutionRole e selezionarlo.

  9. Scegli Autorizzazioni, quindi scegli la X accanto a ECSSecretsTutorial. Scegli Rimuovi.

  10. Apri la console di Secrets Store su https://console.aws.amazon.com/secretsmanager/.

  11. Selezionare il segreto username_value creato e scegliere Actions (Operazioni), Delete secret (Elimina segreto).