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à.
Specificazione di dati sensibili utilizzando i segreti di Secrets Manager in Amazon ECS
Amazon ECS ti consente di iniettare dati sensibili nei tuoi contenitori archiviando i dati sensibili in modo AWS Secrets Manager segreto e quindi facendone riferimento nella definizione del contenitore. Per ulteriori informazioni, consulta Trasferisci dati sensibili a un contenitore Amazon ECS.
Scopri come creare un segreto di Secrets Manager, fare riferimento al segreto in una definizione di attività Amazon ECS e quindi verificarne il funzionamento interrogando la variabile di ambiente all'interno di un contenitore che mostra il contenuto del segreto.
Prerequisiti
Questo tutorial presuppone che siano stati soddisfatti i prerequisiti seguenti:
-
Hai completato le fasi descritte in Configurazione per l'uso di Amazon ECS.
-
Il tuo utente dispone delle autorizzazioni IAM necessarie per creare le risorse Secrets Manager e Amazon ECS.
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 l'ARN del segreto a cui fare riferimento nella policy IAM di esecuzione dell'attività e nella definizione dell'attività nelle fasi successive.
Passaggio 2: aggiungere le autorizzazioni segrete al ruolo di esecuzione dell'attività
Affinché Amazon ECS possa recuperare i dati sensibili dal tuo segreto di Secrets Manager, devi 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 console Amazon ECS per creare una definizione di attività che fa riferimento a un segreto di Secrets Manager.
Per creare una definizione di attività che specifichi un segreto
Utilizza la console IAM per aggiornare il ruolo di esecuzione del processo con le autorizzazioni richieste.
Apri la console nella versione 2. https://console.aws.amazon.com/ecs/
-
Nel pannello di navigazione, scegli Task Definitions (Definizioni di processo).
-
Scegli Create new task definition (Crea nuova definizione di attività), Create new task definition with JSON (Crea nuova definizione di attività con JSON).
-
Nella casella dell'editor JSON, inserisci il seguente testo JSON di definizione dell'attività, assicurandoti di specificare l'ARN completo del segreto Secrets Manager creato nel passaggio 1 e il ruolo di esecuzione dell'attività che hai aggiornato nel passaggio 2. Scegli Save (Salva).
-
{ "executionRoleArn": "
arn:aws:iam::
", "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": "aws_account_id
:role/ecsTaskExecutionRolearn:aws:secretsmanager:
", "name": "username_value" } ], "memory": 300, "image": "public.ecr.aws/docker/library/httpd:2.4", "essential": true, "name": "ecs-secrets-container" } ], "family": "ecs-secrets-tutorial" }region
:aws_account_id
:secret:username_value -
Scegli Create (Crea).
Fase 4: Creare un cluster
Puoi utilizzare la console Amazon ECS 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 container t2.micro
utilizzando l'AMI Amazon Linux 2 ottimizzata per Amazon ECS.
Per informazioni su come creare un cluster per il tipo di EC2 avvio, consultaCreazione di un cluster Amazon ECS per il tipo di EC2 lancio Amazon.
Fase 5: Eseguire un'attività
Puoi utilizzare la console Amazon ECS per eseguire un processo utilizzando la definizione di attività creata. In questo tutorial eseguiremo un'attività utilizzando il tipo di EC2 avvio, utilizzando il cluster creato nel passaggio precedente.
Per informazioni sulla modalità di esecuzione del comando, consulta Esecuzione di un'applicazione come attività Amazon ECS.
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
-
Trova l'indirizzo DNS o IP pubblico per l'istanza di container.
Apri la console alla https://console.aws.amazon.com/ecs/v2
. -
Nel riquadro di navigazione, seleziona Cluster e quindi il cluster che hai creato.
-
Seleziona Infrastruttura e quindi l'istanza di container.
-
Registra l'IP pubblico o il DNS pubblico per l'istanza.
-
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'uso di un computer Windows, consulta Connect alla tua istanza Linux usando PuTTY 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.
-
Elencare i contenitori in esecuzione sull'istanza. Prendere nota dell'ID container per il container
ecs-secrets-tutorial
.docker ps
-
Eseguire il collegamento al container
ecs-secrets-tutorial
utilizzando l'ID container dell'output della fase precedente.docker exec -it
container_ID
/bin/bash -
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
(oprintenv
).
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
Apri la console nella https://console.aws.amazon.com/ecs/versione 2
. -
Nel pannello di navigazione scegliere Clusters (Cluster).
-
Nella pagina Clusters (Cluster), scegli il cluster.
-
Scegli Elimina Cluster.
-
Nella casella di conferma, inserisci delete
cluster name
, quindi scegli Elimina. Aprire la console IAM all'indirizzo https://console.aws.amazon.com/iam/
. -
Nel riquadro di navigazione, seleziona Ruoli.
-
Cercare l'elenco di ruoli per
ecsTaskExecutionRole
e selezionarlo. -
Scegli Autorizzazioni, quindi scegli la X accanto a ECSSecretsTutorial. Scegli Rimuovi.
-
Apri la console Secrets Manager all'indirizzo https://console.aws.amazon.com/secretsmanager/
. -
Selezionare il segreto username_value creato e scegliere Actions (Operazioni), Delete secret (Elimina segreto).