Abrufen eines sicheren String-Wertes aus dem Systems Manager Parameter Store - AWS CloudFormation

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.

Abrufen eines sicheren String-Wertes aus dem Systems Manager Parameter Store

In CloudFormation können Sie sensible Daten wie Passwörter oder Lizenzschlüssel verwenden, ohne sie direkt in Ihren Vorlagen offenzulegen, indem Sie die sensiblen Daten als "sichere Zeichenfolge" im AWS Systems Manager Parameter Store speichern. Eine Einführung in den Parameterspeicher finden Sie unter AWS Systems Manager Parameterspeicher im AWS Systems Manager Benutzerhandbuch.

Um einen sicheren String des Parameterspeichers in Ihrer Vorlage zu verwenden, verwenden Sie eine dynamische Referenz ssm-secure . CloudFormation speichert niemals den tatsächlichen sicheren String-Wert. Stattdessen speichert es nur die wörtliche dynamische Referenz, die den Klartext-Parameternamen der sicheren Zeichenfolge enthält.

Bei der Erstellung oder Aktualisierung von Stacks greift CloudFormation bei Bedarf auf den Wert der sicheren Zeichenfolge zu, ohne den tatsächlichen Wert offenzulegen. Sichere Zeichenfolgen können nur für Ressourceneigenschaften verwendet werden, die das dynamische Referenzmuster ssm-secure unterstützen. Weitere Informationen finden Sie unter Ressourcen, die dynamische Parametermuster für sichere Zeichenfolgen unterstützen.

CloudFormation gibt den tatsächlichen Parameterwert für sichere Zeichenketten in API-Aufrufen nicht zurück. Sie gibt nur die wörtliche dynamische Referenz zurück. Beim Vergleich von Änderungen mithilfe von Change Sets vergleicht CloudFormation nur die wörtliche dynamische Referenzzeichenfolge. Es löst die tatsächlichen sicheren String-Werte nicht auf und vergleicht sie nicht.

Bei der Verwendung von dynamischen ssm-secure-Referenzen gibt es einige wichtige Dinge zu beachten:

  • CloudFormation kann nicht auf Parameter Store-Werte von anderen AWS-Kontenzugreifen.

  • CloudFormation unterstützt nicht die Verwendung von Systems Manager Parameter-Labels oder öffentlichen Parametern in dynamischen Referenzen.

  • In den Regionen cn-north-1 und cn-northwest-1 werden sichere Zeichenfolgen von Systems Manager nicht unterstützt.

  • Dynamische Referenzen für sichere Werte, z. B. ssm-secure, unterstützen derzeit keine benutzerdefinierten Ressourcen.

  • Wenn CloudFormation ein Stack-Update zurücksetzen muss und die zuvor angegebene Version eines sicheren String-Parameters nicht mehr verfügbar ist, schlägt der Rollback-Vorgang fehl. In solchen Fällen haben Sie zwei Möglichkeiten:

    • Verwenden Sie CONTINUE_UPDATE_ROLLBACK, um die Ressource zu überspringen.

    • Erstellen Sie den sicheren String-Parameter im Systems Manager Parameter Store neu und aktualisieren Sie ihn, bis die Parameterversion die in der Vorlage verwendete Version erreicht. Dann verwenden Sie CONTINUE_UPDATE_ROLLBACK, ohne die Ressource zu überspringen.

Ressourcen, die dynamische Parametermuster für sichere Zeichenfolgen unterstützen

Zu den Ressourcen, die das dynamische Referenzmuster ssm-secure unterstützen, gehören:

Referenzmuster

Um einen sicheren String-Wert aus dem Systems Manager Parameter Store in Ihrer CloudFormation-Vorlage zu referenzieren, verwenden Sie das folgende Referenzmuster ssm-secure .

{{resolve:ssm-secure:parameter-name:version}}

Ihre Referenz muss sich an das folgende reguläre Ausdrucksmuster für Parametername und Version halten:

{{resolve:ssm-secure:[a-zA-Z0-9_.\-/]+(:\d+)?}}
parameter-name

Der Name des Parameters im Parameter Store. Der Parametername unterscheidet Groß- und Kleinschreibung.

Erforderlich

version

Eine ganze Zahl, die die Version des zu verwendenden Parameters angibt. Wenn Sie nicht die genaue Version angeben, verwendet CloudFormation bei jedem Erstellen oder Aktualisieren des Stacks die neueste Version des Parameters. Weitere Informationen finden Sie unter Arbeiten mit Parameterversionen im AWS Systems Manager Benutzerhandbuch.

Optional.

Beispiel

Das folgende Beispiel verwendet eine dynamische Referenz ssm-secure, um das Passwort für einen IAM-Benutzer auf eine sichere Zeichenkette zu setzen, die im Parameterspeicher gespeichert ist. Wie angegeben, verwendet CloudFormation die Version 10 des IAMUserPassword Parameters für Stack- und Change-Set-Operationen.

JSON

"MyIAMUser": { "Type": "AWS::IAM::User", "Properties": { "UserName": "MyUserName", "LoginProfile": { "Password": "{{resolve:ssm-secure:IAMUserPassword:10}}" } } }

YAML

MyIAMUser: Type: AWS::IAM::User Properties: UserName: 'MyUserName' LoginProfile: Password: '{{resolve:ssm-secure:IAMUserPassword:10}}'