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

Mit können Sie sensible Daten in Ihre Container einfügen AWS Batch, indem Sie Ihre sensiblen Daten in AWS Systems Manager Parameter Store-Parametern speichern und dann in Ihrer Containerdefinition auf sie verweisen.

Ü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.

  • Diese Funktion erfordert, dass Ihre Container-Instance Version 1.23.0 oder höher des Container-Agenten hat. Wir empfehlen jedoch, die neueste Container-Agent-Version zu verwenden. Informationen zum Überprüfen Ihrer Agentenversion und zum Aktualisieren auf die neueste Version finden Sie unter Aktualisieren des Amazon-ECS-Container-Agenten im Entwicklerhandbuch für Amazon Elastic Container Service.

  • Sensible Daten werden in den Container für Ihren Auftrag eingefügt, 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 Auftrag starten, um den Start eines neuen Auftrags mit aktualisierten Secrets zu erzwingen.

Erforderliche IAM-Berechtigungen für AWS Batch Secrets

Um dieses Feature verwenden zu können, müssen Sie über die Ausführungsrolle verfügen und in Ihrer Auftragsdefinition darauf verweisen. Auf diese Weise kann der Amazon-ECS-Container-Agent die erforderlichen AWS Systems Manager Ressourcen abrufen. Weitere Informationen finden Sie unter AWS Batch Ausführung, IAM-Rolle.

Um Zugriff auf die von Ihnen erstellten AWS Systems Manager Parameter Store-Parameter zu gewähren, fügen Sie der Ausführungsrolle manuell die folgenden Berechtigungen als Inline-Richtlinie hinzu. Weitere Informationen finden Sie unter Hinzufügen und Entfernen von IAM-Richtlinien im IAM-Benutzerhandbuch.

  • 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 Geheimnis 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, die das Format zeigt, wenn auf einen Systems Manager Parameter Store-Parameter verwiesen wird. Wenn sich der Systems Manager Parameter Store-Parameter in derselben 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 derselben 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, die das Format zeigt, wenn auf einen Systems Manager Parameter Store-Parameter verwiesen wird.

{ "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 unter Walkthrough: Erstellen und Verwenden eines Parameter in einem Befehl (Konsole) im AWS Systems Manager -Benutzerhandbuch.

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. Wählen Sie für Typ die Option Zeichenfolge , StringListoder ausSecureString.

    Anmerkung
    • Wenn Sie auswählenSecureString, wird das Feld KMS-Schlüssel-ID 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. Beispiel: MyFirstParameter Wenn Sie ausgewählt habenSecureString, wird der Wert genau so maskiert, wie Sie ihn eingegeben haben.

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