Angabe sensibler Daten mithilfe von Secrets Manager Manager-Geheimnissen in Amazon ECS - Amazon Elastic Container Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Angabe sensibler Daten mithilfe von Secrets Manager Manager-Geheimnissen in Amazon ECS

Amazon ECS ermöglicht es Ihnen, vertrauliche Daten in Ihre Container einzufügen, indem Sie Ihre sensiblen Daten in AWS Secrets Manager Geheimnissen speichern und dann in Ihrer Container-Definition auf sie verweisen. Weitere Informationen finden Sie unter Übergeben Sie sensible Daten an einen Amazon ECS-Container.

Erfahren Sie, wie Sie ein Secrets Manager-Geheimnis erstellen, in einer Amazon ECS-Aufgabendefinition auf das Geheimnis verweisen und dann überprüfen, ob es funktioniert hat, indem Sie die Umgebungsvariable in einem Container abfragen, der den Inhalt des Secrets anzeigt.

Voraussetzungen

In diesem Tutorial wird davon ausgegangen, dass die folgenden Voraussetzungen erfüllt wurden:

Schritt 1: Erstellen eines Secrets Manager-Secrets

Sie können die Secrets Manager-Konsole verwenden, um ein Secret für Ihre sensiblen Daten zu erstellen. In diesem Tutorial erstellen wir ein grundlegendes Secret zum Speichern eines Benutzernamens und eines Passworts zum späteren Verweisen in einem Container. Weitere Informationen finden Sie unter Erstellen eines Basic Secrets im AWS Secrets Manager -Benutzerhandbuch.

Die key/value pairs to be stored in this secret (Schlüssel/Wertpaare, die in diesem Geheimnis gespeichert werden sollen), stellen den Wert der Umgebungsvariablen in Ihrem Container am Ende des Tutorials dar.

Speichern Sie den Secret ARN (Geheimen ARN), um ihn in späteren Schritten in Ihrer IAM-Richtlinie für die Aufgabenausführung und der Aufgabendefinition zu verwenden.

Schritt 2: Fügen Sie der Rolle „Aufgabenausführung“ die geheimen Berechtigungen hinzu

Damit Amazon ECS die sensiblen Daten aus Ihrem Secrets Manager Manager-Geheimnis abrufen kann, benötigen Sie die geheimen Berechtigungen für die Aufgabenausführungsrolle. Weitere Informationen finden Sie unter Secrets Manager- oder Systems Manager Manager-Berechtigungen.

Schritt 3: Erstellen einer Aufgabendefinition

Sie können die Amazon-ECS-Konsole verwenden, um eine Aufgabendefinition zu erstellen, die auf ein Secrets Manager-Secret verweist.

So erstellen Sie eine Aufgabendefinition, die ein Secret angibt

Verwenden Sie die IAM-Konsole zum Aktualisieren Ihrer Aufgabenausführungsrolle mit den erforderlichen Berechtigungen.

  1. Öffnen Sie die Konsole unter https://console.aws.amazon.com/ecs/v2.

  2. Wählen Sie im Navigationsbereich Task definitions (Aufgabendefinitionen) aus.

  3. Wählen Sie Create new task definition (Neue Aufgabendefinition erstellen), Create new task definition with JSON (Neue Aufgabendefinition mit JSON) erstellen.

  4. Geben Sie im Feld JSON-Editor den folgenden JSON-Text für die Aufgabendefinition ein und achten Sie darauf, dass Sie den vollständigen ARN des Secrets Manager-Geheimnisses, das Sie in Schritt 1 erstellt haben, und die Aufgabenausführungsrolle, die Sie in Schritt 2 aktualisiert haben, angeben. Wählen Sie Speichern.

  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. Wählen Sie Erstellen.

Schritt 4: Erstellen Sie einen Cluster

Verwenden Sie die Amazon-ECS-Konsole zum Erstellen eines Clusters, der eine Container-Instance zum Ausführen der Aufgabe enthält. Wenn Sie bereits über einen Cluster mit mindestens einer registrierten Container-Instance und den Ressourcen zum Ausführen einer Instance der für dieses Tutorial erstellten Aufgabendefinition verfügen, können Sie direkt zum nächsten Schritt gehen.

Für dieses Tutorial erstellen wir einen Cluster mit einer t2.micro-Container-Instance unter Verwendung des Amazon-ECS-optimierten Amazon Linux 2-AMI.

Informationen zum Erstellen eines Clusters für den EC2-Starttyp finden Sie unter Erstellen eines Amazon ECS-Clusters für den Amazon EC2 EC2-Starttyp.

Schritt 5: Führen Sie eine Aufgabe aus

Sie können die Amazon-ECS-Konsole verwenden, um eine Aufgabe mithilfe der Aufgabendefinition auszuführen, die Sie erstellt haben. In diesem Tutorial führen wir eine Aufgabe mit dem EC2-Starttyp aus und verwenden dazu den Cluster, den wir im vorherigen Schritt erstellt haben.

Informationen zum Ausführen einer Aufgabe finden Sie unter Eine Anwendung als Amazon ECS-Aufgabe ausführen.

Schritt 6: Überprüfen

Anhand folgender Schritte können Sie überprüfen, ob alle Schritte erfolgreich abgeschlossen wurden und die Umgebungsvariable in Ihrem Container ordnungsgemäß erstellt wurde.

Überprüfen, ob die Umgebungsvariable erstellt wurde
  1. Suchen Sie nach der öffentlichen IP-Adresse oder DNS-Adresse für Ihre Container-Instance.

    1. Öffnen Sie die Konsole unter https://console.aws.amazon.com/ecs/v2.

    2. Wählen Sie im Navigationsbereich Cluster und dann den von Ihnen erstellten Cluster aus.

    3. Wählen Sie Infrastruktur und dann die Container-Instance aus.

    4. Zeichnen Sie die öffentliche IP oder das öffentliche DNS für Ihre Instance auf.

  2. Stellen Sie auf einem macOS- oder Linux-Computer mit dem folgenden Befehl eine Verbindung mit Ihrer Instance her und ersetzen Sie den Pfad zu Ihrem privaten Schlüssel und die öffentliche Adresse für Ihre Instance:

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

    Weitere Informationen zur Verwendung eines Windows-Computers finden Sie unter Herstellen einer Verbindung zu Ihrer Linux-Instance von Windows aus mithilfe von PuTTY im Amazon EC2 EC2-Benutzerhandbuch.

    Wichtig

    Weitere Informationen zu Problemen beim Herstellen einer Verbindung zu Ihrer Instance finden Sie unter Troubleshooting Connecting to Your Instance im Amazon EC2 EC2-Benutzerhandbuch.

  3. Erstellen Sie eine Liste der Container, die auf der Instance ausgeführt werden. Notieren Sie die Container-ID für ecs-secrets-tutorial-Container.

    docker ps
  4. Stellen Sie mithilfe der Container-ID aus der Ausgabe des vorherigen Schritts eine Verbindung mit dem ecs-secrets-tutorial-Container her.

    docker exec -it container_ID /bin/bash
  5. Verwenden Sie den echo-Befehl, um den Wert der Umgebungsvariable zu drucken.

    echo $username_value

    Wenn das Tutorial erfolgreich war, sollten Sie die folgende Meldung sehen:

    password_value
    Anmerkung

    Alternativ können Sie alle Umgebungsvariablen in Ihrem Container mithilfe des Befehls env (oder printenv) auflisten.

Schritt 7: Bereinigen

Wenn Sie mit diesem Tutorial fertig sind, sollten Sie die zugehörigen Ressourcen bereinigen, um zu vermeiden, dass Gebühren für ungenutzte Ressourcen anfallen.

So bereinigen Sie die Ressourcen
  1. Öffnen Sie die Konsole unter https://console.aws.amazon.com/ecs/v2.

  2. Klicken Sie im Navigationsbereich auf Cluster.

  3. Wählen Sie auf der Cluster-Seite den Cluster aus.

  4. Wählen Sie Delete Cluster (Cluster löschen) aus.

  5. Geben Sie im Bestätigungsfeld Cluster-Name löschen ein und wählen Sie dann Löschen.

  6. Öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/.

  7. Wählen Sie im Navigationsbereich Rollen aus.

  8. Durchsuchen Sie die Liste der Rollen für ecsTaskExecutionRole und wählen Sie diese aus.

  9. Wählen Sie Permissions und anschließend das X neben ECS SecretsTutorial aus. Wählen Sie Remove (Entfernen) aus.

  10. Öffnen Sie die Secrets-Manager-Konsole unterhttps://console.aws.amazon.com/secretsmanager/.

  11. Wählen Sie das von Ihnen erstellte username_value-Secret und Actions (Aktionen), Delete secret (Secret löschen).