Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Verwenden Sie es GenerateDataKey mit einem AWS SDK oder CLI

Fokusmodus
Verwenden Sie es GenerateDataKey mit einem AWS SDK oder CLI - AWS Key Management Service

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.

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.

Die folgenden Codebeispiele zeigen, wie man es benutztGenerateDataKey.

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

Python
SDKfür Python (Boto3)
Anmerkung

Es gibt noch mehr dazu. GitHub Sie sehen das vollständige Beispiel und erfahren, wie Sie das AWS -Code-Beispiel-Repository einrichten und ausführen.

class KeyManager: def __init__(self, kms_client): self.kms_client = kms_client self.created_keys = [] @classmethod def from_client(cls) -> "KeyManager": """ Creates a KeyManager instance with a default KMS client. :return: An instance of KeyManager initialized with the default KMS client. """ kms_client = boto3.client("kms") return cls(kms_client) def generate_data_key(self, key_id): """ Generates a symmetric data key that can be used for client-side encryption. """ answer = input( f"Do you want to generate a symmetric data key from key {key_id} (y/n)? " ) if answer.lower() == "y": try: data_key = self.kms_client.generate_data_key( KeyId=key_id, KeySpec="AES_256" ) except ClientError as err: logger.error( "Couldn't generate a data key for key %s. Here's why: %s", key_id, err.response["Error"]["Message"], ) else: pprint(data_key)
  • APIEinzelheiten finden Sie unter GenerateDataKeyPython (Boto3) API -Referenz.AWS SDK

Rust
SDKfür Rust
Anmerkung

Es gibt noch mehr dazu GitHub. Sie sehen das vollständige Beispiel und erfahren, wie Sie das AWS -Code-Beispiel-Repository einrichten und ausführen.

async fn make_key(client: &Client, key: &str) -> Result<(), Error> { let resp = client .generate_data_key() .key_id(key) .key_spec(DataKeySpec::Aes256) .send() .await?; // Did we get an encrypted blob? let blob = resp.ciphertext_blob.expect("Could not get encrypted text"); let bytes = blob.as_ref(); let s = base64::encode(bytes); println!(); println!("Data key:"); println!("{}", s); Ok(()) }
  • APIEinzelheiten finden Sie GenerateDataKeyin der AWS SDKAPIRust-Referenz.

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.

Eine vollständige Liste der AWS SDK Entwicklerhandbücher und Codebeispiele finden Sie unterVerwenden Sie diesen Dienst mit einem AWS SDK. Dieses Thema enthält auch Informationen zu den ersten Schritten und Details zu früheren SDK Versionen.

DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2024, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.