Angeben sensibler Daten mithilfe des Systems Manager-Parameter Stores - AWS Batch

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.

Angeben sensibler Daten mithilfe des Systems Manager-Parameter Stores

mitAWS Batchkönnen Sie sensible Daten in Ihre Container einbringen, indem Sie Ihre sensiblen Daten inAWS Systems ManagerParameter Speichern Sie Parameter und referenzieren Sie sie dann in Ihrer Containerdefinition.

Überlegungen zum Angeben sensibler Daten mithilfe des Systems Manager-Parameter Stores

Bei der Angabe sensibler Daten für Container mit Systems Manager-Parameter Store-Parametern sollte Folgendes berücksichtigt werden.

  • Für diese Funktion muss Ihre Container-Instance über Version 1.22.0 oder höher des Container-Agenten verfügen. 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-Agentenin derAmazon Elastic Container Service-Entwicklerhandbuch.

  • Sensible Daten werden für Ihren Job in den Container eingespeist, wenn der Container zum ersten Mal gestartet wird. Wenn der geheime oder der Parameter Store-Parameter aktualisiert oder rotiert wird, erhält der Container nicht automatisch den aktualisierten Wert. Sie müssen einen neuen Job starten, um den Start eines neuen Jobs mit aktualisierten Geheimnissen zu erzwingen.

Erforderliche IAM-Berechtigungen fürAWS BatchGeheimnisse

Zum Verwenden dieser Funktion benötigen Sie die Ausführungsrolle und müssen in Ihrer Auftragsdefinition auf sie verweisen. Dies ermöglicht dem Amazon-ECS-Container-Agent das Abrufen der erforderlichenAWS Systems ManagerRessourcen. Weitere Informationen finden Sie unter AWS BatchIAM-Aufgabenausführungsrolle.

So erteilen Sie Zugriff aufAWS Systems ManagerParameter Store-Parameter, die Sie erstellen, müssen die folgenden Berechtigungen manuell als eingebundene Richtlinie zur Ausführungsrolle hinzufügen. Weitere Informationen finden Sie unterHinzufügen und Entfernen von IAM-Richtlinienin derIAM User Guide.

  • ssm:GetParameters: Erforderlich, wenn in einer Aufgabendefinition auf einen Parameter Store-Parameter von Systems Manager verwiesen wird.

  • secretsmanager:GetSecretValue: Erforderlich, wenn Sie direkt auf ein Secrets Manager-Secret verweisen oder wenn der Parameter Systems Manager Parameterspeicher in einer Aufgabendefinition auf ein Secrets Manager-Secret verweist.

  • kms:Decrypt: Nur erforderlich, wenn Ihr Secret einen benutzerdefinierten KMS-Schlüssel verwendet und nicht den Standardschlüssel. Der ARN für Ihren benutzerdefinierten Schlüssel sollte als Ressource hinzugefügt werden.

Das folgende Beispiel einer Inline-Richtlinie fügt die erforderlichen Berechtigungen hinzu:

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

Injizieren sensibler Daten als Umgebungsvariable

Geben Sie in Ihrer Containerdefinition secrets mit dem Namen der im Container zu setzenden Umgebungsvariablen und dem Namen oder dem ARN des Systems Manager-Parameter Store-Parameters an, der die sensiblen Daten enthält, die dem Container präsentiert werden sollen.

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, muss der volle ARN angegeben werden.

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

Injizieren sensibler Daten in einer Protokollkonfiguration

Beim Angeben von logConfiguration können Sie secretOptions in Ihrer Containerdefinition mit dem Namen der im Container festzulegenden Protokolltreiberoption und dem vollständigen ARN des Systems Manager-Parameter Store-Parameters angeben, in denen die sensiblen Daten enthalten sind, die dem Container präsentiert werden sollen.

Wichtig

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, muss der volle ARN angegeben werden.

Im Folgenden finden Sie einen Ausschnitt einer Aufgabendefinition mit dem Format beim Verweisen auf einen Systems Manager Parameter Store-Parameter.

{ "containerProperties": [{ "logConfiguration": [{ "logDriver": "fluentd", "options": { "tag": "fluentd demo" }, "secretOptions": [{ "name": "fluentd-address", "valueFrom": "arn:aws:ssm:region:aws_account_id:parameter/parameter_name" }] }] }] }

Erstellen eines AWS Systems Manager Parameter Store-Parameters

Sie können die AWS Systems Manager-Konsole verwenden, um einen Systems Manager Parameter Store-Parameter für Ihre sensiblen Daten zu erstellen. Weitere Informationen finden Sie unterWalkthrough-Übersicht: Erstellen und Verwenden eines Parameters in einem Befehl (Konsole)in derAWS Systems ManagerBenutzerhandbuch.

So erstellen Sie einen Parameter Store-Parameter
  1. Öffnen Sie die AWS Systems Manager-Konsole unter https://console.aws.amazon.com/systems-manager/.

  2. Wählen Sie im Navigationsbereich Parameter Store (Parameterspeicher) Create parameter (Parameter erstellen).

  3. Geben Sie unter Name eine Hierarchie und einen Parameternamen ein. Geben Sie beispielsweise test/database_password ein.

  4. Geben Sie unter Description (Beschreibung) eine optionale Beschreibung ein.

  5. FürTyp, wählenString,StringList, oderSecureString.

    Anmerkung
    • Wenn du wählstSecureString, dasKMS-Schlüssel-IDwird ein Feld angezeigt. Wenn Sie keine KMS Schlüssel-ID, keinen KMS Schlüssel-ARN, keinen Aliasnamen oder Alias-ARN angeben, verwendet das System alias/aws/ssm. Das ist der Standard-KMS-Schlüssel für Systems Manager. Wenn Sie diesen Schlüssel nicht verwenden möchten, können Sie einen benutzerdefinierten Schlüssel auswählen. Weitere Informationen finden Sie unter Verwenden von sicheren String-Parametern im AWS Systems Manager-Benutzerhandbuch.

    • Wenn Sie einen sicheren Stringparameter in der Konsole mit dem Parameter key-id entweder mit einem benutzerdefinierten KMS-Schlüssel-Aliasnamen oder einem Alias-ARN erstellen, müssen Sie das Präfix alias/ vor dem Alias angeben. Nachfolgend ein ARN-Beispiel:

      arn:aws:kms:us-east-2:123456789012:alias/MyAliasName

      Im Folgenden finden Sie ein Beispiel für einen Aliasnamen:

      alias/MyAliasName
  6. Geben Sie für Value (Wert) einen Wert ein. Zum Beispiel MyFirstParameter. Wenn du wählstSecureStringwird der Wert genau so maskiert, wie Sie ihn eingegeben haben.

  7. Wählen Sie Create parameter (Parameter erstellen) aus.