Dies ist der AWS CDK v2-Entwicklerhandbuch. Das ältere CDK v1 wurde am 1. Juni 2022 in die Wartung aufgenommen und der Support wurde am 1. Juni 2023 eingestellt.
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.
Der AWS Cloud Development Kit (AWS CDK) kann den Wert von AWS Systems Manager Parameter Store-Attributen abrufen. Während der Synthese AWS CDK erzeugt der ein Token, das AWS CloudFormation während der Bereitstellung aufgelöst wird.
Das AWS CDK unterstützt das Abrufen sowohl einfacher als auch sicherer Werte. Sie können eine bestimmte Version einer der beiden Arten von Werten anfordern. Bei einfachen Werten können Sie die Version in Ihrer Anfrage zum Abrufen der neuesten Version weglassen. Bei sicheren Werten müssen Sie die Version angeben, wenn Sie den Wert des sicheren Attributs anfordern.
Anmerkung
In diesem Thema wird gezeigt, wie Attribute aus dem AWS Systems Manager Parameterspeicher gelesen werden. Sie können auch Geheimnisse aus dem lesen AWS Secrets Manager (sieheHolen Sie sich einen Wert von AWS Secrets Manager).
Themen
Lesen Sie die Systems Manager Manager-Werte bei der Bereitstellung
Verwenden Sie den Parameter und die valueForSecureStringParameterMethoden, um Werte aus dem Systems Manager valueForStringManager-Parameterspeicher zu lesen. Wählen Sie eine Methode basierend darauf, ob es sich bei dem gewünschten Attribut um eine einfache Zeichenfolge oder um einen sicheren Zeichenkettenwert handelt. Diese Methoden geben Tokens zurück, nicht den tatsächlichen Wert. Der Wert wird AWS CloudFormation während der Bereitstellung aufgelöst. Im Folgenden wird ein Beispiel gezeigt:
import * as ssm from 'aws-cdk-lib/aws-ssm';
// Get latest version or specified version of plain string attribute
const latestStringToken = ssm.StringParameter.valueForStringParameter(
this, 'my-plain-parameter-name'); // latest version
const versionOfStringToken = ssm.StringParameter.valueForStringParameter(
this, 'my-plain-parameter-name', 1); // version 1
// Get specified version of secure string attribute
const secureStringToken = ssm.StringParameter.valueForSecureStringParameter(
this, 'my-secure-parameter-name', 1); // must specify version
Eine begrenzte Anzahl von AWS Diensten unterstützt diese Funktion derzeit.
Lesen Sie die Systems Manager Manager-Werte zur Synthesezeit
Manchmal ist es nützlich, bei der Synthese einen Parameter anzugeben. Auf diese Weise verwendet die AWS CloudFormation Vorlage immer denselben Wert, anstatt den Wert während der Bereitstellung aufzulösen.
Verwenden Sie die valueFromLookupMethode (Python:value_from_lookup
), um während der Synthese einen Wert aus dem Systems Manager Manager-Parameterspeicher zu lesen. Diese Methode gibt den tatsächlichen Wert des Parameters als Kontextwerte und AWS CDK Wert zurück. Wenn der Wert nicht bereits zwischengespeichert cdk.json
oder in der Befehlszeile übergeben wurde, wird er aus dem aktuellen AWS Konto abgerufen. Aus diesem Grund muss der Stack mit expliziten AWS Umgebungsinformationen synthetisiert werden.
Im Folgenden wird ein Beispiel gezeigt:
import * as ssm from 'aws-cdk-lib/aws-ssm';
const stringValue = ssm.StringParameter.valueFromLookup(this, 'my-plain-parameter-name');
Es können nur einfache Systems Manager Manager-Zeichenketten abgerufen werden. Sichere Zeichenketten können nicht abgerufen werden. Es wird immer die neueste Version zurückgegeben. Bestimmte Versionen können nicht angefordert werden.
Wichtig
Der abgerufene Wert wird in Ihrer synthetisierten AWS CloudFormation Vorlage landen. Dies kann ein Sicherheitsrisiko darstellen, je nachdem, wer Zugriff auf Ihre AWS CloudFormation Vorlagen hat und um welchen Wert es sich handelt. Verwenden Sie diese Funktion generell nicht für Passwörter, Schlüssel oder andere Werte, die Sie geheim halten möchten.
Werte in Systems Manager schreiben
Sie können die AWS CLI, das oder ein AWS SDK verwenden AWS Management Console, um Systems Manager Manager-Parameterwerte festzulegen. In den folgenden Beispielen wird der CLI-Befehl ssm put-parameter verwendet.
aws ssm put-parameter --name "parameter-name" --type "String" --value "parameter-value" aws ssm put-parameter --name "secure-parameter-name" --type "SecureString" --value "secure-parameter-value"
Wenn Sie einen bereits vorhandenen SSM-Wert aktualisieren, fügen Sie auch die Option hinzu. --overwrite
aws ssm put-parameter --overwrite --name "parameter-name" --type "String" --value "parameter-value" aws ssm put-parameter --overwrite --name "secure-parameter-name" --type "SecureString" --value "secure-parameter-value"