AWS KMS Beispiele mit AWS CLI - AWS Command Line Interface

Diese Dokumentation bezieht sich AWS CLI nur auf Version 1 von. Dokumentation zu Version 2 von finden Sie im Benutzerhandbuch für Version 2. AWS CLI

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 Beispiele mit AWS CLI

Die folgenden Codebeispiele zeigen Ihnen, wie Sie mithilfe von AWS Command Line Interface with Aktionen ausführen und allgemeine Szenarien implementieren AWS KMS.

Aktionen sind Codeauszüge aus größeren Programmen und müssen im Kontext ausgeführt werden. Aktionen zeigen Ihnen zwar, wie Sie einzelne Servicefunktionen aufrufen, aber Sie können Aktionen im Kontext der zugehörigen Szenarien sehen.

Jedes Beispiel enthält einen Link zum vollständigen Quellcode, in dem Sie Anweisungen zum Einrichten und Ausführen des Codes im Kontext finden.

Themen

Aktionen

Das folgende Codebeispiel zeigt die Verwendungcancel-key-deletion.

AWS CLI

Um das geplante Löschen eines vom Kunden verwalteten KMS Schlüssels abzubrechen

Im folgenden cancel-key-deletion Beispiel wird das geplante Löschen eines vom Kunden verwalteten KMS Schlüssels storniert.

aws kms cancel-key-deletion \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

Ausgabe:

{ "KeyId": "arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab" }

Wenn der cancel-key-deletion Befehl erfolgreich ist, wird das geplante Löschen abgebrochen. Der Schlüssel hat jedoch den KMS StatusDisabled, dass Sie ihn nicht für kryptografische KMS Operationen verwenden können. Verwenden Sie den enable-key Befehl, um die Funktionalität wiederherzustellen.

Weitere Informationen finden Sie im Key Management Service Developer Guide unter Das Löschen von AWS Schlüsseln planen und abbrechen.

Das folgende Codebeispiel zeigt die Verwendungconnect-custom-key-store.

AWS CLI

Um einen benutzerdefinierten Schlüsselspeicher zu verbinden

Im folgenden connect-custom-key-store Beispiel wird die Verbindung zum angegebenen benutzerdefinierten Schlüsselspeicher erneut hergestellt. Sie können einen Befehl wie diesen verwenden, um zum ersten Mal eine Verbindung zu einem benutzerdefinierten Schlüsselspeicher herzustellen oder um einen getrennten Schlüsselspeicher wieder zu verbinden.

Sie können diesen Befehl verwenden, um eine Verbindung zu einem AWS HSM Cloud-Schlüsselspeicher oder einem externen Schlüsselspeicher herzustellen.

aws kms connect-custom-key-store \ --custom-key-store-id cks-1234567890abcdef0

Dieser Befehl gibt keine Ausgabe zurück. Verwenden Sie den Befehl, um zu überprüfen, ob der describe-custom-key-stores Befehl wirksam war.

Informationen zum Herstellen einer Verbindung mit einem AWS HSM Cloud-Schlüsselspeicher finden Sie unter Verbinden und Trennen einer Verbindung zu einem AWS HSM Cloud-Schlüsselspeicher im AWS Key Management Service Developer Guide.

Informationen zum Herstellen einer Verbindung mit einem externen Schlüsselspeicher finden Sie unter Verbinden und Trennen eines externen Schlüsselspeichers im AWS Key Management Service Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungcreate-alias.

AWS CLI

Um einen Alias für einen KMS Schlüssel zu erstellen

Der folgende create-alias Befehl erstellt einen Alias, der example-alias nach dem KMS Schlüssel benannt ist, der durch die Schlüssel-ID identifiziert wird1234abcd-12ab-34cd-56ef-1234567890ab.

Aliasnamen müssen mit beginnenalias/. Verwenden Sie keine Aliasnamen, die mit alias/aws beginnen. Diese sind für die Verwendung durch reserviert AWS.

aws kms create-alias \ --alias-name alias/example-alias \ --target-key-id 1234abcd-12ab-34cd-56ef-1234567890ab

Dieser Befehl gibt keine Ausgabe zurück. Verwenden Sie den list-aliases Befehl, um den neuen Alias zu sehen.

Weitere Informationen finden Sie unter Verwenden von Aliasen im AWS Key Management Service Developer Guide.

  • APIEinzelheiten finden Sie CreateAliasin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungcreate-custom-key-store.

AWS CLI

Beispiel 1: Um einen AWS HSM Cloud-Schlüsselspeicher zu erstellen

Im folgenden create-custom-key-store Beispiel wird mithilfe der erforderlichen Parameter ein AWS HSM Cloud-Schlüsselspeicher erstellt, der von einem AWS HSM Cloud-Cluster unterstützt wird. Sie können auch die hinzufügencustom-key-store-type``parameter with the default value: ``AWS_CLOUDHSM.

Um die Dateieingabe für den trust-anchor-certificate Befehl in der anzugeben AWS CLI, ist das file:// Präfix erforderlich.

aws kms create-custom-key-store \ --custom-key-store-name ExampleCloudHSMKeyStore \ --cloud-hsm-cluster-id cluster-1a23b4cdefg \ --key-store-password kmsPswd \ --trust-anchor-certificate file://customerCA.crt

Ausgabe:

{ "CustomKeyStoreId": cks-1234567890abcdef0 }

Weitere Informationen finden Sie unter Erstellen eines AWS HSM Cloud-Schlüsselspeichers im AWS Key Management Service Developer Guide.

Beispiel 2: So erstellen Sie einen externen Schlüsselspeicher mit öffentlicher Endpunktkonnektivität

Im folgenden create-custom-key-store Beispiel wird ein externer Schlüsselspeicher (XKS) erstellt, mit dem AWS KMS über das Internet kommuniziert.

In diesem Beispiel XksProxyUriPath verwendet der ein optionales Präfix vonexample-prefix.

NOTE: Wenn Sie AWS CLI Version 1.0 verwenden, führen Sie den folgenden Befehl aus, bevor Sie einen Parameter mit einem HTTP HTTPS OR-Wert angeben, z. B. den XksProxyUriEndpoint Parameter.

aws configure set cli_follow_urlparam false

Andernfalls ersetzt AWS CLI Version 1.0 den Parameterwert durch den Inhalt, der an dieser URI Adresse gefunden wurde.

aws kms create-custom-key-store \ --custom-key-store-name ExamplePublicEndpointXKS \ --custom-key-store-type EXTERNAL_KEY_STORE \ --xks-proxy-connectivity PUBLIC_ENDPOINT \ --xks-proxy-uri-endpoint "https://myproxy.xks.example.com" \ --xks-proxy-uri-path "/example-prefix/kms/xks/v1" \ --xks-proxy-authentication-credential "AccessKeyId=ABCDE12345670EXAMPLE, RawSecretAccessKey=DXjSUawnel2fr6SKC7G25CNxTyWKE5PF9XX6H/u9pSo="

Ausgabe:

{ "CustomKeyStoreId": cks-2234567890abcdef0 }

Weitere Informationen finden Sie unter Erstellen eines externen Schlüsselspeichers im AWS Key Management Service Developer Guide.

Beispiel 3: So erstellen Sie einen externen Schlüsselspeicher mit VPC Endpoint Service-Konnektivität

Das folgende create-custom-key-store Beispiel erstellt einen externen Schlüsselspeicher (XKS), mit dem ein VPC Amazon-Endpunktservice kommuniziert wird AWS KMS.

NOTE: Wenn Sie AWS CLI Version 1.0 verwenden, führen Sie den folgenden Befehl aus, bevor Sie einen Parameter mit einem HTTP HTTPS OR-Wert angeben, z. B. den XksProxyUriEndpoint Parameter.

aws configure set cli_follow_urlparam false

Andernfalls ersetzt AWS CLI Version 1.0 den Parameterwert durch den Inhalt, der an dieser URI Adresse gefunden wurde.

aws kms create-custom-key-store \ --custom-key-store-name ExampleVPCEndpointXKS \ --custom-key-store-type EXTERNAL_KEY_STORE \ --xks-proxy-connectivity VPC_ENDPOINT_SERVICE \ --xks-proxy-uri-endpoint "https://myproxy-private.xks.example.com" \ --xks-proxy-uri-path "/kms/xks/v1" \ --xks-proxy-vpc-endpoint-service-name "com.amazonaws.vpce.us-east-1.vpce-svc-example1" \ --xks-proxy-authentication-credential "AccessKeyId=ABCDE12345670EXAMPLE, RawSecretAccessKey=DXjSUawnel2fr6SKC7G25CNxTyWKE5PF9XX6H/u9pSo="

Ausgabe:

{ "CustomKeyStoreId": cks-3234567890abcdef0 }

Weitere Informationen finden Sie unter Erstellen eines externen Schlüsselspeichers im AWS Key Management Service Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungcreate-grant.

AWS CLI

Um einen Zuschuss zu erstellen

Im folgenden create-grant Beispiel wird ein Grant erstellt, der es dem exampleUser Benutzer ermöglicht, den decrypt Befehl auf der 1234abcd-12ab-34cd-56ef-1234567890ab KMS Beispieltaste zu verwenden. Der ausscheidende Schulleiter ist die adminRole Rolle. Die Gewährung verwendet die EncryptionContextSubset Grant-Beschränkung, um diese Berechtigung nur dann zuzulassen, wenn der Verschlüsselungskontext in der decrypt Anforderung das "Department": "IT" Schlüssel-Wert-Paar enthält.

aws kms create-grant \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --grantee-principal arn:aws:iam::123456789012:user/exampleUser \ --operations Decrypt \ --constraints EncryptionContextSubset={Department=IT} \ --retiring-principal arn:aws:iam::123456789012:role/adminRole

Ausgabe:

{ "GrantId": "1a2b3c4d2f5e69f440bae30eaec9570bb1fb7358824f9ddfa1aa5a0dab1a59b2", "GrantToken": "<grant token here>" }

Verwenden Sie den Befehl, um detaillierte Informationen zur Gewährung anzuzeigen. list-grants

Weitere Informationen finden Sie unter Grants AWS KMS im AWS Key Management Service Developer Guide.

  • APIEinzelheiten finden Sie CreateGrantin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungcreate-key.

AWS CLI

Beispiel 1: Um einen vom Kunden verwalteten KMS Schlüssel zu erstellen AWS KMS

Im folgenden create-key Beispiel wird ein symmetrischer KMS Verschlüsselungsschlüssel erstellt.

Um den KMS Basisschlüssel, einen symmetrischen Verschlüsselungsschlüssel, zu erstellen, müssen Sie keine Parameter angeben. Die Standardwerte für diese Parameter erzeugen einen symmetrischen Verschlüsselungsschlüssel.

Da dieser Befehl keine Schlüsselrichtlinie angibt, erhält der KMS Schlüssel die Standardschlüsselrichtlinie für programmgesteuert erstellte Schlüssel. KMS Verwenden Sie den Befehl, um die Schlüsselrichtlinie anzuzeigen. get-key-policy Verwenden Sie den put-key-policy Befehl, um die Schlüsselrichtlinie zu ändern.

aws kms create-key

Der create-key Befehl gibt die Schlüsselmetadaten zurück, einschließlich der Schlüssel-ID und ARN des neuen KMS Schlüssels. Sie können diese Werte verwenden, um den KMS Schlüssel in anderen AWS KMS Operationen zu identifizieren. Die Ausgabe enthält die Tags nicht. Um die Tags für einen KMS Schlüssel anzuzeigen, verwenden Sie denlist-resource-tags command.

Ausgabe:

{ "KeyMetadata": { "AWSAccountId": "111122223333", "Arn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "CreationDate": "2017-07-05T14:04:55-07:00", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "Description": "", "Enabled": true, "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "KeyManager": "CUSTOMER", "KeySpec": "SYMMETRIC_DEFAULT", "KeyState": "Enabled", "KeyUsage": "ENCRYPT_DECRYPT", "MultiRegion": false, "Origin": "AWS_KMS" "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ] } }

Hinweis: create-key Mit dem Befehl können Sie keinen Alias angeben. Um einen Alias für den neuen KMS Schlüssel zu erstellen, verwenden Sie den create-alias Befehl.

Weitere Informationen finden Sie unter Schlüssel erstellen im AWS Key Management Service Developer Guide.

Beispiel 2: So erstellen Sie einen asymmetrischen RSA KMS Schlüssel für die Verschlüsselung und Entschlüsselung

Im folgenden create-key Beispiel wird ein KMS Schlüssel erstellt, der ein asymmetrisches RSA key pair für die Verschlüsselung und Entschlüsselung enthält.

aws kms create-key \ --key-spec RSA_4096 \ --key-usage ENCRYPT_DECRYPT

Ausgabe:

{ "KeyMetadata": { "Arn": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "AWSAccountId": "111122223333", "CreationDate": "2021-04-05T14:04:55-07:00", "CustomerMasterKeySpec": "RSA_4096", "Description": "", "Enabled": true, "EncryptionAlgorithms": [ "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256" ], "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "KeyManager": "CUSTOMER", "KeySpec": "RSA_4096", "KeyState": "Enabled", "KeyUsage": "ENCRYPT_DECRYPT", "MultiRegion": false, "Origin": "AWS_KMS" } }

Weitere Informationen finden Sie unter Asymmetrische Schlüssel AWS KMS im AWS Key Management Service Developer Guide.

Beispiel 3: So erstellen Sie einen KMS Schlüssel mit asymmetrischer elliptischer Kurve zum Signieren und Überprüfen

Um einen asymmetrischen KMS Schlüssel zu erstellen, der ein key pair mit asymmetrischer elliptischer Kurve (ECC) zum Signieren und Überprüfen enthält. Der --key-usage Parameter ist erforderlich, obwohl er der einzig gültige Wert für Schlüssel SIGN_VERIFY ist. ECC KMS

aws kms create-key \ --key-spec ECC_NIST_P521 \ --key-usage SIGN_VERIFY

Ausgabe:

{ "KeyMetadata": { "Arn": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "AWSAccountId": "111122223333", "CreationDate": "2019-12-02T07:48:55-07:00", "CustomerMasterKeySpec": "ECC_NIST_P521", "Description": "", "Enabled": true, "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "KeyManager": "CUSTOMER", "KeySpec": "ECC_NIST_P521", "KeyState": "Enabled", "KeyUsage": "SIGN_VERIFY", "MultiRegion": false, "Origin": "AWS_KMS", "SigningAlgorithms": [ "ECDSA_SHA_512" ] } }

Weitere Informationen finden Sie unter Asymmetrische Schlüssel AWS KMS im AWS Key Management Service Developer Guide.

Beispiel 4: So erstellen Sie einen Schlüssel HMAC KMS

Das folgende create-key Beispiel erstellt einen 384-Bit-Schlüssel HMACKMS. Der GENERATE_VERIFY_MAC Wert für den --key-usage Parameter ist erforderlich, obwohl er der einzig gültige Wert für HMAC KMS Schlüssel ist.

aws kms create-key \ --key-spec HMAC_384 \ --key-usage GENERATE_VERIFY_MAC

Ausgabe:

{ "KeyMetadata": { "Arn": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "AWSAccountId": "111122223333", "CreationDate": "2022-04-05T14:04:55-07:00", "CustomerMasterKeySpec": "HMAC_384", "Description": "", "Enabled": true, "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "KeyManager": "CUSTOMER", "KeySpec": "HMAC_384", "KeyState": "Enabled", "KeyUsage": "GENERATE_VERIFY_MAC", "MacAlgorithms": [ "HMAC_SHA_384" ], "MultiRegion": false, "Origin": "AWS_KMS" } }

Weitere Informationen finden Sie unter HMACKeys AWS KMS in im AWS Key Management Service Developer Guide.

Beispiel 4: So erstellen Sie einen KMS Primärschlüssel mit mehreren Regionen

Im folgenden create-key Beispiel wird ein primärer symmetrischer Verschlüsselungsschlüssel für mehrere Regionen erstellt. Da die Standardwerte für alle Parameter einen symmetrischen Verschlüsselungsschlüssel erzeugen, ist nur der --multi-region Parameter für diesen Schlüssel erforderlich. KMS Um anzugeben AWS CLI, dass ein boolescher Parameter wahr ist, geben Sie in der einfach den Parameternamen an.

aws kms create-key \ --multi-region

Ausgabe:

{ "KeyMetadata": { "Arn": "arn:aws:kms:us-west-2:111122223333:key/mrk-1234abcd12ab34cd56ef12345678990ab", "AWSAccountId": "111122223333", "CreationDate": "2021-09-02T016:15:21-09:00", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "Description": "", "Enabled": true, "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ], "KeyId": "mrk-1234abcd12ab34cd56ef12345678990ab", "KeyManager": "CUSTOMER", "KeySpec": "SYMMETRIC_DEFAULT", "KeyState": "Enabled", "KeyUsage": "ENCRYPT_DECRYPT", "MultiRegion": true, "MultiRegionConfiguration": { "MultiRegionKeyType": "PRIMARY", "PrimaryKey": { "Arn": "arn:aws:kms:us-west-2:111122223333:key/mrk-1234abcd12ab34cd56ef12345678990ab", "Region": "us-west-2" }, "ReplicaKeys": [] }, "Origin": "AWS_KMS" } }

Weitere Informationen finden Sie unter Asymmetrische Schlüssel AWS KMS im AWS Key Management Service Developer Guide.

Beispiel 5: So erstellen Sie einen KMS Schlüssel für importiertes Schlüsselmaterial

Im folgenden create-key Beispiel wird ein KMS Schlüssel ohne Schlüsselmaterial erstellt. Wenn der Vorgang abgeschlossen ist, können Sie Ihr eigenes Schlüsselmaterial in den KMS Schlüssel importieren. Um diesen KMS Schlüssel zu erstellen, setzen Sie den --origin Parameter aufEXTERNAL.

aws kms create-key \ --origin EXTERNAL

Ausgabe:

{ "KeyMetadata": { "Arn": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "AWSAccountId": "111122223333", "CreationDate": "2019-12-02T07:48:55-07:00", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "Description": "", "Enabled": false, "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ], "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "KeyManager": "CUSTOMER", "KeySpec": "SYMMETRIC_DEFAULT", "KeyState": "PendingImport", "KeyUsage": "ENCRYPT_DECRYPT", "MultiRegion": false, "Origin": "EXTERNAL" } }

Weitere Informationen finden Sie unter Importieren von Schlüsselmaterial in AWS KMS Schlüsseln im AWS Key Management Service Developer Guide.

Beispiel 6: So erstellen Sie einen KMS Schlüssel in einem AWS HSM Cloud-Schlüsselspeicher

Das folgende create-key Beispiel erstellt einen KMS Schlüssel im angegebenen AWS HSM Cloud-Schlüsselspeicher. Der Vorgang erstellt den KMS Schlüssel und seine Metadaten AWS KMS und erstellt das Schlüsselmaterial im AWS HSM Cloud-Cluster, der dem benutzerdefinierten Schlüsselspeicher zugeordnet ist. Die Parameter --custom-key-store-id und --origin müssen angegeben werden.

aws kms create-key \ --origin AWS_CLOUDHSM \ --custom-key-store-id cks-1234567890abcdef0

Ausgabe:

{ "KeyMetadata": { "Arn": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "AWSAccountId": "111122223333", "CloudHsmClusterId": "cluster-1a23b4cdefg", "CreationDate": "2019-12-02T07:48:55-07:00", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "CustomKeyStoreId": "cks-1234567890abcdef0", "Description": "", "Enabled": true, "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ], "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "KeyManager": "CUSTOMER", "KeySpec": "SYMMETRIC_DEFAULT", "KeyState": "Enabled", "KeyUsage": "ENCRYPT_DECRYPT", "MultiRegion": false, "Origin": "AWS_CLOUDHSM" } }

Weitere Informationen finden Sie unter AWS HSMCloud-Schlüsselspeicher im AWS Key Management Service Developer Guide.

Beispiel 7: So erstellen Sie einen KMS Schlüssel in einem externen Schlüsselspeicher

Das folgende create-key Beispiel erstellt einen KMS Schlüssel im angegebenen externen Schlüsselspeicher. Die --xks-key-id Parameter --custom-key-store-id--origin, und sind in diesem Befehl erforderlich.

Der --xks-key-id Parameter gibt die ID eines vorhandenen symmetrischen Verschlüsselungsschlüssels in Ihrem externen Schlüsselmanager an. Dieser Schlüssel dient als externes Schlüsselmaterial für den Schlüssel. KMS Der Wert des --origin Parameters muss sein. Der Parameter muss EXTERNAL_KEY_STORE einen externen Schlüsselspeicher identifizieren, der mit seinem externen custom-key-store-id Schlüsselspeicher-Proxy verbunden ist.

aws kms create-key \ --origin EXTERNAL_KEY_STORE \ --custom-key-store-id cks-9876543210fedcba9 \ --xks-key-id bb8562717f809024

Ausgabe:

{ "KeyMetadata": { "Arn": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "AWSAccountId": "111122223333", "CreationDate": "2022-12-02T07:48:55-07:00", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "CustomKeyStoreId": "cks-9876543210fedcba9", "Description": "", "Enabled": true, "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ], "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "KeyManager": "CUSTOMER", "KeySpec": "SYMMETRIC_DEFAULT", "KeyState": "Enabled", "KeyUsage": "ENCRYPT_DECRYPT", "MultiRegion": false, "Origin": "EXTERNAL_KEY_STORE", "XksKeyConfiguration": { "Id": "bb8562717f809024" } } }

Weitere Informationen finden Sie unter Externe Schlüsselspeicher im AWS Key Management Service Developer Guide.

  • APIEinzelheiten finden Sie CreateKeyin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungdecrypt.

AWS CLI

Beispiel 1: Um eine verschlüsselte Nachricht mit einem symmetrischen KMS Schlüssel zu entschlüsseln (Linux und macOS)

Das folgende decrypt Befehlsbeispiel zeigt die empfohlene Methode zum Entschlüsseln von Daten mit dem. AWS CLI Diese Version zeigt, wie Daten unter einem symmetrischen KMS Schlüssel entschlüsselt werden.

Geben Sie den Chiffretext in einer Datei an. Verwenden Sie im Wert des --ciphertext-blob Parameters das fileb:// Präfix, das angibt, die Daten aus einer Binärdatei CLI zu lesen. Wenn sich die Datei nicht im aktuellen Verzeichnis befindet, geben Sie den vollständigen Dateipfad ein. Weitere Informationen zum Lesen von AWS CLI Parameterwerten aus einer Datei finden Sie unter Loading AWS CLI parameters from a file < https://docs.aws.amazon.com/cli/ latest/userguide/cli - usage-parameters-file .html> im AWS Command Line Interface User Guide und Best Practices for Local File Parameters< https://aws.amazon.com/blogs/ developer/ best-practices-for-local -file-parameters/> im AWS Command Line Tool Blog .Geben Sie den KMS Schlüssel zum Entschlüsseln des Chiffretextes an. Der --key-id Parameter ist bei der Entschlüsselung mit einem symmetrischen KMS Schlüssel nicht erforderlich. AWS KMSkann die Schlüssel-ID des KMS Schlüssels, der zur Verschlüsselung der Daten verwendet wurde, aus den Metadaten im Chiffretext abrufen. Es hat sich jedoch immer bewährt, den KMS Schlüssel anzugeben, den Sie verwenden. Diese Vorgehensweise stellt sicher, dass Sie den KMS Schlüssel verwenden, den Sie beabsichtigen, und verhindert, dass Sie versehentlich einen Chiffretext mit einem KMS Schlüssel entschlüsseln, dem Sie nicht vertrauen. Fordern Sie die Klartext-Ausgabe als Textwert an. Der --query Parameter weist an, dass nur der Wert des Felds aus der Ausgabe abgerufen werden CLI soll. Plaintext Der --output Parameter gibt die Ausgabe als Text zurück. Base64-dekodiert den Klartext und speichert ihn in einer Datei. Im folgenden Beispiel wird der Wert des Plaintext Parameters über die Pipeline (|) an das Base64-Hilfsprogramm übergeben, das ihn dekodiert. Anschließend leitet er die dekodierte Ausgabe in die Datei um (>). ExamplePlaintext

Bevor Sie diesen Befehl ausführen, ersetzen Sie die Beispielschlüssel-ID durch eine gültige Schlüssel-ID aus Ihrem AWS Konto.

aws kms decrypt \ --ciphertext-blob fileb://ExampleEncryptedFile \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --output text \ --query Plaintext | base64 \ --decode > ExamplePlaintextFile

Mit diesem Befehl wird keine Ausgabe zurückgegeben. Die Ausgabe des decrypt Befehls wird base64-dekodiert und in einer Datei gespeichert.

Weitere Informationen finden Sie unter Decrypt in der AWS Key Management Service-Referenz. API

Beispiel 2: So entschlüsseln Sie eine verschlüsselte Nachricht mit einem symmetrischen KMS Schlüssel (Windows-Eingabeaufforderung)

Das folgende Beispiel ist dasselbe wie das vorherige, außer dass es das certutil Hilfsprogramm zur Base64-Decodierung der Klartextdaten verwendet. Für dieses Verfahren sind zwei Befehle erforderlich, wie in den folgenden Beispielen gezeigt.

Bevor Sie diesen Befehl ausführen, ersetzen Sie die Beispielschlüssel-ID durch eine gültige Schlüssel-ID aus Ihrem AWS Konto.

aws kms decrypt ^ --ciphertext-blob fileb://ExampleEncryptedFile ^ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab ^ --output text ^ --query Plaintext > ExamplePlaintextFile.base64

Führen Sie den Befehl certutil aus.

certutil -decode ExamplePlaintextFile.base64 ExamplePlaintextFile

Ausgabe:

Input Length = 18 Output Length = 12 CertUtil: -decode command completed successfully.

Weitere Informationen finden Sie unter Decrypt in der AWS Key Management API Service-Referenz.

Beispiel 3: Um eine verschlüsselte Nachricht mit einem asymmetrischen KMS Schlüssel zu entschlüsseln (Linux und macOS)

Das folgende decrypt Befehlsbeispiel zeigt, wie Daten entschlüsselt werden, die mit einem RSA asymmetrischen Schlüssel verschlüsselt wurden. KMS

Bei Verwendung eines asymmetrischen KMS Schlüssels ist der encryption-algorithm Parameter erforderlich, der den Algorithmus angibt, der zur Verschlüsselung des Klartextes verwendet wird.

Bevor Sie diesen Befehl ausführen, ersetzen Sie die Beispielschlüssel-ID durch eine gültige Schlüssel-ID aus Ihrem Konto. AWS

aws kms decrypt \ --ciphertext-blob fileb://ExampleEncryptedFile \ --key-id 0987dcba-09fe-87dc-65ba-ab0987654321 \ --encryption-algorithm RSAES_OAEP_SHA_256 \ --output text \ --query Plaintext | base64 \ --decode > ExamplePlaintextFile

Mit diesem Befehl wird keine Ausgabe zurückgegeben. Die Ausgabe des decrypt Befehls wird base64-dekodiert und in einer Datei gespeichert.

Weitere Informationen finden Sie unter Asymmetrische Schlüssel AWS KMS im AWS Key Management Service Developer Guide.

  • APIEinzelheiten finden Sie unter Decrypt in der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungdelete-alias.

AWS CLI

Um einen AWS KMS Alias zu löschen

Im folgenden delete-alias Beispiel wird der Alias alias/example-alias gelöscht. Der Aliasname muss mit alias/ beginnen.

aws kms delete-alias \ --alias-name alias/example-alias

Mit diesem Befehl wird keine Ausgabe zurückgegeben. Verwenden Sie den Befehl, um den Alias zu finden. list-aliases

Weitere Informationen finden Sie unter Löschen eines Alias im AWS Key Management Service Developer Guide.

  • APIEinzelheiten finden Sie DeleteAliasin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungdelete-custom-key-store.

AWS CLI

Um einen benutzerdefinierten Schlüsselspeicher zu löschen

Im folgenden delete-custom-key-store Beispiel wird der angegebene benutzerdefinierte Schlüsselspeicher gelöscht.

Das Löschen eines AWS HSM Cloud-Schlüsselspeichers hat keine Auswirkungen auf den zugehörigen HSM Cloud-Cluster. Das Löschen eines externen Schlüsselspeichers hat keine Auswirkungen auf den zugehörigen externen Schlüsselspeicher-Proxy, den externen Schlüsselmanager oder die externen Schlüssel.

NOTE: Bevor Sie einen benutzerdefinierten Schlüsselspeicher löschen können, müssen Sie das Löschen aller KMS Schlüssel im benutzerdefinierten Schlüsselspeicher planen und dann warten, bis diese KMS Schlüssel gelöscht sind. Anschließend müssen Sie die Verbindung zum benutzerdefinierten Schlüsselspeicher trennen. Hilfe bei der Suche nach den KMS Schlüsseln in Ihrem benutzerdefinierten Schlüsselspeicher finden Sie unter Löschen eines AWS HSM Cloud-Schlüsselspeichers (API) im AWS Key Management Service Developer Guide.

delete-custom-key-store \ --custom-key-store-id cks-1234567890abcdef0

Dieser Befehl gibt keine Ausgabe zurück. Verwenden Sie den describe-custom-key-stores Befehl, um zu überprüfen, ob der benutzerdefinierte Schlüsselspeicher gelöscht wurde.

Informationen zum Löschen eines AWS HSM Cloud-Schlüsselspeichers finden Sie unter Löschen eines AWS HSM Cloud-Schlüsselspeichers im AWS Key Management Service Developer Guide.

Informationen zum Löschen externer Schlüsselspeicher finden Sie unter Löschen eines externen Schlüsselspeichers im AWS Key Management Service Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungdelete-imported-key-material.

AWS CLI

Um importiertes Schlüsselmaterial aus einem KMS Schlüssel zu löschen

Im folgenden delete-imported-key-material Beispiel wird Schlüsselmaterial gelöscht, das in einen KMS Schlüssel importiert wurde.

aws kms delete-imported-key-material \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

Mit diesem Befehl wird keine Ausgabe zurückgegeben. Um zu überprüfen, ob das Schlüsselmaterial gelöscht wurde, verwenden Sie den describe-key Befehl, um nach dem Schlüsselstatus PendingImport oder PendingDeletion zu suchen.

Weitere Informationen finden Sie unter Löschen von importiertem Schlüsselmaterial< https://docs.aws.amazon.com/kms/ latest/developerguide/importing - keys-delete-key-material .html> im AWS Key Management Service Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungderive-shared-secret.

AWS CLI

Um ein gemeinsames Geheimnis abzuleiten

Im folgenden derive-shared-secret Beispiel wird ein gemeinsamer geheimer Schlüssel mithilfe eines Schlüsselvereinbarungsalgorithmus abgeleitet.

Sie müssen ein NIST asymmetrisches KMS key pair mit elliptischer Kurve (ECC) oder SM2 (nur Regionen China) mit dem KeyUsage Wert to call verwenden. KEY_AGREEMENT DeriveSharedSecret

aws kms derive-shared-secret \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --key-agreement-algorithm ECDH \ --public-key "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvH3Yj0wbkLEpUl95Cv1cJVjsVNSjwGq3tCLnzXfhVwVvmzGN8pYj3U8nKwgouaHbBWNJYjP5VutbbkKS4Kv4GojwZBJyHN17kmxo8yTjRmjR15SKIQ8cqRA2uaERMLnpztIXdZp232PQPbWGxDyXYJ0aJ5EFSag"

Ausgabe:

{ "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "SharedSecret": "MEYCIQCKZLWyTk5runarx6XiAkU9gv3lbwPO/pHa+DXFehzdDwIhANwpsIV2g/9SPWLLsF6p/hiSskuIXMTRwqrMdVKWTMHG", "KeyAgreementAlgorithm": "ECDH", "KeyOrigin": "AWS_KMS" }

Weitere Informationen finden Sie DeriveSharedSecretin der AWS Key Management Service Reference. API

Das folgende Codebeispiel zeigt die Verwendungdescribe-custom-key-stores.

AWS CLI

Beispiel 1: Um Details zu einem AWS HSM Cloud-Schlüsselspeicher abzurufen

Im folgenden describe-custom-key-store Beispiel werden Details zum angegebenen AWS HSM Cloud-Schlüsselspeicher angezeigt. Der Befehl ist für alle Typen von benutzerdefinierten Schlüsselspeichern derselbe, aber die Ausgabe unterscheidet sich je nach Schlüsselspeichertyp und, bei einem externen Schlüsselspeicher, dessen Konnektivitätsoption.

Standardmäßig zeigt dieser Befehl Informationen zu allen benutzerdefinierten Schlüsselspeichern im Konto und in der Region an. Verwenden Sie den custom-key-store-id Parameter custom-key-store-name oder, um Informationen zu einem bestimmten benutzerdefinierten Schlüsselspeicher anzuzeigen.

aws kms describe-custom-key-stores \ --custom-key-store-name ExampleCloudHSMKeyStore

Die Ausgabe dieses Befehls enthält nützliche Informationen über den AWS HSM Cloud-Schlüsselspeicher, einschließlich seines Verbindungsstatus (ConnectionState). Wenn der Verbindungsstatus lautetFAILED, enthält die Ausgabe ein ConnectionErrorCode Feld, das das Problem beschreibt.

Ausgabe:

{ "CustomKeyStores": [ { "CloudHsmClusterId": "cluster-1a23b4cdefg", "ConnectionState": "CONNECTED", "CreationDate": "2022-04-05T14:04:55-07:00", "CustomKeyStoreId": "cks-1234567890abcdef0", "CustomKeyStoreName": "ExampleExternalKeyStore", "TrustAnchorCertificate": "<certificate appears here>" } ] }

Weitere Informationen finden Sie unter AWS HSMCloud-Schlüsselspeicher anzeigen im AWS Key Management Service Developer Guide.

Beispiel 2: Um Details zu einem externen Schlüsselspeicher mit öffentlicher Endpunktkonnektivität abzurufen

Im folgenden describe-custom-key-store Beispiel werden Details zum angegebenen externen Schlüsselspeicher angezeigt. Der Befehl ist für alle Typen von benutzerdefinierten Schlüsselspeichern derselbe, aber die Ausgabe unterscheidet sich je nach Schlüsselspeichertyp und, bei einem externen Schlüsselspeicher, dessen Konnektivitätsoption.

Standardmäßig zeigt dieser Befehl Informationen zu allen benutzerdefinierten Schlüsselspeichern im Konto und in der Region an. Verwenden Sie den custom-key-store-id Parameter custom-key-store-name oder, um Informationen zu einem bestimmten benutzerdefinierten Schlüsselspeicher anzuzeigen.

aws kms describe-custom-key-stores \ --custom-key-store-id cks-9876543210fedcba9

Die Ausgabe dieses Befehls enthält nützliche Informationen über den externen Schlüsselspeicher, einschließlich seines Verbindungsstatus (ConnectionState). Wenn der Verbindungsstatus lautetFAILED, enthält die Ausgabe ein ConnectionErrorCode Feld, das das Problem beschreibt.

Ausgabe:

{ "CustomKeyStores": [ { "CustomKeyStoreId": "cks-9876543210fedcba9", "CustomKeyStoreName": "ExampleXKS", "ConnectionState": "CONNECTED", "CreationDate": "2022-12-02T07:48:55-07:00", "CustomKeyStoreType": "EXTERNAL_KEY_STORE", "XksProxyConfiguration": { "AccessKeyId": "ABCDE12345670EXAMPLE", "Connectivity": "PUBLIC_ENDPOINT", "UriEndpoint": "https://myproxy.xks.example.com", "UriPath": "/example-prefix/kms/xks/v1" } } ] }

Weitere Informationen finden Sie unter Einen externen Schlüsselspeicher anzeigen im AWS Key Management Service Developer Guide.

Beispiel 3: So rufen Sie Details zu einem externen Schlüsselspeicher mit VPC Endpoint Service-Konnektivität ab

Im folgenden describe-custom-key-store Beispiel werden Details zum angegebenen externen Schlüsselspeicher angezeigt. Der Befehl ist für alle Typen von benutzerdefinierten Schlüsselspeichern derselbe, aber die Ausgabe unterscheidet sich je nach Schlüsselspeichertyp und, bei einem externen Schlüsselspeicher, dessen Konnektivitätsoption.

Standardmäßig zeigt dieser Befehl Informationen zu allen benutzerdefinierten Schlüsselspeichern im Konto und in der Region an. Verwenden Sie den custom-key-store-id Parameter custom-key-store-name oder, um Informationen zu einem bestimmten benutzerdefinierten Schlüsselspeicher anzuzeigen.

aws kms describe-custom-key-stores \ --custom-key-store-id cks-2234567890abcdef0

Die Ausgabe dieses Befehls enthält nützliche Informationen über den externen Schlüsselspeicher, einschließlich seines Verbindungsstatus (ConnectionState). Wenn der Verbindungsstatus lautetFAILED, enthält die Ausgabe ein ConnectionErrorCode Feld, das das Problem beschreibt.

Ausgabe:

{ "CustomKeyStores": [ { "CustomKeyStoreId": "cks-3234567890abcdef0", "CustomKeyStoreName": "ExampleVPCExternalKeyStore", "ConnectionState": "CONNECTED", "CreationDate": "2022-12-22T07:48:55-07:00", "CustomKeyStoreType": "EXTERNAL_KEY_STORE", "XksProxyConfiguration": { "AccessKeyId": "ABCDE12345670EXAMPLE", "Connectivity": "VPC_ENDPOINT_SERVICE", "UriEndpoint": "https://myproxy-private.xks.example.com", "UriPath": "/kms/xks/v1", "VpcEndpointServiceName": "com.amazonaws.vpce.us-east-1.vpce-svc-example1" } } ] }

Weitere Informationen finden Sie unter Einen externen Schlüsselspeicher anzeigen im AWS Key Management Service Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungdescribe-key.

AWS CLI

Beispiel 1: Um detaillierte Informationen zu einem KMS Schlüssel zu finden

Im folgenden describe-key Beispiel werden detaillierte Informationen zum AWS verwalteten Schlüssel für Amazon S3 im Beispielkonto und in der Region abgerufen. Sie können diesen Befehl verwenden, um Details zu AWS verwalteten Schlüsseln und kundenverwalteten Schlüsseln zu finden.

Verwenden Sie den key-id Parameter, um den KMS Schlüssel anzugeben. In diesem Beispiel wird ein Aliasnamenwert verwendet, aber Sie können ARN in diesem Befehl eine Schlüssel-ID, einen SchlüsselARN, einen Aliasnamen oder einen Alias verwenden.

aws kms describe-key \ --key-id alias/aws/s3

Ausgabe:

{ "KeyMetadata": { "AWSAccountId": "846764612917", "KeyId": "b8a9477d-836c-491f-857e-07937918959b", "Arn": "arn:aws:kms:us-west-2:846764612917:key/b8a9477d-836c-491f-857e-07937918959b", "CreationDate": 2017-06-30T21:44:32.140000+00:00, "Enabled": true, "Description": "Default KMS key that protects my S3 objects when no other key is defined", "KeyUsage": "ENCRYPT_DECRYPT", "KeyState": "Enabled", "Origin": "AWS_KMS", "KeyManager": "AWS", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ] } }

Weitere Informationen finden Sie unter Schlüssel anzeigen im AWS Key Management Service Developer Guide.

Beispiel 2: Um Details zu einem RSA asymmetrischen KMS Schlüssel abzurufen

Im folgenden describe-key Beispiel werden detaillierte Informationen zu einem asymmetrischen RSA KMS Schlüssel abgerufen, der zum Signieren und Überprüfen verwendet wird.

aws kms describe-key \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

Ausgabe:

{ "KeyMetadata": { "AWSAccountId": "111122223333", "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "Arn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "CreationDate": "2019-12-02T19:47:14.861000+00:00", "CustomerMasterKeySpec": "RSA_2048", "Enabled": false, "Description": "", "KeyState": "Disabled", "Origin": "AWS_KMS", "MultiRegion": false, "KeyManager": "CUSTOMER", "KeySpec": "RSA_2048", "KeyUsage": "SIGN_VERIFY", "SigningAlgorithms": [ "RSASSA_PKCS1_V1_5_SHA_256", "RSASSA_PKCS1_V1_5_SHA_384", "RSASSA_PKCS1_V1_5_SHA_512", "RSASSA_PSS_SHA_256", "RSASSA_PSS_SHA_384", "RSASSA_PSS_SHA_512" ] } }

Beispiel 3: Um Details zu einem Replikatschlüssel für mehrere Regionen abzurufen

Im folgenden describe-key Beispiel werden Metadaten für einen Replikatschlüssel mit mehreren Regionen abgerufen. Dieser Schlüssel für mehrere Regionen ist ein symmetrischer Verschlüsselungsschlüssel. Die Ausgabe eines describe-key Befehls für einen beliebigen Schlüssel mit mehreren Regionen gibt Informationen über den Primärschlüssel und alle zugehörigen Replikate zurück.

aws kms describe-key \ --key-id arn:aws:kms:ap-northeast-1:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab

Ausgabe:

{ "KeyMetadata": { "MultiRegion": true, "AWSAccountId": "111122223333", "Arn": "arn:aws:kms:ap-northeast-1:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab", "CreationDate": "2021-06-28T21:09:16.114000+00:00", "Description": "", "Enabled": true, "KeyId": "mrk-1234abcd12ab34cd56ef1234567890ab", "KeyManager": "CUSTOMER", "KeyState": "Enabled", "KeyUsage": "ENCRYPT_DECRYPT", "Origin": "AWS_KMS", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ], "MultiRegionConfiguration": { "MultiRegionKeyType": "PRIMARY", "PrimaryKey": { "Arn": "arn:aws:kms:us-west-2:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab", "Region": "us-west-2" }, "ReplicaKeys": [ { "Arn": "arn:aws:kms:eu-west-1:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab", "Region": "eu-west-1" }, { "Arn": "arn:aws:kms:ap-northeast-1:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab", "Region": "ap-northeast-1" }, { "Arn": "arn:aws:kms:sa-east-1:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab", "Region": "sa-east-1" } ] } } }

Beispiel 4: Um Details zu einem Schlüssel abzurufen HMAC KMS

Im folgenden describe-key Beispiel werden detaillierte Informationen zu einem HMAC KMS Schlüssel abgerufen.

aws kms describe-key \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

Ausgabe:

{ "KeyMetadata": { "AWSAccountId": "123456789012", "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "Arn": "arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab", "CreationDate": "2022-04-03T22:23:10.194000+00:00", "Enabled": true, "Description": "Test key", "KeyUsage": "GENERATE_VERIFY_MAC", "KeyState": "Enabled", "Origin": "AWS_KMS", "KeyManager": "CUSTOMER", "CustomerMasterKeySpec": "HMAC_256", "MacAlgorithms": [ "HMAC_SHA_256" ], "MultiRegion": false } }
  • APIEinzelheiten finden Sie DescribeKeyunter AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungdisable-key-rotation.

AWS CLI

Um die automatische Drehung eines KMS Schlüssels zu deaktivieren

Im folgenden disable-key-rotation Beispiel wird die automatische Rotation eines vom Kunden verwalteten KMS Schlüssels deaktiviert. Verwenden Sie den Befehl, um die automatische Rotation wieder zu aktivieren. enable-key-rotation

aws kms disable-key-rotation \ --key-id arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

Mit diesem Befehl wird keine Ausgabe zurückgegeben. Verwenden Sie den get-key-rotation-status Befehl, um zu überprüfen, ob die automatische Drehung für den KMS Schlüssel deaktiviert ist.

Weitere Informationen finden Sie unter Rotieren von Schlüsseln im AWS Key Management Service Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungdisable-key.

AWS CLI

Um einen KMS Schlüssel vorübergehend zu deaktivieren

Im folgenden Beispiel wird der disable-key Befehl verwendet, um einen vom Kunden verwalteten KMS Schlüssel zu deaktivieren. Verwenden Sie den enable-key Befehl, um den KMS Schlüssel wieder zu aktivieren.

aws kms disable-key \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Enabling and Disabling Keys im AWS Key Management Service Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungdisconnect-custom-key-store.

AWS CLI

Um die Verbindung zu einem benutzerdefinierten Schlüsselspeicher zu trennen

Im folgenden disconnect-custom-key-store Beispiel wird die Verbindung eines benutzerdefinierten Schlüsselspeichers von seinem AWS HSM Cloud-Cluster getrennt. Sie können die Verbindung zu einem Schlüsselspeicher trennen, um ein Problem zu beheben, seine Einstellungen zu aktualisieren oder um zu verhindern, dass KMS Schlüssel im Schlüsselspeicher für kryptografische Operationen verwendet werden.

Dieser Befehl ist für alle benutzerdefinierten Schlüsselspeicher, einschließlich AWS Cloud-Schlüsselspeicher und externer HSM Schlüsselspeicher, derselbe.

Vor der Ausführung dieses Befehls müssen Sie die Beispiel-ID des benutzerdefinierten Schlüsselspeichers durch eine gültige ID ersetzen.

$ aws kms disconnect-custom-key-store \ --custom-key-store-id cks-1234567890abcdef0

Dieser Befehl erzeugt keine Ausgabe. Vergewissern Sie sich, dass der Befehl wirksam war, und verwenden Sie den describe-custom-key-stores Befehl.

Weitere Informationen zum Trennen der Verbindung mit einem AWS HSM Cloud-Schlüsselspeicher finden Sie unter Einen AWS HSM Cloud-Schlüsselspeicher verbinden und trennen im AWS Key Management Service Developer Guide.

Weitere Informationen zum Trennen eines externen Schlüsselspeichers finden Sie unter Verbinden und Trennen eines externen Schlüsselspeichers im AWS Key Management Service Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungenable-key-rotation.

AWS CLI

Um die automatische Rotation eines KMS Schlüssels zu aktivieren

Das folgende enable-key-rotation Beispiel ermöglicht die automatische Rotation eines vom Kunden verwalteten KMS Schlüssels mit einem Rotationszeitraum von 180 Tagen. Der KMS Schlüssel wird ab dem Datum, an dem dieser Befehl abgeschlossen wurde, ein Jahr (ungefähr 365 Tage) rotiert, und danach jedes Jahr.

Der --key-id Parameter identifiziert den KMS Schlüssel. In diesem Beispiel wird ein ARN Schlüsselwert verwendet, Sie können jedoch entweder die Schlüssel-ID oder die ARN des Schlüssels verwenden. KMS Der --rotation-period-in-days Parameter gibt die Anzahl der Tage zwischen den einzelnen Rotationsdaten an. Geben Sie einen Wert zwischen 90 und 2560 Tagen an. Wenn kein Wert angegeben ist, beträgt der Standardwert 365 Tage.

aws kms enable-key-rotation \ --key-id arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab \ --rotation-period-in-days 180

Mit diesem Befehl wird keine Ausgabe zurückgegeben. Verwenden Sie den get-key-rotation-status Befehl, um zu überprüfen, ob der KMS Schlüssel aktiviert ist.

Weitere Informationen finden Sie unter Rotieren von Schlüsseln im AWS Key Management Service Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungenable-key.

AWS CLI

Um einen KMS Schlüssel zu aktivieren

Das folgende enable-key Beispiel aktiviert einen vom Kunden verwalteten Schlüssel. Sie können einen Befehl wie diesen verwenden, um eine KMS Taste zu aktivieren, die Sie mit dem disable-key Befehl vorübergehend deaktiviert haben. Sie können ihn auch verwenden, um einen KMS Schlüssel zu aktivieren, der deaktiviert ist, weil für ihn ein Löschvorgang geplant war und der Löschvorgang abgebrochen wurde.

Verwenden Sie den key-id Parameter, um den KMS Schlüssel anzugeben. In diesem Beispiel wird ein Schlüssel-ID-Wert verwendet, aber Sie können in diesem Befehl auch eine Schlüssel-ID oder ARN einen Schlüsselwert verwenden.

Bevor Sie diesen Befehl ausführen, ersetzen Sie die Beispielschlüssel-ID durch eine gültige.

aws kms enable-key \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

Mit diesem Befehl wird keine Ausgabe zurückgegeben. Verwenden Sie den describe-key Befehl, um zu überprüfen, ob der KMS Schlüssel aktiviert ist. Sehen Sie sich die Werte der Enabled Felder KeyState und in der describe-key Ausgabe an.

Weitere Informationen finden Sie unter Enabling and Disabling Keys im AWS Key Management Service Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungencrypt.

AWS CLI

Beispiel 1: Um den Inhalt einer Datei unter Linux oder macOS zu verschlüsseln

Der folgende encrypt Befehl demonstriert die empfohlene Methode zum Verschlüsseln von Daten mit dem. AWS CLI

aws kms encrypt \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --plaintext fileb://ExamplePlaintextFile \ --output text \ --query CiphertextBlob | base64 \ --decode > ExampleEncryptedFile

Der Befehl macht mehrere Dinge:

Verwendet den --plaintext Parameter, um die zu verschlüsselnden Daten anzugeben. Dieser Parameterwert muss Base64-kodiert sein. Der Wert des plaintext Parameters muss Base64-kodiert sein, oder Sie müssen das fileb:// Präfix verwenden, das den mitteilt, Binärdaten aus der Datei AWS CLI zu lesen. Wenn sich die Datei nicht im aktuellen Verzeichnis befindet, geben Sie den vollständigen Dateipfad ein. Beispiel: fileb:///var/tmp/ExamplePlaintextFile oder fileb://C:\Temp\ExamplePlaintextFile. Weitere Informationen zum Lesen von AWS CLI Parameterwerten aus einer Datei finden Sie unter Laden von Parametern aus einer Datei im Benutzerhandbuch für die AWS Befehlszeilenschnittstelle und Best Practices für lokale Dateiparameter im Blog des AWS Befehlszeilentools. Verwendet die --query Parameter --output und, um die Befehlsausgabe zu steuern.Diese Parameter extrahieren die verschlüsselten Daten, den so genannten Chiffretext, aus der Befehlsausgabe. Weitere Informationen zur Steuerung der Ausgabe finden Sie unter Steuern Befehlsausgabe im Benutzerhandbuch für die AWS Befehlszeilenschnittstelle. Verwendet das base64 Hilfsprogramm, um die extrahierte Ausgabe in Binärdaten zu dekodieren. Der Chiffretext, der von einem erfolgreichen encrypt Befehl zurückgegeben wird, ist Base64-codierter Text. Sie müssen diesen Text dekodieren, bevor Sie ihn mit dem entschlüsseln können.Speichert den AWS CLI binären Chiffretext in einer Datei.Der letzte Teil des Befehls () speichert den binären Chiffretext in einer Datei, um die Entschlüsselung zu vereinfachen. > ExampleEncryptedFile Einen Beispielbefehl, der zum Entschlüsseln von Daten verwendet, finden Sie in den Entschlüsselungsbeispielen. AWS CLI

Beispiel 2: Verwenden von AWS CLI zum Verschlüsseln von Daten unter Windows

Dieses Beispiel ist dasselbe wie das vorherige, außer dass es das certutil Tool anstelle von base64 verwendet. Für dieses Verfahren sind zwei Befehle erforderlich, wie im folgenden Beispiel gezeigt.

aws kms encrypt \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --plaintext fileb://ExamplePlaintextFile \ --output text \ --query CiphertextBlob > C:\Temp\ExampleEncryptedFile.base64 certutil -decode C:\Temp\ExampleEncryptedFile.base64 C:\Temp\ExampleEncryptedFile

Beispiel 3: Verschlüsselung mit einem asymmetrischen Schlüssel KMS

Der folgende encrypt Befehl zeigt, wie Klartext mit einem asymmetrischen Schlüssel verschlüsselt wird. KMS Der Parameter --encryption-algorithm muss angegeben werden. Wie bei allen encrypt CLI Befehlen muss der plaintext Parameter Base64-kodiert sein, oder Sie müssen das fileb:// Präfix verwenden, das den mitteilt, Binärdaten aus der Datei AWS CLI zu lesen.

aws kms encrypt \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --encryption-algorithm RSAES_OAEP_SHA_256 \ --plaintext fileb://ExamplePlaintextFile \ --output text \ --query CiphertextBlob | base64 \ --decode > ExampleEncryptedFile

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

  • APIEinzelheiten finden Sie unter Verschlüsseln in der Befehlsreferenz.AWS CLI

Das folgende Codebeispiel zeigt die Verwendunggenerate-data-key-pair-without-plaintext.

AWS CLI

Um ein asymmetrisches ECC NIST P384-Datenschlüsselpaar zu generieren

Im folgenden generate-data-key-pair-without-plaintext Beispiel wird ein ECC NIST P384-Schlüsselpaar zur Verwendung außerhalb von AWS angefordert.

Der Befehl gibt einen öffentlichen Klartext-Schlüssel und eine Kopie des privaten Schlüssels zurück, der unter dem angegebenen KMS Schlüssel verschlüsselt wurde. Es wird kein privater Klartext-Schlüssel zurückgegeben. Sie können den verschlüsselten privaten Schlüssel zusammen mit den verschlüsselten Daten sicher speichern und bei Bedarf aufrufen, AWS KMS um den privaten Schlüssel zu entschlüsseln.

Um ein asymmetrisches ECC NIST P384-Datenschlüsselpaar anzufordern, verwenden Sie den key-pair-spec Parameter mit dem Wert. ECC_NIST_P384

Bei dem von Ihnen angegebenen KMS Schlüssel muss es sich um einen symmetrischen KMS Verschlüsselungsschlüssel handeln, d. h. um einen KMS Schlüssel mit dem Wert. KeySpec SYMMETRIC_DEFAULT

NOTE: Die Werte in der Ausgabe dieses Beispiels sind zur Anzeige gekürzt.

aws kms generate-data-key-pair-without-plaintext \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --key-pair-spec ECC_NIST_P384

Ausgabe:

{ "PrivateKeyCiphertextBlob": "AQIDAHi6LtupRpdKl2aJTzkK6FbhOtQkMlQJJH3PdtHvS/y+hAFFxmiD134doUDzMGmfCEtcAAAHaTCCB2UGCSqGSIb3DQEHBqCCB1...", "PublicKey": "MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA3A3eGMyPrvSn7+LdlJE1oUoQV5HpEuHAVbdOyND+NmYDH/mL1OSIEuLrcdZ5hrMH4pk83r40l...", "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "KeyPairSpec": "ECC_NIST_P384" }

Die PublicKey und PrivateKeyCiphertextBlob werden im Base64-kodierten Format zurückgegeben.

Weitere Informationen finden Sie unter Datenschlüsselpaare im AWS Key Management Service Developer Guide.

Das folgende Codebeispiel zeigt die Verwendunggenerate-data-key-pair.

AWS CLI

Um ein RSA asymmetrisches 2048-Bit-Datenschlüsselpaar zu generieren

Im folgenden generate-data-key-pair Beispiel wird ein RSA asymmetrisches 2048-Bit-Datenschlüsselpaar zur Verwendung außerhalb von angefordert. AWS Der Befehl gibt einen öffentlichen Klartext-Schlüssel und einen privaten Klartext-Schlüssel zur sofortigen Verwendung und Löschung sowie eine Kopie des privaten Schlüssels zurück, die unter dem angegebenen Schlüssel verschlüsselt wurde. KMS Sie können den verschlüsselten privaten Schlüssel zusammen mit den verschlüsselten Daten sicher speichern.

Um ein RSA asymmetrisches 2048-Bit-Datenschlüsselpaar anzufordern, verwenden Sie den key-pair-spec Parameter mit dem Wert. RSA_2048

Bei dem von Ihnen angegebenen KMS Schlüssel muss es sich um einen symmetrischen KMS Verschlüsselungsschlüssel handeln, d. h. um einen KMS Schlüssel mit dem Wert. KeySpec SYMMETRIC_DEFAULT

NOTE: Die Werte in der Ausgabe dieses Beispiels sind zur Anzeige gekürzt.

aws kms generate-data-key-pair \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --key-pair-spec RSA_2048

Ausgabe:

{ "PrivateKeyCiphertextBlob": "AQIDAHi6LtupRpdKl2aJTzkK6FbhOtQkMlQJJH3PdtHvS/y+hAFFxmiD134doUDzMGmfCEtcAAAHaTCCB2UGCSqGSIb3DQEHBqCCB1...", "PrivateKeyPlaintext": "MIIG/QIBADANBgkqhkiG9w0BAQEFAASCBucwggbjAgEAAoIBgQDcDd4YzI+u9Kfv4t2UkTWhShBXkekS4cBVt07I0P42ZgMf+YvU5IgS4ut...", "PublicKey": "MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA3A3eGMyPrvSn7+LdlJE1oUoQV5HpEuHAVbdOyND+NmYDH/mL1OSIEuLrcdZ5hrMH4pk83r40l...", "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "KeyPairSpec": "RSA_2048" }

Die PublicKeyPrivateKeyPlaintext, und PrivateKeyCiphertextBlob werden im Base64-kodierten Format zurückgegeben.

Weitere Informationen finden Sie unter Datenschlüsselpaare im AWS Key Management Service Developer Guide.

Das folgende Codebeispiel zeigt die Verwendunggenerate-data-key-without-plaintext.

AWS CLI

Um einen symmetrischen 256-Bit-Datenschlüssel ohne Klartextschlüssel zu generieren

Im folgenden generate-data-key-without-plaintext Beispiel wird eine verschlüsselte Kopie eines symmetrischen 256-Bit-Datenschlüssels zur Verwendung außerhalb von angefordert. AWS Sie können aufrufen AWS KMS, um den Datenschlüssel zu entschlüsseln, wenn Sie bereit sind, ihn zu verwenden.

Um einen 256-Bit-Datenschlüssel anzufordern, verwenden Sie den key-spec Parameter mit dem Wert. AES_256 Um einen 128-Bit-Datenschlüssel anzufordern, verwenden Sie den key-spec Parameter mit dem Wert. AES_128 Verwenden Sie für alle anderen Datenschlüssellängen den number-of-bytes Parameter.

Der von Ihnen angegebene KMS Schlüssel muss ein symmetrischer KMS Verschlüsselungsschlüssel sein, d. h. ein KMS Schlüssel mit dem Schlüsselspezifikationswert _. SYMMETRIC DEFAULT

aws kms generate-data-key-without-plaintext \ --key-id "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" \ --key-spec AES_256

Ausgabe:

{ "CiphertextBlob": "AQEDAHjRYf5WytIc0C857tFSnBaPn2F8DgfmThbJlGfR8P3WlwAAAH4wfAYJKoZIhvcNAQcGoG8wbQIBADBoBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDEFogL", "KeyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" }

Der CiphertextBlob (verschlüsselte Datenschlüssel) wird im Base64-codierten Format zurückgegeben.

Weitere Informationen finden Sie unter Datenschlüssel im AWS Key Management Service Developer Guide.

Das folgende Codebeispiel zeigt die Verwendunggenerate-data-key.

AWS CLI

Beispiel 1: Um einen symmetrischen 256-Bit-Datenschlüssel zu generieren

Im folgenden generate-data-key Beispiel wird ein symmetrischer 256-Bit-Datenschlüssel zur Verwendung außerhalb von angefordert. AWS Der Befehl gibt einen Klartext-Datenschlüssel zur sofortigen Verwendung und Löschung sowie eine Kopie dieses Datenschlüssels zurück, die unter dem angegebenen Schlüssel verschlüsselt wurde. KMS Sie können den verschlüsselten Datenschlüssel sicher neben den verschlüsselten Daten speichern.

Um einen 256-Bit-Datenschlüssel anzufordern, verwenden Sie den key-spec Parameter mit dem Wert. AES_256 Um einen 128-Bit-Datenschlüssel anzufordern, verwenden Sie den key-spec Parameter mit dem Wert. AES_128 Verwenden Sie für alle anderen Datenschlüssellängen den number-of-bytes Parameter.

Der von Ihnen angegebene KMS Schlüssel muss ein symmetrischer KMS Verschlüsselungsschlüssel sein, d. h. ein KMS Schlüssel mit dem Schlüsselspezifikationswert _. SYMMETRIC DEFAULT

aws kms generate-data-key \ --key-id alias/ExampleAlias \ --key-spec AES_256

Ausgabe:

{ "Plaintext": "VdzKNHGzUAzJeRBVY+uUmofUGGiDzyB3+i9fVkh3piw=", "KeyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "CiphertextBlob": "AQEDAHjRYf5WytIc0C857tFSnBaPn2F8DgfmThbJlGfR8P3WlwAAAH4wfAYJKoZIhvcNAQcGoG8wbQIBADBoBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDEFogLqPWZconQhwHAIBEIA7d9AC7GeJJM34njQvg4Wf1d5sw0NIo1MrBqZa+YdhV8MrkBQPeac0ReRVNDt9qleAt+SHgIRF8P0H+7U=" }

Der Plaintext (Klartext-Datenschlüssel) und der CiphertextBlob (verschlüsselte Datenschlüssel) werden im Base64-codierten Format zurückgegeben.

Weitere Informationen finden Sie unter Datenschlüssel < https://docs.aws.amazon.com/kms/ latest/developerguide/concepts .html #data -keys im AWS Key Management Service Developer Guide.

Beispiel 2: So generieren Sie einen symmetrischen 512-Bit-Datenschlüssel

Im folgenden generate-data-key Beispiel wird ein symmetrischer 512-Bit-Datenschlüssel für die Verschlüsselung und Entschlüsselung angefordert. Der Befehl gibt einen Klartext-Datenschlüssel zur sofortigen Verwendung und Löschung sowie eine Kopie dieses Datenschlüssels zurück, die mit dem angegebenen Schlüssel verschlüsselt wurde. KMS Sie können den verschlüsselten Datenschlüssel sicher neben den verschlüsselten Daten speichern.

Verwenden Sie den number-of-bytes Parameter, um eine andere Schlüssellänge als 128 oder 256 Bit anzufordern. Um einen 512-Bit-Datenschlüssel anzufordern, verwendet das folgende Beispiel den number-of-bytes Parameter mit einem Wert von 64 (Byte).

Bei dem von Ihnen angegebenen KMS Schlüssel muss es sich um einen symmetrischen KMS Verschlüsselungsschlüssel handeln, d. h. um einen KMS Schlüssel mit dem Schlüsselspezifikationswert _. SYMMETRIC DEFAULT

NOTE: Die Werte in der Ausgabe dieses Beispiels sind zur Anzeige gekürzt.

aws kms generate-data-key \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --number-of-bytes 64

Ausgabe:

{ "CiphertextBlob": "AQIBAHi6LtupRpdKl2aJTzkK6FbhOtQkMlQJJH3PdtHvS/y+hAEnX/QQNmMwDfg2korNMEc8AAACaDCCAmQGCSqGSIb3DQEHBqCCAlUwggJRAgEAMIICSgYJKoZ...", "Plaintext": "ty8Lr0Bk6OF07M2BWt6qbFdNB+G00ZLtf5MSEb4al3R2UKWGOp06njAwy2n72VRm2m7z/Pm9Wpbvttz6a4lSo9hgPvKhZ5y6RTm4OovEXiVfBveyX3DQxDzRSwbKDPk/...", "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" }

Plaintext(Klartext-Datenschlüssel) und CiphertextBlob (verschlüsselter Datenschlüssel) werden im Base64-codierten Format zurückgegeben.

Weitere Informationen finden Sie unter Datenschlüssel < https://docs.aws.amazon.com/kms/ latest/developerguide/concepts .html #data -keys im AWS Key Management Service Developer Guide.

  • APIEinzelheiten finden Sie GenerateDataKeyin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendunggenerate-random.

AWS CLI

Beispiel 1: Um eine 256-Bit-Zufallsbytezeichenfolge zu generieren (Linux oder) macOs

Das folgende generate-random Beispiel generiert eine Base64-kodierte 256-Bit-Zufallsbytezeichenfolge (32 Byte). Das Beispiel dekodiert die Bytezeichenfolge und speichert sie in der Zufallsdatei.

Wenn Sie diesen Befehl ausführen, müssen Sie den number-of-bytes Parameter verwenden, um die Länge des Zufallswerts in Byte anzugeben.

Sie geben keinen KMS Schlüssel an, wenn Sie diesen Befehl ausführen. Die zufällige Byte-Zeichenfolge hat nichts mit einem KMS Schlüssel zu tun.

AWS KMSGeneriert standardmäßig die Zufallszahl. Wenn Sie jedoch einen benutzerdefinierten Schlüsselspeicher angeben < https://docs.aws.amazon.com/kms/ latest/developerguide/custom - key-store-overview .html>, wird die zufällige Byte-Zeichenfolge in dem AWS HSM Cloud-Cluster generiert, der dem benutzerdefinierten Schlüsselspeicher zugeordnet ist.

In diesem Beispiel werden die folgenden Parameter und Werte verwendet:

Es verwendet den erforderlichen --number-of-bytes Parameter mit dem Wert von, 32 um eine 32-Byte-Zeichenfolge (256-Bit) anzufordern.Es verwendet den --output Parameter mit dem Wert von, text AWS CLI um die Ausgabe als Text zurückzugeben, anstatt vonJSON. Es verwendet den, --query parameter um den Wert der Plaintext Eigenschaft aus der Antwort zu extrahieren.Es leitet (|) die Ausgabe des Befehls an das base64 Hilfsprogramm weiter, das die extrahierte Ausgabe dekodiert. Es verwendet den Umleitungsoperator (>), um die dekodierte Bytezeichenfolge in der ExampleRandom Datei zu speichern.IT verwendet die Umleitungsoperator (>), um den binären Chiffretext in einer Datei zu speichern.

aws kms generate-random \ --number-of-bytes 32 \ --output text \ --query Plaintext | base64 --decode > ExampleRandom

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie GenerateRandomin der AWS Key Management Service Reference. API

Beispiel 2: Generieren einer 256-Bit-Zufallszahl (Windows-Eingabeaufforderung)

Im folgenden Beispiel wird der generate-random Befehl verwendet, um eine Base64-kodierte 256-Bit- (32-Byte) -Bit-Zufallsbytezeichenfolge zu generieren. Das Beispiel dekodiert die Bytezeichenfolge und speichert sie in der Zufallsdatei. Dieses Beispiel entspricht dem vorherigen Beispiel, außer dass es das certutil Hilfsprogramm in Windows verwendet, um die zufällige Bytezeichenfolge base64-dekodieren zu lassen, bevor sie in einer Datei gespeichert wird.

Generieren Sie zunächst eine Base64-kodierte Zufallsbytezeichenfolge und speichern Sie sie in einer temporären Datei,. ExampleRandom.base64

aws kms generate-random \ --number-of-bytes 32 \ --output text \ --query Plaintext > ExampleRandom.base64

Da die Ausgabe des generate-random Befehls in einer Datei gespeichert wird, erzeugt dieses Beispiel keine Ausgabe.

Verwenden Sie nun den certutil -decode Befehl, um die Base64-kodierte Bytezeichenfolge in der Datei zu dekodieren. ExampleRandom.base64 Anschließend wird die dekodierte Bytezeichenfolge in der Datei gespeichert. ExampleRandom

certutil -decode ExampleRandom.base64 ExampleRandom

Ausgabe:

Input Length = 18 Output Length = 12 CertUtil: -decode command completed successfully.

Weitere Informationen finden Sie GenerateRandomin der APIReferenz zum AWS Key Management Service.

  • APIEinzelheiten finden Sie GenerateRandomunter AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-key-policy.

AWS CLI

Um eine Schlüsselrichtlinie von einem Schlüssel auf einen anderen KMS KMS Schlüssel zu kopieren

Im folgenden get-key-policy Beispiel wird die Schlüsselrichtlinie von einem KMS Schlüssel abgerufen und in einer Textdatei gespeichert. Anschließend wird die Richtlinie eines anderen KMS Schlüssels ersetzt, wobei die Textdatei als Richtlinieneingabe verwendet wird.

Da für den --policy Parameter von eine Zeichenfolge put-key-policy erforderlich ist, müssen Sie die --output text Option verwenden, um die Ausgabe als Textzeichenfolge anstatt als zurückzugebenJSON.

aws kms get-key-policy \ --policy-name default \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --query Policy \ --output text > policy.txt aws kms put-key-policy \ --policy-name default \ --key-id 0987dcba-09fe-87dc-65ba-ab0987654321 \ --policy file://policy.txt

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie PutKeyPolicyin der AWS KMSAPIReferenz.

  • APIEinzelheiten finden Sie GetKeyPolicyin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-key-rotation-status.

AWS CLI

Um den Rotationsstatus für einen KMS Schlüssel abzurufen.

Das folgende get-key-rotation-status Beispiel gibt Informationen über den Rotationsstatus des angegebenen KMS Schlüssels zurück, einschließlich der Frage, ob die automatische Rotation aktiviert ist, den Rotationszeitraum und das nächste geplante Rotationsdatum. Sie können diesen Befehl für vom Kunden verwaltete KMS Schlüssel und AWS verwaltete KMS Schlüssel verwenden. Alle AWS verwalteten KMS Schlüssel werden jedoch jedes Jahr automatisch rotiert.

aws kms get-key-rotation-status \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

Ausgabe:

{ "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "KeyRotationEnabled": true, "NextRotationDate": "2024-02-14T18:14:33.587000+00:00", "RotationPeriodInDays": 365 }

Weitere Informationen finden Sie unter Rotation von Schlüsseln im AWS Key Management Service Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungget-parameters-for-import.

AWS CLI

Um die Elemente abzurufen, die zum Importieren von Schlüsselmaterial in einen KMS Schlüssel erforderlich sind

Im folgenden get-parameters-for-import Beispiel werden der öffentliche Schlüssel und das Import-Token abgerufen, die Sie benötigen, um Schlüsselmaterial in einen KMS Schlüssel zu importieren. Achten Sie bei der Verwendung des import-key-material Befehls darauf, dass Sie das Import-Token und das mit dem öffentlichen Schlüssel verschlüsselte Schlüsselmaterial verwenden, die im selben get-parameters-for-import Befehl zurückgegeben wurden. Außerdem muss es sich bei dem in diesem Befehl angegebenen Wrapping-Algorithmus um einen Algorithmus handeln, den Sie verwenden, um das Schlüsselmaterial mit dem öffentlichen Schlüssel zu verschlüsseln.

Verwenden Sie den key-id Parameter, um den KMS Schlüssel anzugeben. In diesem Beispiel wird eine Schlüssel-ID verwendet, aber Sie können ARN in diesem Befehl eine Schlüssel-ID oder einen Schlüssel verwenden.

aws kms get-parameters-for-import \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --wrapping-algorithm RSAES_OAEP_SHA_256 \ --wrapping-key-spec RSA_2048

Ausgabe:

{ "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "PublicKey": "<public key base64 encoded data>", "ImportToken": "<import token base64 encoded data>", "ParametersValidTo": 1593893322.32 }

Weitere Informationen finden Sie unter Herunterladen des öffentlichen Schlüssels und Importieren des Tokens im AWS Key Management Service Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungget-public-key.

AWS CLI

Beispiel 1: Um den öffentlichen Schlüssel eines asymmetrischen KMS Schlüssels herunterzuladen

Im folgenden get-public-key Beispiel wird der öffentliche Schlüssel eines asymmetrischen KMS Schlüssels heruntergeladen.

Zusätzlich zur Rückgabe des öffentlichen Schlüssels enthält die Ausgabe Informationen, die Sie benötigen, um den öffentlichen Schlüssel sicher außerhalb zu verwenden AWS KMS, einschließlich der Schlüsselverwendung und der unterstützten Verschlüsselungsalgorithmen.

aws kms get-public-key \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

Ausgabe:

{ "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "PublicKey": "jANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAl5epvg1/QtJhxSi2g9SDEVg8QV/...", "CustomerMasterKeySpec": "RSA_4096", "KeyUsage": "ENCRYPT_DECRYPT", "EncryptionAlgorithms": [ "RSAES_OAEP_SHA_1", "RSAES_OAEP_SHA_256" ] }

Weitere Informationen zur Verwendung asymmetrischer KMS Schlüssel finden Sie unter AWS KMS Using symmetric and Asymmetric Keys in der AWS Key Management Service Reference. API

Beispiel 2: Um einen öffentlichen Schlüssel in ein DER Format zu konvertieren (Linux und macOS)

Im folgenden get-public-key Beispiel wird der öffentliche Schlüssel eines asymmetrischen KMS Schlüssels heruntergeladen und in einer DER Datei gespeichert.

Wenn Sie den get-public-key Befehl in verwenden AWS CLI, gibt er einen mit DER -codierten öffentlichen X.509-Schlüssel zurück, der Base64-kodiert ist. In diesem Beispiel wird der Wert der Eigenschaft als Text abgerufen. PublicKey Es dekodiert das PublicKey Base64-und speichert es in der Datei. public_key.der Der output Parameter gibt die Ausgabe als Text zurück, anstatt als. JSON Der --query Parameter ruft nur die PublicKey Eigenschaft ab, nicht die Eigenschaften, die Sie benötigen, um den öffentlichen Schlüssel sicher außerhalb zu verwenden AWS KMS.

Bevor Sie diesen Befehl ausführen, ersetzen Sie die Beispielschlüssel-ID durch eine gültige Schlüssel-ID aus Ihrem AWS Konto.

aws kms get-public-key \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --output text \ --query PublicKey | base64 --decode > public_key.der

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen zur Verwendung asymmetrischer KMS Schlüssel finden Sie unter Verwenden symmetrischer und asymmetrischer Schlüssel in der AWS Key Management Service-Referenz. AWS KMS API

  • APIEinzelheiten finden Sie unter Befehlsreferenz GetPublicKey.AWS CLI

Das folgende Codebeispiel zeigt die Verwendungimport-key-material.

AWS CLI

Um Schlüsselmaterial in einen KMS Schlüssel zu importieren

Im folgenden import-key-material Beispiel wird Schlüsselmaterial in einen KMS Schlüssel hochgeladen, der ohne Schlüsselmaterial erstellt wurde. Der Schlüsselstatus des KMS Schlüssels muss sein. PendingImport

Dieser Befehl verwendet Schlüsselmaterial, das Sie mit dem öffentlichen Schlüssel verschlüsselt haben, den der get-parameters-for-import Befehl zurückgegeben hat. Außerdem wird das Import-Token aus demselben get-parameters-for-import Befehl verwendet.

Der expiration-model Parameter gibt an, dass das Schlüsselmaterial automatisch an dem vom valid-to Parameter angegebenen Datum und der Uhrzeit abläuft. Wenn das Schlüsselmaterial abläuft und das Schlüsselmaterial AWS KMS gelöscht wird, ändert sich der Schlüsselstatus des KMS Schlüssels Pending import und der KMS Schlüssel wird unbrauchbar. Um den KMS Schlüssel wiederherzustellen, müssen Sie dasselbe Schlüsselmaterial erneut importieren. Um anderes Schlüsselmaterial zu verwenden, müssen Sie einen neuen KMS Schlüssel erstellen.

Bevor Sie diesen Befehl ausführen, ersetzen Sie die Beispielschlüssel-ID durch eine gültige Schlüssel-ID oder einen gültigen Schlüssel ARN aus Ihrem AWS Konto.

aws kms import-key-material \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --encrypted-key-material fileb://EncryptedKeyMaterial.bin \ --import-token fileb://ImportToken.bin \ --expiration-model KEY_MATERIAL_EXPIRES \ --valid-to 2021-09-21T19:00:00Z

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen zum Importieren von Schlüsselmaterial finden Sie unter Importieren von Schlüsselmaterial im AWS Key Management Service Developer Guide.

Das folgende Codebeispiel zeigt die Verwendunglist-aliases.

AWS CLI

Beispiel 1: Um alle Aliase in einem AWS Konto und einer Region aufzulisten

Im folgenden Beispiel wird der list-aliases Befehl verwendet, um alle Aliase in der Standardregion des AWS Kontos aufzulisten. Die Ausgabe umfasst Aliase, die AWS verwalteten KMS Schlüsseln und KMS kundenverwalteten Schlüsseln zugeordnet sind.

aws kms list-aliases

Ausgabe:

{ "Aliases": [ { "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/testKey", "AliasName": "alias/testKey", "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" }, { "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/FinanceDept", "AliasName": "alias/FinanceDept", "TargetKeyId": "0987dcba-09fe-87dc-65ba-ab0987654321" }, { "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/aws/dynamodb", "AliasName": "alias/aws/dynamodb", "TargetKeyId": "1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d" }, { "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/aws/ebs", "AliasName": "alias/aws/ebs", "TargetKeyId": "0987ab65-43cd-21ef-09ab-87654321cdef" }, ... ] }

Beispiel 2: Um alle Aliase für einen bestimmten Schlüssel aufzulisten KMS

Im folgenden Beispiel werden der list-aliases Befehl und sein key-id Parameter verwendet, um alle Aliase aufzulisten, die einem bestimmten KMS Schlüssel zugeordnet sind.

Jeder Alias ist nur einem KMS Schlüssel zugeordnet, aber ein KMS Schlüssel kann mehrere Aliase haben. Dieser Befehl ist sehr nützlich, da die AWS KMS Konsole für jeden KMS Schlüssel nur einen Alias auflistet. Um alle Aliase für einen KMS Schlüssel zu finden, müssen Sie den list-aliases Befehl verwenden.

In diesem Beispiel wird die Schlüssel-ID des KMS Schlüssels für den --key-id Parameter verwendet, aber Sie können ARN in diesem Befehl eine Schlüssel-ID, einen SchlüsselARN, einen Aliasnamen oder einen Alias verwenden.

aws kms list-aliases --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

Ausgabe:

{ "Aliases": [ { "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/oregon-test-key", "AliasName": "alias/oregon-test-key" }, { "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/project121-test", "AliasName": "alias/project121-test" } ] }

Weitere Informationen finden Sie unter Arbeiten mit Aliasen im AWS Key Management Service Developer Guide.

Das folgende Codebeispiel zeigt die Verwendunglist-grants.

AWS CLI

Um die Zuschüsse auf einem AWS KMS Schlüssel anzuzeigen

Im folgenden list-grants Beispiel werden alle Grants für den angegebenen AWS verwalteten KMS Schlüssel für Amazon DynamoDB in Ihrem Konto angezeigt. Dieser Zuschuss ermöglicht es DynamoDB, den KMS Schlüssel in Ihrem Namen zu verwenden, um eine DynamoDB-Tabelle zu verschlüsseln, bevor sie auf die Festplatte geschrieben wird. Sie können einen Befehl wie diesen verwenden, um die Zuschüsse für die verwalteten Schlüssel und die vom Kunden AWS verwalteten KMS Schlüssel im Konto und in der KMS Region anzuzeigen. AWS

Dieser Befehl verwendet den key-id Parameter mit einer Schlüssel-ID, um den KMS Schlüssel zu identifizieren. Sie können eine Schlüssel-ID oder einen Schlüssel verwendenARN, um den KMS Schlüssel zu identifizieren. Verwenden Sie den list-aliases Befehl oder, um die Schlüssel-ID oder den KMS list-keys Schlüssel ARN eines AWS verwalteten Schlüssels abzurufen.

aws kms list-grants \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

Die Ausgabe zeigt, dass Amazon DynamoDB durch den Zuschuss die Erlaubnis erhält, den KMS Schlüssel für kryptografische Operationen zu verwenden und Details über den KMS Schlüssel (DescribeKey) einzusehen und Grants zurückzuziehen (). RetireGrant Die EncryptionContextSubset Einschränkung beschränkt diese Berechtigungen auf Anfragen, die die angegebenen Verschlüsselungskontextpaare enthalten. Daher sind die Berechtigungen in der Gewährung nur für das angegebene Konto und die angegebene DynamoDB-Tabelle wirksam.

{ "Grants": [ { "Constraints": { "EncryptionContextSubset": { "aws:dynamodb:subscriberId": "123456789012", "aws:dynamodb:tableName": "Services" } }, "IssuingAccount": "arn:aws:iam::123456789012:root", "Name": "8276b9a6-6cf0-46f1-b2f0-7993a7f8c89a", "Operations": [ "Decrypt", "Encrypt", "GenerateDataKey", "ReEncryptFrom", "ReEncryptTo", "RetireGrant", "DescribeKey" ], "GrantId": "1667b97d27cf748cf05b487217dd4179526c949d14fb3903858e25193253fe59", "KeyId": "arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab", "RetiringPrincipal": "dynamodb.us-west-2.amazonaws.com", "GranteePrincipal": "dynamodb.us-west-2.amazonaws.com", "CreationDate": "2021-05-13T18:32:45.144000+00:00" } ] }

Weitere Informationen finden Sie unter Grants AWS KMS im AWS Key Management Service Developer Guide.

  • APIEinzelheiten finden Sie ListGrantsin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendunglist-key-policies.

AWS CLI

Um die Namen der wichtigsten Richtlinien für einen KMS Schlüssel abzurufen

Im folgenden list-key-policies Beispiel werden die Namen der wichtigsten Richtlinien für einen vom Kunden verwalteten Schlüssel im Beispielkonto und in der Region abgerufen. Sie können diesen Befehl verwenden, um die Namen der wichtigsten Richtlinien für AWS verwaltete Schlüssel und vom Kunden verwaltete Schlüssel zu finden.

Da der einzig gültige Name der Schlüsselrichtlinie lautetdefault, ist dieser Befehl nicht nützlich.

Verwenden Sie den key-id Parameter, um den KMS Schlüssel anzugeben. In diesem Beispiel wird ein Schlüssel-ID-Wert verwendet, aber Sie können ARN in diesem Befehl auch eine Schlüssel-ID oder einen Schlüssel verwenden.

aws kms list-key-policies \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

Ausgabe:

{ "PolicyNames": [ "default" ] }

Weitere Informationen zu AWS KMS wichtigen Richtlinien finden Sie unter Verwenden von Schlüsselrichtlinien AWS KMS im AWS Key Management Service Developer Guide.

  • APIEinzelheiten finden Sie ListKeyPoliciesin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendunglist-key-rotations.

AWS CLI

Um Informationen über alle abgeschlossenen wichtigen Materialrotationen abzurufen

Im folgenden list-key-rotations Beispiel werden Informationen zu allen abgeschlossenen Materialrotationen für den angegebenen KMS Schlüssel aufgeführt.

aws kms list-key-rotations \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

Ausgabe:

{ "Rotations": [ { "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "RotationDate": "2024-03-02T10:11:36.564000+00:00", "RotationType": "AUTOMATIC" }, { "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "RotationDate": "2024-04-05T15:14:47.757000+00:00", "RotationType": "ON_DEMAND" } ], "Truncated": false }

Weitere Informationen finden Sie unter Rotation von Schlüsseln im AWS Key Management Service Developer Guide.

Das folgende Codebeispiel zeigt die Verwendunglist-keys.

AWS CLI

Um die KMS Schlüssel für ein Konto und eine Region zu erhalten

Im folgenden list-keys Beispiel werden die KMS Schlüssel für ein Konto und eine Region abgerufen. Dieser Befehl gibt sowohl AWS verwaltete Schlüssel als auch vom Kunden verwaltete Schlüssel zurück.

aws kms list-keys

Ausgabe:

{ "Keys": [ { "KeyArn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" }, { "KeyArn": "arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321", "KeyId": "0987dcba-09fe-87dc-65ba-ab0987654321" }, { "KeyArn": "arn:aws:kms:us-east-2:111122223333:key/1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d", "KeyId": "1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d" } ] }

Weitere Informationen finden Sie unter Schlüssel anzeigen im AWS Key Management Service Developer Guide.

  • APIEinzelheiten finden Sie ListKeysin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendunglist-resource-tags.

AWS CLI

Um die Tags auf einem KMS Schlüssel abzurufen

Im folgenden list-resource-tags Beispiel werden die Tags für einen KMS Schlüssel abgerufen. Verwenden Sie den tag-resource Befehl, um Ressourcen-Tags zu KMS Schlüsseln hinzuzufügen oder zu ersetzen. Die Ausgabe zeigt, dass dieser KMS Schlüssel zwei Ressourcen-Tags hat, von denen jedes einen Schlüssel und einen Wert hat.

Verwenden Sie den key-id Parameter, um den KMS Schlüssel anzugeben. In diesem Beispiel wird ein Schlüssel-ID-Wert verwendet, aber Sie können ARN in diesem Befehl auch eine Schlüssel-ID oder einen Schlüssel verwenden.

aws kms list-resource-tags \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

Ausgabe:

{ "Tags": [ { "TagKey": "Dept", "TagValue": "IT" }, { "TagKey": "Purpose", "TagValue": "Test" } ], "Truncated": false }

Weitere Informationen zur Verwendung von Tags in AWS KMS finden Sie unter Tagging Keys im AWS Key Management Service Developer Guide.

Das folgende Codebeispiel zeigt die Verwendunglist-retirable-grants.

AWS CLI

Um die Zuschüsse anzuzeigen, die ein Schulleiter in den Ruhestand schicken kann

Im folgenden list-retirable-grants Beispiel werden alle Zuschüsse angezeigt, die der ExampleAdmin Benutzer mit den KMS Schlüsseln eines AWS Kontos und einer Region zurückziehen kann. Sie können einen Befehl wie diesen verwenden, um die Zuschüsse anzuzeigen, die jeder Kontoinhaber aufgrund von KMS Schlüsseln für das AWS Konto und die Region zurückziehen kann.

Der Wert des erforderlichen retiring-principal Parameters muss der Amazon-Ressourcenname (ARN) eines Kontos, Benutzers oder einer Rolle sein.

Sie können retiring-principal in diesem Befehl keinen Service für den Wert von angeben, auch wenn ein Service der ausscheidende Principal sein kann. Verwenden Sie den Befehl, um die Zuschüsse zu ermitteln, in denen ein bestimmter Dienst der ausscheidende Schulleiter ist. list-grants

Die Ausgabe zeigt, dass der ExampleAdmin Benutzer berechtigt ist, Grants für zwei verschiedene KMS Schlüssel im Konto und in der Region zurückzuziehen. Zusätzlich zum ausscheidenden Hauptbetrag ist das Konto berechtigt, alle Zuschüsse auf dem Konto zurückzuziehen.

aws kms list-retirable-grants \ --retiring-principal arn:aws:iam::111122223333:user/ExampleAdmin

Ausgabe:

{ "Grants": [ { "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "GrantId": "156b69c63cb154aa21f59929ff19760717be8d9d82b99df53e18b94a15a5e88e", "Name": "", "CreationDate": 2021-01-14T20:17:36.419000+00:00, "GranteePrincipal": "arn:aws:iam::111122223333:user/ExampleUser", "RetiringPrincipal": "arn:aws:iam::111122223333:user/ExampleAdmin", "IssuingAccount": "arn:aws:iam::111122223333:root", "Operations": [ "Encrypt" ], "Constraints": { "EncryptionContextSubset": { "Department": "IT" } } }, { "KeyId": "arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321", "GrantId": "8c94d1f12f5e69f440bae30eaec9570bb1fb7358824f9ddfa1aa5a0dab1a59b2", "Name": "", "CreationDate": "2021-02-02T19:49:49.638000+00:00", "GranteePrincipal": "arn:aws:iam::111122223333:role/ExampleRole", "RetiringPrincipal": "arn:aws:iam::111122223333:user/ExampleAdmin", "IssuingAccount": "arn:aws:iam::111122223333:root", "Operations": [ "Decrypt" ], "Constraints": { "EncryptionContextSubset": { "Department": "IT" } } } ], "Truncated": false }

Weitere Informationen finden Sie unter Grants AWS KMS im AWS Key Management Service Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungput-key-policy.

AWS CLI

Um die Schlüsselrichtlinie für einen KMS Schlüssel zu ändern

Im folgenden put-key-policy Beispiel wird die Schlüsselrichtlinie für einen vom Kunden verwalteten Schlüssel geändert.

Erstellen Sie zunächst eine Schlüsselrichtlinie und speichern Sie sie in einer lokalen JSON Datei. In diesem Beispiel ist die Dateikey_policy.json. Sie können die Schlüsselrichtlinie auch als Zeichenfolgenwert des policy Parameters angeben.

Die erste Anweisung in dieser Schlüsselrichtlinie erteilt dem AWS Konto die Erlaubnis, IAM Richtlinien zur Steuerung des Zugriffs auf den KMS Schlüssel zu verwenden. Die zweite Anweisung erteilt dem test-user Benutzer die Erlaubnis, die list-keys Befehle describe-key und auf dem KMS Schlüssel auszuführen.

Inhalt von key_policy.json:

{ "Version" : "2012-10-17", "Id" : "key-default-1", "Statement" : [ { "Sid" : "Enable IAM User Permissions", "Effect" : "Allow", "Principal" : { "AWS" : "arn:aws:iam::111122223333:root" }, "Action" : "kms:*", "Resource" : "*" }, { "Sid" : "Allow Use of Key", "Effect" : "Allow", "Principal" : { "AWS" : "arn:aws:iam::111122223333:user/test-user" }, "Action" : [ "kms:DescribeKey", "kms:ListKeys" ], "Resource" : "*" } ] }

Um den KMS Schlüssel zu identifizieren, verwendet dieses Beispiel die Schlüssel-ID, Sie können aber auch einen Schlüssel verwendenARN. Um die Schlüsselrichtlinie anzugeben, verwendet der Befehl den policy Parameter. Um anzugeben, dass sich die Richtlinie in einer Datei befindet, wird das erforderliche file:// Präfix verwendet. Dieses Präfix ist erforderlich, um Dateien auf allen unterstützten Betriebssystemen zu identifizieren. Schließlich verwendet der Befehl den policy-name Parameter mit dem Wertdefault. Wenn kein Richtlinienname angegeben ist, ist der Standardwertdefault. Der einzige gültige Wert ist default.

aws kms put-key-policy \ --policy-name default \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --policy file://key_policy.json

Dieser Befehl erzeugt keine Ausgabe. Verwenden Sie den Befehl, um zu überprüfen, ob der get-key-policy Befehl wirksam war. Mit dem folgenden Beispielbefehl wird die Schlüsselrichtlinie für denselben KMS Schlüssel abgerufen. Der output Parameter mit dem Wert von text gibt ein Textformat zurück, das leicht zu lesen ist.

aws kms get-key-policy \ --policy-name default \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --output text

Ausgabe:

{ "Version" : "2012-10-17", "Id" : "key-default-1", "Statement" : [ { "Sid" : "Enable IAM User Permissions", "Effect" : "Allow", "Principal" : { "AWS" : "arn:aws:iam::111122223333:root" }, "Action" : "kms:*", "Resource" : "*" }, { "Sid" : "Allow Use of Key", "Effect" : "Allow", "Principal" : { "AWS" : "arn:aws:iam::111122223333:user/test-user" }, "Action" : [ "kms:Describe", "kms:List" ], "Resource" : "*" } ] }

Weitere Informationen finden Sie unter Ändern einer Schlüsselrichtlinie im AWS Key Management Service Developer Guide.

  • APIEinzelheiten finden Sie PutKeyPolicyunter AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungre-encrypt.

AWS CLI

Beispiel 1: Um eine verschlüsselte Nachricht unter einem anderen symmetrischen KMS Schlüssel (Linux und macOS) erneut zu verschlüsseln.

Das folgende re-encrypt Befehlsbeispiel zeigt die empfohlene Methode zum erneuten Verschlüsseln von Daten mit dem. AWS CLI

Geben Sie den Geheimtext in einer Datei an. Verwenden Sie im Wert des --ciphertext-blob Parameters das fileb:// Präfix, das angibt, die Daten aus einer Binärdatei CLI zu lesen. Wenn sich die Datei nicht im aktuellen Verzeichnis befindet, geben Sie den vollständigen Dateipfad ein. Weitere Informationen zum Lesen von AWS CLI Parameterwerten aus einer Datei finden Sie unter Loading AWS CLI parameters from a file < https://docs.aws.amazon.com/cli/ latest/userguide/cli - usage-parameters-file .html> im AWS Command Line Interface User Guide und Best Practices for Local File Parameters< https://aws.amazon.com/blogs/ developer/ best-practices-for-local -file-parameters/> im AWS Command Line Tool Blog .Geben Sie den KMS Quellschlüssel an, der den Chiffretext entschlüsselt. Der --source-key-id Parameter ist bei der Entschlüsselung mit symmetrischer Verschlüsselung nicht erforderlich. KMSSchlüssel. AWS KMSkann den KMS Schlüssel, der zur Verschlüsselung der Daten verwendet wurde, aus den Metadaten im Chiffretext-Blob abrufen. Es hat sich jedoch immer bewährt, den KMS Schlüssel anzugeben, den Sie verwenden. Diese Vorgehensweise stellt sicher, dass Sie den KMS Schlüssel verwenden, den Sie beabsichtigen, und verhindert, dass Sie versehentlich einen Chiffretext mit einem KMS Schlüssel entschlüsseln, dem Sie nicht vertrauen. Geben Sie den KMS Zielschlüssel an, mit dem die Daten erneut verschlüsselt werden. Der Parameter ist immer erforderlich. --destination-key-id In diesem Beispiel wird ein Schlüssel verwendetARN, Sie können jedoch jeden gültigen Schlüsselbezeichner verwenden. Fordern Sie die Klartextausgabe als Textwert an. Der Parameter weist an, nur den Wert des Felds aus der Ausgabe abzurufen. --query CLI Plaintext Der --output Parameter gibt die Ausgabe als Text zurück. Base64-dekodieren Sie den Klartext und speichern Sie ihn in einer Datei. Im folgenden Beispiel wird der Wert des Parameters (|) an das Base64-Hilfsprogramm übergeben, das ihn dekodiert. Plaintext Anschließend leitet er die dekodierte Ausgabe in die Datei um (>). ExamplePlaintext

Bevor Sie diesen Befehl ausführen, ersetzen Sie den Beispielschlüssel IDs durch gültige Schlüsselkennungen aus Ihrem AWS Konto.

aws kms re-encrypt \ --ciphertext-blob fileb://ExampleEncryptedFile \ --source-key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --destination-key-id 0987dcba-09fe-87dc-65ba-ab0987654321 \ --query CiphertextBlob \ --output text | base64 --decode > ExampleReEncryptedFile

Mit diesem Befehl wird keine Ausgabe zurückgegeben. Die Ausgabe des re-encrypt Befehls wird base64-dekodiert und in einer Datei gespeichert.

Weitere Informationen finden Sie unter ReEncrypt < https://docs.aws.amazon.com/kms/ latest/APIReference/API _ ReEncrypt .html in der AWS Key Management Service Reference. API

Beispiel 2: Um eine verschlüsselte Nachricht unter einem anderen symmetrischen KMS Schlüssel erneut zu verschlüsseln (Windows-Eingabeaufforderung).

Das folgende re-encrypt Befehlsbeispiel ist dasselbe wie das vorherige, außer dass es das certutil Hilfsprogramm zur Base64-Decodierung der Klartextdaten verwendet. Für dieses Verfahren sind zwei Befehle erforderlich, wie in den folgenden Beispielen gezeigt.

Bevor Sie diesen Befehl ausführen, ersetzen Sie die Beispielschlüssel-ID durch eine gültige Schlüssel-ID aus Ihrem AWS Konto.

aws kms re-encrypt ^ --ciphertext-blob fileb://ExampleEncryptedFile ^ --source-key-id 1234abcd-12ab-34cd-56ef-1234567890ab ^ --destination-key-id 0987dcba-09fe-87dc-65ba-ab0987654321 ^ --query CiphertextBlob ^ --output text > ExampleReEncryptedFile.base64

Verwenden Sie dann das certutil Hilfsprogramm

certutil -decode ExamplePlaintextFile.base64 ExamplePlaintextFile

Ausgabe:

Input Length = 18 Output Length = 12 CertUtil: -decode command completed successfully.

Weitere Informationen finden Sie unter ReEncrypt < https://docs.aws.amazon.com/kms/ latest/APIReference/API _ ReEncrypt .html in der AWS Key Management Service API Reference.

  • APIEinzelheiten finden Sie ReEncryptin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungretire-grant.

AWS CLI

Um einen Zuschuss für einen Kundenhauptschlüssel zurückzuziehen

Im folgenden retire-grant Beispiel wird ein Zuschuss aus einem KMS Schlüssel gelöscht.

Der folgende Beispielbefehl spezifiziert die key-id Parameter grant-id und. Der Wert des key-id Parameters muss der Schlüssel ARN des KMS Schlüssels sein.

aws kms retire-grant \ --grant-id 1234a2345b8a4e350500d432bccf8ecd6506710e1391880c4f7f7140160c9af3 \ --key-id arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

Mit diesem Befehl wird keine Ausgabe zurückgegeben. Verwenden Sie den list-grants Befehl, um zu bestätigen, dass der Zuschuss zurückgezogen wurde.

Weitere Informationen finden Sie im AWS Key Management Service Developer Guide unter Zurückziehen und Widerrufen von Zuschüssen.

Das folgende Codebeispiel zeigt die Verwendungrevoke-grant.

AWS CLI

Um eine Erteilung für einen Kundenhauptschlüssel zu widerrufen

Im folgenden revoke-grant Beispiel wird ein Zuschuss aus einem KMS Schlüssel gelöscht. Der folgende Beispielbefehl spezifiziert die key-id Parameter grant-id und. Der Wert des key-id Parameters kann die Schlüssel-ID oder der Schlüssel ARN des KMS Schlüssels sein.

aws kms revoke-grant \ --grant-id 1234a2345b8a4e350500d432bccf8ecd6506710e1391880c4f7f7140160c9af3 \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

Mit diesem Befehl wird keine Ausgabe zurückgegeben. Verwenden Sie den list-grants Befehl, um zu bestätigen, dass der Zuschuss widerrufen wurde.

Weitere Informationen finden Sie im AWS Key Management Service Developer Guide unter Zurückziehen und Widerrufen von Zuschüssen.

Das folgende Codebeispiel zeigt die Verwendungrotate-key-on-demand.

AWS CLI

So führen Sie die Rotation eines KMS Schlüssels bei Bedarf durch

Im folgenden rotate-key-on-demand Beispiel wird sofort die Rotation des Schlüsselmaterials für den angegebenen KMS Schlüssel initiiert.

aws kms rotate-key-on-demand \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

Ausgabe:

{ "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" }

Weitere Informationen finden Sie unter So führen Sie die Schlüsselrotation bei Bedarf durch im AWS Key Management Service Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungschedule-key-deletion.

AWS CLI

Um das Löschen eines vom Kunden verwalteten KMS Schlüssels zu planen.

Im folgenden schedule-key-deletion Beispiel wird geplant, dass der angegebene vom Kunden verwaltete KMS Schlüssel innerhalb von 15 Tagen gelöscht wird.

Der --key-id Parameter identifiziert den KMS Schlüssel. In diesem Beispiel wird ein ARN Schlüsselwert verwendet, Sie können jedoch entweder die Schlüssel-ID oder die ARN des Schlüssels verwenden. Der --pending-window-in-days Parameter gibt KMS die Länge der Wartezeit von 7 bis 30 Tagen an. Standardmäßig beträgt die Wartezeit 30 Tage. In diesem Beispiel wird der Wert 15 angegeben, der angibt, dass der KMS Schlüssel 15 Tage nach Abschluss des Befehls dauerhaft gelöscht werden AWS soll.

aws kms schedule-key-deletion \ --key-id arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab \ --pending-window-in-days 15

Die Antwort umfasst den SchlüsselARN, den Schlüsselstatus, die Wartezeit (PendingWindowInDays) und das Löschdatum in Unix-Zeit. Verwenden Sie die AWS KMS Konsole, um das Löschdatum in Ortszeit anzuzeigen. KMSSchlüssel im PendingDeletion Schlüsselstatus können nicht für kryptografische Operationen verwendet werden.

{ "KeyId": "arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab", "DeletionDate": "2022-06-18T23:43:51.272000+00:00", "KeyState": "PendingDeletion", "PendingWindowInDays": 15 }

Weitere Informationen finden Sie unter Löschen von Schlüsseln im AWS Key Management Service Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungsign.

AWS CLI

Beispiel 1: Um eine digitale Signatur für eine Nachricht zu generieren

Das folgende sign Beispiel generiert eine kryptografische Signatur für eine Kurznachricht. Die Ausgabe des Befehls enthält ein Base-64-codiertes Signature Feld, das Sie mithilfe des Befehls überprüfen können. verify

Sie müssen eine zu signierende Nachricht und einen Signierungsalgorithmus angeben, den Ihr asymmetrischer KMS Schlüssel unterstützt. Verwenden Sie den describe-key Befehl, um die Signaturalgorithmen für Ihren KMS Schlüssel abzurufen.

In AWS CLI 2.0 muss der Wert des message Parameters Base64-kodiert sein. Oder Sie können die Nachricht in einer Datei speichern und das fileb:// Präfix verwenden, das angibt, Binärdaten aus der Datei AWS CLI zu lesen.

Bevor Sie diesen Befehl ausführen, ersetzen Sie die Beispielschlüssel-ID durch eine gültige Schlüssel-ID aus Ihrem AWS Konto. Die Schlüssel-ID muss einen asymmetrischen KMS Schlüssel mit der Schlüsselverwendung SIGN _ VERIFY darstellen.

msg=(echo 'Hello World' | base64) aws kms sign \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --message fileb://UnsignedMessage \ --message-type RAW \ --signing-algorithm RSASSA_PKCS1_V1_5_SHA_256

Ausgabe:

{ "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "Signature": "ABCDEFhpyVYyTxbafE74ccSvEJLJr3zuoV1Hfymz4qv+/fxmxNLA7SE1SiF8lHw80fKZZ3bJ...", "SigningAlgorithm": "RSASSA_PKCS1_V1_5_SHA_256" }

Weitere Informationen zur Verwendung asymmetrischer KMS Schlüssel in AWS KMS finden Sie unter Asymmetrische Schlüssel in AWS KMS im AWS Key Management Service Developer Guide.

Beispiel 2: Um eine digitale Signatur in einer Datei zu speichern (Linux und) macOs

Das folgende sign Beispiel generiert eine kryptografische Signatur für eine Kurznachricht, die in einer lokalen Datei gespeichert ist. Der Befehl ruft auch die Signature Eigenschaft aus der Antwort ab, dekodiert sie mit Base64 und speichert sie in der Datei. ExampleSignature Sie können die Signaturdatei in einem verify Befehl verwenden, der die Signatur überprüft.

Für den sign Befehl sind eine Base64-codierte Nachricht und ein Signaturalgorithmus erforderlich, den Ihr asymmetrischer Schlüssel unterstützt. KMS Verwenden Sie den Befehl, um die Signaturalgorithmen abzurufen, die Ihr KMS Schlüssel unterstützt. describe-key

Bevor Sie diesen Befehl ausführen, ersetzen Sie die Beispielschlüssel-ID durch eine gültige Schlüssel-ID aus Ihrem AWS Konto. Die Schlüssel-ID muss einen asymmetrischen KMS Schlüssel mit der Schlüsselverwendung SIGN _ VERIFY darstellen.

echo 'hello world' | base64 > EncodedMessage aws kms sign \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --message fileb://EncodedMessage \ --message-type RAW \ --signing-algorithm RSASSA_PKCS1_V1_5_SHA_256 \ --output text \ --query Signature | base64 --decode > ExampleSignature

Mit diesem Befehl wird keine Ausgabe zurückgegeben. In diesem Beispiel wird die Signature Eigenschaft der Ausgabe extrahiert und in einer Datei gespeichert.

Weitere Informationen zur Verwendung asymmetrischer KMS Schlüssel in AWS KMS finden Sie unter Asymmetrische Schlüssel in AWS KMS im AWS Key Management Service Developer Guide.

  • APIEinzelheiten finden Sie unter AWS CLI Befehlsreferenz für die Anmeldung.

Das folgende Codebeispiel zeigt die Verwendungtag-resource.

AWS CLI

Um einem KMS Schlüssel ein Tag hinzuzufügen

Das folgende tag-resource Beispiel fügt einem vom Kunden verwalteten KMS Schlüssel "Dept":"IT" Tags hinzu "Purpose":"Test" und fügt ihm Tags hinzu. Sie können solche Tags verwenden, um KMS Schlüssel zu beschriften und KMS Schlüsselkategorien für Berechtigungen und Prüfungen zu erstellen.

Verwenden Sie den key-id Parameter, um den KMS Schlüssel anzugeben. In diesem Beispiel wird ein Schlüssel-ID-Wert verwendet, aber Sie können ARN in diesem Befehl auch eine Schlüssel-ID oder einen Schlüssel verwenden.

aws kms tag-resource \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --tags TagKey='Purpose',TagValue='Test' TagKey='Dept',TagValue='IT'

Mit diesem Befehl wird keine Ausgabe zurückgegeben. Verwenden Sie den list-resource-tags Befehl, um die Tags eines AWS KMS KMS Schlüssels anzuzeigen.

Weitere Informationen zur Verwendung von Tags finden Sie unter Tagging Keys im AWS Key Management Service Developer Guide. AWS KMS

  • APIEinzelheiten finden Sie TagResourcein der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendunguntag-resource.

AWS CLI

Um ein Tag aus einem KMS Schlüssel zu löschen

Im folgenden untag-resource Beispiel wird das Tag mit dem "Purpose" Schlüssel aus einem vom Kunden verwalteten KMS Schlüssel gelöscht.

Verwenden Sie den key-id Parameter, um den KMS Schlüssel anzugeben. In diesem Beispiel wird ein Schlüssel-ID-Wert verwendet, aber Sie können ARN in diesem Befehl auch eine Schlüssel-ID oder einen Schlüssel verwenden. Bevor Sie diesen Befehl ausführen, ersetzen Sie die Beispielschlüssel-ID durch eine gültige Schlüssel-ID aus Ihrem AWS Konto.

aws kms untag-resource \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --tag-key 'Purpose'

Mit diesem Befehl wird keine Ausgabe zurückgegeben. Verwenden Sie den list-resource-tags Befehl, um die Tags auf einem AWS KMS KMS Schlüssel anzuzeigen.

Weitere Informationen zur Verwendung von Tags finden Sie unter Tagging Keys im AWS Key Management Service Developer Guide. AWS KMS

  • APIEinzelheiten finden Sie UntagResourcein der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungupdate-alias.

AWS CLI

Um einen Alias einem anderen KMS Schlüssel zuzuordnen

Im folgenden update-alias Beispiel wird der Alias alias/test-key einem anderen KMS Schlüssel zugeordnet.

Der --alias-name Parameter gibt den Alias an. Der Wert des Aliasnamens muss mit alias/ .beginnen. Der --target-key-id Parameter gibt den KMS Schlüssel an, der dem Alias zugeordnet werden soll. Sie müssen den aktuellen KMS Schlüssel für den Alias nicht angeben.

aws kms update-alias \ --alias-name alias/test-key \ --target-key-id 1234abcd-12ab-34cd-56ef-1234567890ab

Mit diesem Befehl wird keine Ausgabe zurückgegeben. Verwenden Sie den list-aliases Befehl, um den Alias zu finden.

Weitere Informationen finden Sie unter Aliase aktualisieren im AWS Key Management Service Developer Guide.

  • APIEinzelheiten finden Sie UpdateAliasin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungupdate-custom-key-store.

AWS CLI

Beispiel 1: Um den Anzeigenamen eines benutzerdefinierten Schlüsselspeichers zu bearbeiten

Im folgenden update-custom-key-store Beispiel wird der Name des benutzerdefinierten Schlüsselspeichers geändert. Dieses Beispiel funktioniert für einen AWS HSM Cloud-Schlüsselspeicher oder einen externen Schlüsselspeicher.

Verwenden Sie dencustom-key-store-id, um den Schlüsselspeicher zu identifizieren. Verwenden Sie den new-custom-key-store-name Parameter, um den neuen Anzeigenamen anzugeben.

Um den Anzeigenamen eines AWS HSM Cloud-Schlüsselspeichers zu aktualisieren, müssen Sie zuerst die Verbindung zum Schlüsselspeicher trennen, z. B. mit dem disconnect-custom-key-store Befehl. Sie können den Anzeigenamen eines externen Schlüsselspeichers aktualisieren, während er verbunden oder getrennt ist. Verwenden Sie den describe-custom-key-store Befehl, um den Verbindungsstatus Ihres benutzerdefinierten Schlüsselspeichers zu ermitteln.

aws kms update-custom-key-store \ --custom-key-store-id cks-1234567890abcdef0 \ --new-custom-key-store-name ExampleKeyStore

Dieser Befehl gibt keine Daten zurück. Verwenden Sie einen Befehl, um zu überprüfen, ob der describe-custom-key-stores Befehl funktioniert hat.

Weitere Informationen zum Aktualisieren eines AWS HSM Cloud-Schlüsselspeichers finden Sie unter Bearbeiten von AWS HSM Cloud-Schlüsselspeichereinstellungen im AWS Key Management Service Developer Guide.

Weitere Informationen zum Aktualisieren eines externen Schlüsselspeichers finden Sie unter Bearbeiten der Eigenschaften eines externen Schlüsselspeichers im AWS Key Management Service Developer Guide.

Beispiel 2: So bearbeiten Sie das kmsuser-Passwort eines AWS Cloud-Schlüsselspeichers HSM

Im folgenden update-custom-key-store Beispiel wird der Wert des kmsuser Kennworts auf das aktuelle Passwort für den kmsuser HSM Cloud-Cluster aktualisiert, der dem angegebenen Schlüsselspeicher zugeordnet ist. Dieser Befehl ändert das kmsuser Passwort im Cluster nicht. Es gibt nur AWS KMS das aktuelle Passwort an. Wenn KMS das aktuelle kmsuser Passwort nicht vorhanden ist, kann es keine Verbindung zum AWS Cloud HSM Key Store herstellen.

NOTE: Bevor Sie einen AWS Cloud HSM Key Store aktualisieren, müssen Sie die Verbindung trennen. Verwenden Sie den disconnect-custom-key-store-Befehl. Nachdem der Befehl abgeschlossen ist, können Sie den AWS HSM Cloud-Schlüsselspeicher erneut verbinden. Verwenden Sie den connect-custom-key-store-Befehl.

aws kms update-custom-key-store \ --custom-key-store-id cks-1234567890abcdef0 \ --key-store-password ExamplePassword

Dieser Befehl gibt keine Ausgabe zurück. Verwenden Sie einen describe-custom-key-stores Befehl, um zu überprüfen, ob die Änderung wirksam war.

Weitere Informationen zum Aktualisieren eines AWS HSM Cloud-Schlüsselspeichers finden Sie unter Bearbeiten von AWS HSM Cloud-Schlüsselspeicher-Einstellungen im AWS Key Management Service Developer Guide.

Beispiel 3: So bearbeiten Sie den AWS HSM Cloud-Cluster eines AWS HSM Cloud-Schlüsselspeichers

Im folgenden Beispiel wird der AWS HSM Cloud-Cluster, der einem AWS HSM Cloud-Schlüsselspeicher zugeordnet ist, in einen verwandten Cluster geändert, z. B. in ein anderes Backup desselben Clusters.

NOTE: Bevor Sie einen AWS HSM Cloud-Schlüsselspeicher aktualisieren, müssen Sie die Verbindung trennen. Verwenden Sie den disconnect-custom-key-store-Befehl. Nachdem der Befehl abgeschlossen ist, können Sie den AWS HSM Cloud-Schlüsselspeicher erneut verbinden. Verwenden Sie den connect-custom-key-store-Befehl.

aws kms update-custom-key-store \ --custom-key-store-id cks-1234567890abcdef0 \ --cloud-hsm-cluster-id cluster-1a23b4cdefg

Dieser Befehl gibt keine Ausgabe zurück. Verwenden Sie einen describe-custom-key-stores Befehl, um zu überprüfen, ob die Änderung wirksam war.

Weitere Informationen zum Aktualisieren eines AWS HSM Cloud-Schlüsselspeichers finden Sie unter Bearbeiten von AWS HSM Cloud-Schlüsselspeicher-Einstellungen im AWS Key Management Service Developer Guide.

Beispiel 4: So bearbeiten Sie die Anmeldeinformationen für die Proxyauthentifizierung eines externen Schlüsselspeichers

Im folgenden Beispiel werden die Anmeldeinformationen für die Proxyauthentifizierung für Ihren externen Schlüsselspeicher aktualisiert. Sie müssen raw-secret-access-key sowohl den als auch den angebenaccess-key-id, auch wenn Sie nur einen der Werte ändern. Sie können diese Funktion verwenden, um ungültige Anmeldeinformationen zu korrigieren oder um die Anmeldeinformationen zu ändern, wenn der externe Schlüsselspeicher-Proxy sie wechselt.

Richten Sie die Anmeldeinformationen für die Proxyauthentifizierung in AWS KMS Ihrem externen Schlüsselspeicher ein. Verwenden Sie dann diesen Befehl, um die Anmeldeinformationen für bereitzustellen. AWS KMS AWS KMSverwendet diese Anmeldeinformationen, um seine Anfragen an Ihren externen Schlüsselspeicher-Proxy zu signieren.

Sie können die Anmeldeinformationen für die Proxyauthentifizierung aktualisieren, während der externe Schlüsselspeicher verbunden oder getrennt ist. Verwenden Sie den Befehl, um den Verbindungsstatus Ihres benutzerdefinierten Schlüsselspeichers zu ermitteln. describe-custom-key-store

aws kms update-custom-key-store \ --custom-key-store-id cks-1234567890abcdef0 \ --xks-proxy-authentication-credential "AccessKeyId=ABCDE12345670EXAMPLE, RawSecretAccessKey=DXjSUawnel2fr6SKC7G25CNxTyWKE5PF9XX6H/u9pSo="

Dieser Befehl gibt keine Ausgabe zurück. Verwenden Sie einen describe-custom-key-stores Befehl, um zu überprüfen, ob die Änderung wirksam war.

Weitere Informationen zum Aktualisieren eines externen Schlüsselspeichers finden Sie unter Bearbeiten der Eigenschaften eines externen Schlüsselspeichers im AWS Key Management Service Developer Guide.

Beispiel 5: So bearbeiten Sie die Proxykonnektivität eines externen Schlüsselspeichers

Im folgenden Beispiel wird die Option für die Proxykonnektivität des externen Schlüsselspeichers von öffentlicher Endpunktkonnektivität zu VPC Endpunktdienstkonnektivität geändert. Sie müssen nicht nur den xks-proxy-connectivity Wert ändern, sondern auch den xks-proxy-uri-endpoint Wert so ändern, dass er den privaten DNS Namen wiedergibt, der dem VPC Endpunktdienst zugeordnet ist. Sie müssen auch einen xks-proxy-vpc-endpoint-service-name Wert hinzufügen.

NOTE: Bevor Sie die Proxykonnektivität eines externen Speichers aktualisieren, müssen Sie die Verbindung trennen. Verwenden Sie den disconnect-custom-key-store-Befehl. Nach Abschluss des Befehls können Sie den externen Schlüsselspeicher mithilfe des connect-custom-key-store Befehls erneut verbinden.

aws kms update-custom-key-store \ --custom-key-store-id cks-1234567890abcdef0 \ --xks-proxy-connectivity VPC_ENDPOINT_SERVICE \ --xks-proxy-uri-endpoint "https://myproxy-private.xks.example.com" \ --xks-proxy-vpc-endpoint-service-name "com.amazonaws.vpce.us-east-1.vpce-svc-example"

Dieser Befehl gibt keine Ausgabe zurück. Verwenden Sie einen describe-custom-key-stores Befehl, um zu überprüfen, ob die Änderung wirksam war.

Weitere Informationen zum Aktualisieren eines externen Schlüsselspeichers finden Sie unter Bearbeiten der Eigenschaften eines externen Schlüsselspeichers im AWS Key Management Service Developer Guide.

Das folgende Codebeispiel zeigt die Verwendungupdate-key-description.

AWS CLI

Beispiel 1: Um einem vom Kunden verwalteten KMS Schlüssel eine Beschreibung hinzuzufügen oder zu ändern

Im folgenden update-key-description Beispiel wird einem vom Kunden verwalteten KMS Schlüssel eine Beschreibung hinzugefügt. Sie können denselben Befehl verwenden, um eine bestehende Beschreibung zu ändern.

Der --key-id Parameter identifiziert den KMS Schlüssel im Befehl. In diesem Beispiel wird ein ARN Schlüsselwert verwendet, Sie können jedoch entweder die Schlüssel-ID oder den Schlüssel ARN des Schlüssels verwenden. KMS Der --description Parameter gibt die neue Beschreibung an. Der Wert dieses Parameters ersetzt die aktuelle Beschreibung des KMS Schlüssels, falls vorhanden.

aws kms update-key-description \ --key-id arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab \ --description "IT Department test key"

Mit diesem Befehl wird keine Ausgabe zurückgegeben. Verwenden Sie den describe-key Befehl, um die Beschreibung eines KMS Schlüssels anzuzeigen.

Weitere Informationen finden Sie UpdateKeyDescriptionin der APIReferenz AWS zum Key Management Service.

Beispiel 2: So löschen Sie die Beschreibung eines vom Kunden verwalteten KMS Schlüssels

Im folgenden update-key-description Beispiel wird die Beschreibung eines vom Kunden verwalteten KMS Schlüssels gelöscht.

Der --key-id Parameter identifiziert den KMS Schlüssel im Befehl. In diesem Beispiel wird ein Schlüssel-ID-Wert verwendet, Sie können jedoch entweder die Schlüssel-ID oder den Schlüssel ARN des Schlüssels verwenden. KMS Der --description Parameter mit einem leeren Zeichenfolgenwert („) löscht die vorhandene Beschreibung.

aws kms update-key-description \ --key-id 0987dcba-09fe-87dc-65ba-ab0987654321 \ --description ''

Mit diesem Befehl wird keine Ausgabe zurückgegeben. Um die Beschreibung eines KMS Schlüssels anzuzeigen, verwenden Sie den Befehl describe-key.

Weitere Informationen finden Sie UpdateKeyDescriptionin der Referenz zum AWS Key Management Service API.

Das folgende Codebeispiel zeigt die Verwendungverify.

AWS CLI

Um eine digitale Signatur zu verifizieren

Im folgenden verify Beispiel wird eine kryptografische Signatur für eine kurze, Base64-kodierte Nachricht überprüft. Die Schlüssel-ID, die Nachricht, der Nachrichtentyp und der Signaturalgorithmus müssen dieselben sein, die zum Signieren der Nachricht verwendet wurden. Die von Ihnen angegebene Signatur kann nicht Base64-codiert sein. Hilfe zur Dekodierung der Signatur, die der sign Befehl zurückgibt, finden Sie in den Befehlsbeispielen. sign

Die Ausgabe des Befehls enthält ein boolesches SignatureValid Feld, das angibt, dass die Signatur verifiziert wurde. Wenn die Signaturüberprüfung fehlschlägt, schlägt auch der verify Befehl fehl.

Bevor Sie diesen Befehl ausführen, ersetzen Sie die Beispielschlüssel-ID durch eine gültige Schlüssel-ID aus Ihrem AWS Konto.

aws kms verify \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --message fileb://EncodedMessage \ --message-type RAW \ --signing-algorithm RSASSA_PKCS1_V1_5_SHA_256 \ --signature fileb://ExampleSignature

Ausgabe:

{ "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "SignatureValid": true, "SigningAlgorithm": "RSASSA_PKCS1_V1_5_SHA_256" }

Weitere Informationen zur Verwendung asymmetrischer KMS Schlüssel finden Sie unter Verwenden asymmetrischer Schlüssel im AWS Key Management Service Developer Guide. AWS KMS

  • APIEinzelheiten finden Sie unter Überprüfen in der AWS CLI Befehlsreferenz.