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.
AWS KMS Verschlüsselung für AWS Systems ManagerParameter Store SecureString Parameter
Mit können Sie SecureString Parameter erstellen AWS Systems Manager Parameter Store, bei denen es sich um Parameter handelt, die einen Klartext-Parameternamen und einen verschlüsselten Parameterwert haben. Parameter Storeverwendet AWS KMS , um die Parameterwerte von Parametern zu verschlüsseln und zu entschlüsseln. SecureString
Mit Parameter Store können Sie Daten als Parameter mit Werten erstellen, speichern und verwalten. Sie können einen Parameter in Parameter Store erstellen und in mehreren Anwendungen und Services verwenden, die den von Ihnen entworfenen Richtlinien und Berechtigungen unterliegen. Wenn Sie einen Parameterwert ändern müssen, ändern Sie eine Instance und führen keine fehleranfälligen Änderungen an verschiedenen Quellen durch. Parameter Store unterstützt eine hierarchische Struktur für Parameternamen, sodass Sie einen Parameter für spezifische Zwecke qualifizieren können.
Um vertrauliche Daten zu verwalten, können Sie Parameter erstellenSecureString. Parameter Storeverwendet AWS KMS keys , um die Parameterwerte von SecureString Parametern zu verschlüsseln, wenn Sie sie erstellen oder ändern. Zudem werden KMS-Schlüssel zum Entschlüsseln der Parameterwerte eingesetzt, wenn Sie auf diese zugreifen. Sie können den Von AWS verwalteter Schlüssel verwenden, den Parameter Store für Ihr Konto erstellt, oder Ihren eigenen kundenverwalteten Schlüssel angeben.
Wichtig
Parameter Store unterstützt nur symmetrische KMS-Schlüssel. Sie können keinen asymmetrischen KMS-Schlüssel verwenden, um Ihre Parameter zu verschlüsseln. Hilfe zum Bestimmen, ob ein KMS-Schlüssel symmetrisch oder asymmetrisch ist, finden Sie unter Identifizieren unterschiedlicher Schlüsseltypen im Entwicklerhandbuch für AWS Key Management Service .
Parameter Store unterstützt zwei Stufen von SecureString-Parametern: Standard und Erweitert. Standard-Parameter, die 4096 Bytes nicht überschreiten können, werden direkt mit dem von Ihnen angegebenen KMS-Schlüssel verschlüsselt und entschlüsselt. Zum Verschlüsseln und Entschlüsseln erweiterten SecureString-Parameter verwendet Parameter Store Envelope-Verschlüsselung mit dem AWS Encryption SDK. Es ist möglich, einen SecureString-Standardparameter in einen erweiterten Parameter zu konvertieren, aber nicht einen erweiterten Parameter in einen Standardparameter. Weitere Informationen zum Unterschied zwischen Standard- und erweiterten SecureString-Parametern finden Sie unter Verwalten von Parameterstufen.
Themen
Schutz von Standardparametern SecureString
Parameter Store führt keine kryptografischen Operationen durch. Stattdessen nutzt es AWS KMS zur Ver- und Entschlüsselung von SecureString-Parameterwerten. Parameter StoreRuft den Vorgang AWS KMS Verschlüsseln auf, wenn Sie einen SecureString Standardparameterwert erstellen oder ändern. Diese Operation verwendet einen KMS-Schlüssel mit symmetrischer Verschlüsselung direkt zum Verschlüsseln des Parameterwerts, statt mit dem KMS-Schlüssel einen Datenschlüssel zu generieren.
Sie können den KMS-Schlüssel auswählen, den Parameter Store zum Verschlüsseln des Parameterwerts nutzt. Wenn Sie keinen KMS-Schlüssel angeben, verwendet Parameter Store den Von AWS verwalteter Schlüssel
, den Systems Manager automatisch in Ihrem Konto erstellt. Der KMS-Schlüssel hat den Alias aws/ssm.
Verwenden Sie den DescribeKeyVorgang in der AWS KMS API, um den aws/ssm Standard-KMS-Schlüssel für Ihr Konto anzuzeigen. Im folgenden Beispiel wird der describe-key Befehl in der AWS Command Line Interface (AWS CLI) mit dem aws/ssm Aliasnamen verwendet.
aws kms describe-key \ --key-id alias/aws/ssm
Verwenden Sie den PutParameterVorgang in der Systems Manager Manager-API, um einen SecureString Standardparameter zu erstellen. Lassen Sie den Parameter Tier weg oder geben Sie als Wert Standard ein,wobei es sich um den Standardwert handelt. Schließen Sie einen Type-Parameter mit einem Wert von SecureString ein. Nutzen Sie zum Angeben eines KMS-Schlüssels den KeyId-Parameter. Die Standardeinstellung ist Von AWS verwalteter Schlüssel für Ihr Konto,aws/ssm.
Parameter Storeruft dann den AWS KMS Encrypt Vorgang mit dem KMS-Schlüssel und dem Klartext-Parameterwert auf. AWS KMS gibt den verschlüsselten Parameterwert zurück, der zusammen mit dem Parameternamen Parameter Store gespeichert wird.
Das folgende Beispiel verwendet den Put-Parameter-Befehl von Systems Manager und seinen --type Parameter in, um einen SecureString Parameter AWS CLI zu erstellen. Da der Befehl die optionalen Parameter --tier und --key-id weglässt, erstellt Parameter Store einen SecureString-Standardparameter und veschlüsselt ihn unter dem Von AWS verwalteter Schlüssel.
aws ssm put-parameter \ --name MyParameter \ --value "secret_value" \ --type SecureString
Im folgenden ähnlichen Beispiel wird der --key-id-Parameter zur Angabe eines kundenverwalteten Schlüssels verwendet. Im Beispiel wird eine KMS-Schlüssel-ID verwendet, um den KMS-Schlüssel zu identifizieren, Sie können jedoch einen beliebigen gültigen KMS-Schlüsselbezeichner verwenden. Da der Befehl den Parameter Tier weglässt (--tier), erstellt Parameter Store einen SecureString-Standardparameter und keinen erweiterten.
aws ssm put-parameter \ --name param1 \ --value "secret" \ --type SecureString \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab
Wenn Sie einen SecureString-Parameter von Parameter Store erhalten, ist sein Wert verschlüsselt. Verwenden Sie den GetParameter Vorgang in der Systems Manager Manager-API, um einen Parameter abzurufen.
Im folgenden Beispiel wird der Systems Manager Manager-Befehl get-parameter in der verwendet AWS CLI , um den MyParameter Parameter von abzurufen, Parameter Store ohne seinen Wert zu entschlüsseln.
aws ssm get-parameter --name MyParameter
{ "Parameter": { "Type": "SecureString", "Name": "MyParameter", "Value": "AQECAHgnOkMROh5LaLXkA4j0+vYi6tmM17Lg" } }
Zum Entschlüsseln des Parameterwerts vor der Rückgabe setzen Sie den WithDecryption-Parameter GetParameter auf true. Wenn Sie verwendenWithDecryption, Parameter Store ruft in Ihrem Namen den Vorgang AWS KMS Decrypt auf, um den Parameterwert zu entschlüsseln. Infolgedessen gibt die GetParameter-Anforderung den Parameter mit einem Klartext-Parameterwert zurück, wie im folgenden Beispiel gezeigt.
aws ssm get-parameter \ --name MyParameter \ --with-decryption
{ "Parameter": { "Type": "SecureString", "Name": "MyParameter", "Value": "secret_value" } }
Der folgende Workflow zeigt, wie Parameter Store einen KMS-Schlüssel zum Verschlüsseln und Entschlüsseln eines Standard-SecureString-Parameters verwendet.
Verschlüsseln eines Standardparameters
-
Wenn Sie mit
PutParametereinenSecureString-Parameter erstellen, sendet Parameter Store eineEncrypt-Anforderung an AWS KMS. Diese Anforderung enthält den Klartext-Parameterwert, den von Ihnen ausgewählten KMS-Schlüssel und den Parameter Store-Verschlüsselungskontext. Während der Übertragung an AWS KMS wird der Klartextwert imSecureStringParameter durch Transport Layer Security (TLS) geschützt. -
AWS KMS verschlüsselt den Parameterwert mit dem angegebenen KMS-Schlüssel und Verschlüsselungskontext. Der Verschlüsselungstext wird an Parameter Store zurückgegeben. Dort werden der Parametername und der dazugehörige verschlüsselte Wert gespeichert.
Entschlüsseln eines Standardparameters
-
Wenn Sie den
WithDecryptionParameter in eineGetParameterAnforderung aufnehmen, Parameter Store sendet eineDecryptAnfrage AWS KMS mit dem verschlüsseltenSecureStringParameterwert und dem Parameter StoreVerschlüsselungskontext an. -
AWS KMS verwendet denselben KMS-Schlüssel und den angegebenen Verschlüsselungskontext, um den verschlüsselten Wert zu entschlüsseln. Es gibt den Klartext-Parameterwert (den entschlüsselten) an Parameter Store zurück. Während der Übertragung sind die Klartextdaten durch TLS geschützt.
-
Parameter Store gibt den Klartext-Parameterwert an Sie in der
GetParameter-Antwort zurück.
Schutz erweiterter Parameter SecureString
Wenn Sie einen erweiterten SecureString Parameter erstellen, Parameter Store verwendet Envelope-Verschlüsselung mit dem AWS Encryption SDK und eine symmetrische Verschlüsselung, AWS KMS key um den Parameterwert zu schützen. PutParameter Jeder erweiterte Parameterwert ist mit einem eindeutigen Datenschlüssel verschlüsselt, der wiederum mit einem KMS-Schlüssel verschlüsselt ist. Sie können den Von AWS verwalteter Schlüssel für das Konto (aws/ssm) oder einen beliebigen kundenverwalteten Schlüssel verwenden.
Das AWS Encryption SDK ist eine clientseitige Open-Source-Bibliothek, mit der Sie Daten mithilfe von Branchenstandards und bewährten Methoden leichter verschlüsseln und entschlüsseln können. Sie wird auf mehreren Plattformen und in mehreren Programmiersprachen, einschließlich einer Befehlszeilenschnittstelle, unterstützt. In können Sie sich den Quellcode ansehen und zu seiner Entwicklung beitragen. GitHub
Parameter StoreRuft für jeden SecureString Parameterwert die auf, AWS Encryption SDK um den Parameterwert mithilfe eines eindeutigen Datenschlüssels zu verschlüsseln, der AWS KMS
generiert (GenerateDataKey). Das AWS Encryption SDK kehrt zu Parameter Store einer verschlüsselten Nachricht zurück, die den verschlüsselten Parameterwert und eine verschlüsselte Kopie des eindeutigen Datenschlüssels enthält. Parameter Storespeichert die gesamte verschlüsselte Nachricht im SecureString Parameterwert. Wenn Sie dann einen erweiterten SecureString Parameterwert erhalten, Parameter Store verwendet den, AWS Encryption SDK um den Parameterwert zu entschlüsseln. Dazu ist ein Aufruf von erforderlich, AWS KMS um den verschlüsselten Datenschlüssel zu entschlüsseln.
Verwenden Sie den PutParameterVorgang in der Systems Manager Manager-API, um einen erweiterten SecureString Parameter zu erstellen. Stellen Sie den Wert des Parameters Tier auf Advanced ein. Schließen Sie einen Type-Parameter mit einem Wert von SecureString ein. Nutzen Sie zum Angeben eines KMS-Schlüssels den KeyId-Parameter. Die Standardeinstellung ist Von AWS verwalteter Schlüssel für Ihr Konto,aws/ssm.
aws ssm put-parameter \ --name MyParameter \ --value "secret_value" \ --type SecureString \ --tier Advanced
Im folgenden ähnlichen Beispiel wird der --key-id-Parameter zur Angabe eines kundenverwalteten KMS-Schlüssels verwendet. Das Beispiel verwendet den Amazon-Ressourcennamen (ARN) des KMS-Schlüssels, aber Sie können jeden gültigen KMS-Schlüsselbezeichner angeben.
aws ssm put-parameter \ --name MyParameter \ --value "secret_value" \ --type SecureString \ --tier Advanced \ --key-id arn:aws:kms:us-east-2:987654321098:key/1234abcd-12ab-34cd-56ef-1234567890ab
Wenn Sie einen SecureString Parameter von abrufenParameter Store, entspricht sein Wert der verschlüsselten Nachricht, die AWS Encryption SDK zurückgegeben wurde. Verwenden Sie den GetParameterVorgang in der Systems Manager Manager-API, um einen Parameter abzurufen.
Das folgende Beispiel verwendet die Systems-Manager-Operation GetParameter zum Anfordern des MyParameter-Parameters von Parameter Store, ohne dessen Wert zu entschlüsseln.
aws ssm get-parameter --name MyParameter
{ "Parameter": { "Type": "SecureString", "Name": "MyParameter", "Value": "AQECAHgnOkMROh5LaLXkA4j0+vYi6tmM17Lg" } }
Zum Entschlüsseln des Parameterwerts vor der Rückgabe setzen Sie den WithDecryption-Parameter GetParameter auf true. Wenn Sie verwendenWithDecryption, Parameter Store ruft in Ihrem Namen den Vorgang AWS KMS Decrypt auf, um den Parameterwert zu entschlüsseln. Infolgedessen gibt die GetParameter-Anforderung den Parameter mit einem Klartext-Parameterwert zurück, wie im folgenden Beispiel gezeigt.
aws ssm get-parameter \ --name MyParameter \ --with-decryption
{ "Parameter": { "Type": "SecureString", "Name": "MyParameter", "Value": "secret_value" } }
Es ist nicht möglich, einen erweiterten SecureString-Parameter in einen erweiterten Standardparameter zu konvertieren, aber es ist möglich einen SecureString-Standardparameter in einen erweiterten Parameter zu konvertieren. Um einen SecureString-Standardparameter in einen erweiterten SecureString-Parameter zu konvertieren, verwenden Sie die Operation PutParameter mit dem Parameter Overwrite. Type muss den Wert SecureString und Tier muss den Wert Advanced haben. Der KeyId-Parameter, der einen kundenverwalteten Schlüssel identifiziert, ist optional. Wenn Sie es weglassen, Parameter Store verwendet das Von AWS verwalteter Schlüssel für das Konto. Sie können jeden KMS-Schlüssel angeben, den der Prinzipal verwenden darf, selbst wenn der Standardparameter von Ihnen mit einem anderen KMS-Schlüssel verschlüsselt wurde.
Wenn Sie den Parameter Overwrite verwenden, verschlüsselt Parameter Store den Parameterwert mithilfe des AWS Encryption SDK . Anschließend wird die neu verschlüsselte Nachricht in Parameter Store gespeichert.
aws ssm put-parameter \ --name myStdParameter \ --value "secret_value" \ --type SecureString \ --tier Advanced \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --overwrite
Der folgende Workflow zeigt, wie Parameter Store einen KMS-Schlüssel zum Verschlüsseln und Entschlüsseln eines erweiterten SecureString-Parameters verwendet.
Verschlüsseln eines erweiterten Parameters
-
Wenn Sie einen erweiterten
SecureStringParameter erstellen, Parameter Store verwendet das AWS Encryption SDK und, um den Parameterwert AWS KMS zu verschlüsseln.PutParameterParameter Storeruft den AWS Encryption SDK mit dem Parameterwert, dem von Ihnen angegebenen KMS-Schlüssel und dem Parameter StoreVerschlüsselungskontext auf. -
Der AWS Encryption SDK sendet eine GenerateDataKeyAnfrage AWS KMS mit der ID des von Ihnen angegebenen KMS-Schlüssels und dem Parameter Store Verschlüsselungskontext an. AWS KMS gibt zwei Kopien des eindeutigen Datenschlüssels zurück: eine im Klartext und eine mit dem KMS-Schlüssel verschlüsselte Kopie. (Der Verschlüsselungskontext wird beim Verschlüsseln des Datenschlüssels verwendet.)
-
Der AWS Encryption SDK verwendet den Klartext-Datenschlüssel, um den Parameterwert zu verschlüsseln. Es wird eine verschlüsselte Nachricht mit dem verschlüsselten Parameterwert, dem verschlüsselten Datenschlüssel und anderen Daten, einschließlich des Parameter Store-Verschlüsselungskontextes, zurückgegeben.
-
Parameter Store speichert die verschlüsselte Nachricht als Parameterwert.
Entschlüsseln eines erweiterten Parameters
-
Sie können den
WithDecryption-Parameter in eineGetParameter-Anforderung einschließen, um einen erweitertenSecureString-Parameter zu erhalten. In diesem Fall übergibt Parameter Store die verschlüsselte Nachricht aus dem Parameterwert an eine Entschlüsselungsmethode des AWS Encryption SDK. -
Der AWS Encryption SDK ruft den AWS KMS Decrypt-Vorgang auf. Sie übergibt den verschlüsselten Datenschlüssel und den Parameter Store-Verschlüsselungskontext aus der verschlüsselten Nachricht.
-
AWS KMS verwendet den KMS-Schlüssel und den Parameter Store Verschlüsselungskontext, um den verschlüsselten Datenschlüssel zu entschlüsseln. Anschließend gibt die Operation den Klartext-Datenschlüssel (entschlüsselt) an das AWS Encryption SDK zurück.
-
Der AWS Encryption SDK verwendet den Klartext-Datenschlüssel, um den Parameterwert zu entschlüsseln. Der Klartext-Parameterwert wird an Parameter Store zurückgegeben.
-
Parameter Store überprüft den Verschlüsselungskontext und gibt den Klartext-Parameterwert in der
GetParameter-Antwort an Sie zurück.
Festlegen der Berechtigungen zum Verschlüsseln und Entschlüsseln von Parameterwerten
Zum Verschlüsseln eines SecureString-Standardparameterwerts benötigt der Benutzer die Berechtigung kms:Encrypt. Zum Verschlüsseln eines erweiterten SecureString-Parameterwerts benötigt der Benutzer die Berechtigung kms:GenerateDataKey. Zum Entschlüsseln des SecureString-Parameterwerts beider Typen benötigt der Benutzer die Berechtigung kms:Decrypt.
Sie können AWS Identity and Access Management (IAM) -Richtlinien verwenden, um einem Benutzer die Erlaubnis zu gewähren oder zu verweigern, den Systems Manager PutParameter und GetParameter Operations aufzurufen.
Wenn Sie Ihre sicheren SecureString-Parameterwerte mit benutzerverwalteten Schlüsseln verschlüsseln, können Sie zum Verwalten der Verschlüsselungs- und Entschlüsselungs-Berechtigungen IAM-Richtlinien und Schlüsselrichtlinien verwenden. Sie können jedoch keine Zugriffssteuerungs-Richtlinien für den standardmäßigen aws/ssm-KMS-Schlüssel einrichten. Ausführliche Informationen zur Steuerung des Zugriffs auf vom Kunden verwaltete Schlüssel finden Sie unter KMS-Schlüsselzugriff und -Berechtigungen im AWS Key Management Service -Entwicklerhandbuch.
Das folgende Beispiel zeigt eine IAM-Richtlinie, die für SecureString-Standard-Parameter bestimmt ist. Sie ermöglicht dem Benutzer den Aufruf der Systems-Manager-Operation PutParameter für alle Parameter im Pfad FinancialParameters. Die Richtlinie ermöglicht es dem Benutzer auch, den AWS KMS Encrypt Vorgang mit einem vom Kunden verwalteten Beispielschlüssel aufzurufen.
Das folgende Beispiel zeigt eine IAM-Richtlinie an, die für erweiterte SecureString-Parameter bestimmt ist. Sie ermöglicht dem Benutzer den Aufruf der Systems-Manager-Operation PutParameter für alle Parameter im Pfad ReservedParameters. Die Richtlinie ermöglicht es dem Benutzer auch, den AWS KMS GenerateDataKey Vorgang mit einem vom Kunden verwalteten Beispielschlüssel aufzurufen.
Das letzte Beispiel zeigt eine IAM-Richtlinie, die für standardmäßige oder erweiterte SecureString-Parameter verwendet werden kann. Sie ermöglicht dem Benutzer den Aufruf der Systems-Manager-Operation GetParameter (und verwandte Operationen) für alle Parameter im Pfad ITParameters. Die Richtlinie ermöglicht es dem Benutzer auch, den AWS KMS Decrypt Vorgang mit einem vom Kunden verwalteten Beispielschlüssel aufzurufen.
Parameter Store-Verschlüsselungskontext
Ein Verschlüsselungskontext ist eine Gruppe von Schlüssel/Wert-Paaren mit willkürlichen, nicht geheimen Daten. Wenn Sie einen Verschlüsselungskontext in eine Anfrage zur Datenverschlüsselung aufnehmen, wird der Verschlüsselungskontext AWS KMS kryptografisch an die verschlüsselten Daten gebunden. Zur Entschlüsselung der Daten müssen Sie denselben Verschlüsselungskontext übergeben.
Sie können den Verschlüsselungskontext auch nutzen, um eine kryptografische Operation in Audit-Datensätzen und -Protokollen zu identifizieren. Die Verschlüsselungskontext wird in Klartext-Protokollen wie AWS CloudTrail angezeigt.
Der benötigt AWS Encryption SDK ebenfalls einen Verschlüsselungskontext, der jedoch unterschiedlich behandelt wird. Parameter Storestellt den Verschlüsselungskontext für die Verschlüsselungsmethode bereit. Das bindet den Verschlüsselungskontext AWS Encryption SDK kryptografisch an die verschlüsselten Daten. Es schließt den Verschlüsselungskontext als Klartext im Header der von ihm zurückgegebenen verschlüsselten Nachricht ein. Im Gegensatz AWS KMS dazu verwenden die AWS Encryption SDK Entschlüsselungsmethoden jedoch keinen Verschlüsselungskontext als Eingabe. Stattdessen wird beim Entschlüsseln von Daten der Verschlüsselungskontext aus der verschlüsselten Nachricht AWS Encryption SDK abgerufen. Parameter Storeüberprüft, ob der Verschlüsselungskontext den erwarteten Wert enthält, bevor der Klartext-Parameterwert an Sie zurückgegeben wird.
Parameter Store verwendet den folgenden Verschlüsselungskontext in seinen kryptografischen Operationen:
-
Schlüssel:
PARAMETER_ARN -
Wert: Der Amazon-Ressourcenname (ARN) des Parameters, der verschlüsselt wird.
Das Format des Verschlüsselungskontexts sieht wie folgt aus:
"PARAMETER_ARN":"arn:aws:ssm:region-id:account-id:parameter/parameter-name"
Parameter StoreSchließt diesen Verschlüsselungskontext beispielsweise in Aufrufe zum Verschlüsseln und Entschlüsseln des MyParameter Parameters in einem Beispiel und einer Region ein. AWS-Konto
"PARAMETER_ARN":"arn:aws:ssm:us-east-2:111122223333:parameter/MyParameter"
Befindet sich der Parameter in einem hierarchischen Parameter Store-Pfad, sind sowohl der Pfad als auch der Name im Verschlüsselungskontext enthalten. Dieser Verschlüsselungskontext wird beispielsweise beim Verschlüsseln und Entschlüsseln des MyParameter Parameters im /ReadableParameters Pfad in einem Beispiel und einer Region verwendet. AWS-Konto
"PARAMETER_ARN":"arn:aws:ssm:us-east-2:111122223333:parameter/ReadableParameters/MyParameter"
Sie können einen verschlüsselten SecureString Parameterwert entschlüsseln, indem Sie den AWS KMS Decrypt Vorgang mit dem richtigen Verschlüsselungskontext und dem verschlüsselten Parameterwert aufrufen, den der Systems Manager GetParameter Manager-Vorgang zurückgibt. Wir empfehlen jedoch, die Parameter Store-Parameterwerte mithilfe der GetParameter-Operation mit dem Parameter WithDecryption zu entschlüsseln.
Sie können den Verschlüsselungskontext auch in eine IAM-Richtlinie einschließen. So können Sie einen Benutzer beispielsweise nur dazu berechtigen, einen bestimmten Parameterwert oder eine bestimmte Gruppe von Parameterwerten zu entschlüsseln.
Das folgende Beispiel einer IAM-Richtlinie erlaubt es dem Benutzer, den Wert des MyParameter-Parameters abzurufen und den Wert mit dem angegebenen KMS-Schlüssel zu entschlüsseln. Diese Berechtigungen gelten jedoch nur, wenn der Verschlüsselungskontext mit der angegebenen Zeichenfolge übereinstimmt. Diese Berechtigungen gelten nicht für andere Parameter oder KMS-Schlüssel und der Aufruf an GetParameter schlägt fehl, wenn der Verschlüsselungskontext nicht mit der Zeichenfolge übereinstimmt.
Bevor Sie eine Richtlinienaussage wie diese verwenden, ersetzen Sie die example ARNs durch gültige Werte.
Beheben von Problemen mit KMS-Schlüsseln in Parameter Store
Um eine Operation mit einem SecureString Parameter ausführen zu können, Parameter Store müssen Sie in der Lage sein, den AWS KMS KMS-Schlüssel zu verwenden, den Sie für den gewünschten Vorgang angeben. Die meisten Parameter Store-Fehler im Zusammenhang mit KMS-Schlüsseln treten aus folgenden Gründen auf:
-
Die Anmeldeinformationen, die eine Anwendung verwendet, sind nicht berechtigt, eine bestimmte Aktion mit einem KMS-Schlüssel durchzuführen.
Zur Behebung dieses Problems führen Sie die Anwendung mit anderen Anmeldeinformationen aus oder ändern die IAM- oder Schlüssel-Richtlinie, die diese Operation verhindert. Hilfe zu AWS KMS IAM und wichtigen Richtlinien finden Sie unter KMS-Schlüsselzugriff und -berechtigungen im AWS Key Management Service Entwicklerhandbuch.
-
Der KMS-Schlüssel wurde nicht gefunden.
Dies geschieht in der Regel, wenn Sie einen falschen Bezeichner für den KMS-Schlüssel verwenden. Finden Sie die richtigen Bezeichner für den KMS-Schlüssel und wiederholen Sie den Befehl.
-
Der KMS-Schlüssel ist nicht aktiviert. In diesem Fall wird eine
InvalidKeyIdAusnahme mit einer ausführlichen Fehlermeldung von Parameter Store AWS KMS zurückgegeben. Wenn der Schlüsselstatus des KMS-SchlüsselsDisabledlautet, aktivieren Sie ihn. Wenn der StatusPending Importlautet, führen Sie das Importverfahren durch. Lautet der SchlüsselstatusPending Deletion, brechen Sie die Schlüssellöschung ab oder verwenden Sie einen anderen KMS-Schlüssel.Verwenden Sie den DescribeKeyVorgang, um den Schlüsselstatus eines KMS-Schlüssels zu ermitteln.