Übergeben Sie Systems Manager Manager-Parameter über Amazon ECS-Umgebungsvariablen - 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.

Übergeben Sie Systems Manager Manager-Parameter über Amazon ECS-Umgebungsvariablen

Amazon ECS ermöglicht es Ihnen, vertrauliche Daten in Ihre Container einzufügen, indem Sie Ihre sensiblen Daten in AWS Systems Manager Parameter Store-Parametern speichern und sie dann in Ihrer Container-Definition referenzieren.

Beachten Sie Folgendes, wenn Sie eine Umgebungsvariable verwenden, um ein Systems Manager Manager-Geheimnis in einen Container einzufügen.

  • Sensible Daten werden beim ersten Start des Containers an diesen übergeben. Wenn das Secret anschließend aktualisiert oder rotiert wird, erhält der Container nicht automatisch den aktualisierten Wert. Sie müssen eine neue Aufgabe starten. Alternativ können Sie, wenn Ihre Aufgabe Teil eines Services ist, den Service aktualisieren und die Option Force new deployment (Neue Bereitstellung erzwingen) auswählen, um den Service zu zwingen, eine neue Aufgabe zu starten.

  • Bei Amazon ECS-Aufgaben sollte Folgendes beachtet werden: AWS Fargate

    • Um den vollständigen Inhalt eines Secrets als Umgebungsvariable oder in eine Protokollkonfiguration einzufügen, müssen Sie die Plattformversion 1.3.0 oder höher verwenden. Weitere Informationen finden Sie unter Fargate-Plattformversionen für Amazon ECS.

    • Um einen bestimmten JSON-Schlüssel oder eine Version eines Geheimnisses als Umgebungsvariable oder in eine Protokollkonfiguration einzufügen, müssen Sie die Plattformversion 1.4.0 oder höher (Linux) oder 1.0.0 (Windows) verwenden. Weitere Informationen finden Sie unter Fargate-Plattformversionen für Amazon ECS.

  • Bei Amazon ECS-Aufgaben sollte Folgendes beachtet werden: EC2

    • Um einen geheimen Schlüssel mithilfe eines bestimmten JSON-Schlüssels oder einer Secret-Version einzufügen, muss Ihre Container-Instance Version 1.37.0 oder höher des Container-Agenten haben. Wir empfehlen jedoch, die neueste Container-Agent-Version zu verwenden. Informationen zum Überprüfen Ihrer Agenten-Version und zum Aktualisieren auf die neueste Version finden Sie unter Überprüfen des Amazon-ECS-Container-Agenten.

      Um den vollständigen Inhalt eines Secrets als Umgebungsvariable einzufügen oder ein Secret in eine Protokollkonfiguration einzufügen, muss Ihre Container-Instance Version 1.22.0 oder höher des Container-Agenten haben.

  • Verwenden Sie Schnittstellen-VPC-Endpunkte, um die Sicherheitskontrollen zu verbessern. Sie müssen die VPC-Schnittstellen-Endpunkte für Systems Manager erstellen. Informationen zum VPC-Endpunkt finden Sie im Benutzerhandbuch unter Verbessern der Sicherheit von EC2 Instances mithilfe von VPC-Endpunkten für Systems Manager.AWS Systems Manager

  • Ihre Aufgabendefinition muss eine Aufgabenausführungsrolle mit den zusätzlichen Berechtigungen für Systems Manager Parameter Store verwenden. Weitere Informationen finden Sie unter IAM-Rolle für die Amazon-ECS-Aufgabenausführung.

  • Für Windows-Aufgaben, die für die Verwendung des awslogs-Protokolltreibers konfiguriert sind, müssen Sie auch die ECS_ENABLE_AWSLOGS_EXECUTIONROLE_OVERRIDE-Umgebungsvariable für die Container-Instance festlegen. Verwenden Sie die folgende Syntax:

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

Erstellen Sie den Systems Manager Manager-Parameter

Sie können die Systems-Manager-Konsole verwenden, um einen Parameter des Systems Manager Parameter Stores für Ihre sensiblen Daten zu erstellen. Weitere Informationen finden Sie im AWS Systems Manager -Benutzerhandbuch unter Erstellen eines Systems-Manager-Parameters (Konsole) oder Erstellen eines Systems-Manager-Parameters (AWS CLI).

Fügen Sie die Umgebungsvariable zur Container-Definition hinzu

Geben Sie in Ihrer Containerdefinition in der Aufgabendefinition den Namen der Umgebungsvariablen ansecrets, die im Container festgelegt werden soll, und den vollständigen ARN des Systems Manager Parameter Store-Parameters, der die vertraulichen Daten enthält, die dem Container präsentiert werden sollen. Weitere Informationen finden Sie unter secrets.

Im Folgenden finden Sie einen Ausschnitt einer Aufgabendefinition mit dem Format beim Verweisen auf einen Systems Manager Parameter Store-Parameter. Wenn sich der Systems Manager Parameter Store-Parameter in der gleichen Region wie die Aufgabe befindet, die Sie starten, können Sie entweder den vollständigen ARN oder den Namen des Parameters verwenden. Wenn der Parameter in einer anderen Region existiert, geben Sie den vollen ARN an.

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

Hinweise zum Erstellen einer Aufgabendefinition mit dem in einer Umgebungsvariablen angegebenen geheimen Schlüssel finden Sie unterErstellen einer Amazon ECS-Aufgabendefinition mithilfe der Konsole.

Aktualisieren Sie Ihre Anwendung, um die Geheimnisse des Systems-Manager-Parameter-Speichers programmgesteuert abzurufen

Informationen zum Abrufen der sensiblen Daten, die im Parameter Store-Parameter von Systems Manager gespeichert sind, finden Sie unter Codebeispiele für die Verwendung durch Systems Manager AWS SDKs in der AWS SDK-Codebeispiel-Codebibliothek.