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.
Arbeiten mit Schlüsseln
Die Beispiele in diesem Thema nutzen die AWS KMS-API zum Erstellen, Anzeigen, Aktivieren und Deaktivieren von AWS KMS AWS KMS keys und zum Generieren von Datenschlüsseln.
Erstellen eines KMS-Schlüssels
Verwenden Sie die -CreateKeyOperation, um einen AWS KMS key (KMS-Schlüssel) zu erstellen. In den Beispielen in diesem Abschnitt wird ein KMS-Schlüssel mit symmetrischer Verschlüsselung erstellt. Der in diesen Beispielen verwendete Description
-Parameter ist optional.
In Sprachen, für die ein Client-Objekt erforderlich ist, verwenden diese Beispiele das AWS KMS-Client-Objekt, das Sie in Erstellen eines Clients erstellt haben.
Hilfestellung beim Erstellen von KMS-Schlüsseln in der AWS KMS-Konsole finden Sie unter Erstellen von Schlüsseln.
- Java
-
Weitere Informationen finden Sie in der Beschreibung der createKey-Methode in der AWS SDK for Java-API-Referenz.
// Create a KMS key
//
String desc = "Key for protecting critical data";
CreateKeyRequest req = new CreateKeyRequest().withDescription(desc);
CreateKeyResult result = kmsClient.createKey(req);
- C#
-
Weitere Informationen finden Sie in der Beschreibung der CreateKey encrypt-Methode im AWS SDK for .NET.
// Create a KMS key
//
String desc = "Key for protecting critical data";
CreateKeyRequest req = new CreateKeyRequest()
{
Description = desc
};
CreateKeyResponse response = kmsClient.CreateKey(req);
- Python
-
Weitere Informationen finden Sie in der Beschreibung der create_key
encrypt-Methode im AWS SDK for Python (Boto3).
# Create a KMS key
desc = 'Key for protecting critical data'
response = kms_client.create_key(
Description=desc
)
- Ruby
-
Weitere Informationen finden Sie unter der create_key
-Instance-Methode encrypt im AWS SDK for Ruby.
# Create a KMS key
desc = 'Key for protecting critical data'
response = kmsClient.create_key({
description: desc
})
- PHP
-
Weitere Informationen finden Sie in der Beschreibung der CreateKeyencrypt-Methode im AWS SDK for PHP.
// Create a KMS key
//
$desc = "Key for protecting critical data";
$result = $KmsClient->createKey([
'Description' => $desc
]);
- Node.js
-
Weitere Informationen finden Sie in der createKey-Eigenschaft im AWS -SDK für JavaScript in Node.js.
// Create a KMS key
//
const Description = 'Key for protecting critical data';
kmsClient.createKey({ Description }, (err, data) => {
...
});
- PowerShell
Um einen KMS-Schlüssel in zu erstellen PowerShell, verwenden Sie das Cmdlet New-KmsKey.
# Create a KMS key
$desc = 'Key for protecting critical data'
New-KmsKey -Description $desc
Um die AWS KMS PowerShell Cmdlets zu verwenden, installieren Sie das AWS.Tools.KeyManagementService-Modul. Weitere Informationen finden Sie im AWS Tools for Windows PowerShell-Benutzerhandbuch.
Generieren eines Datenschlüssels
Um einen symmetrischen Datenschlüssel zu generieren, verwenden Sie die -GenerateDataKeyOperation. Diese Operation gibt einen Klartext-Datenschlüssel und eine Kopie dieses Datenschlüssels zurück, der mit dem von Ihnen angegebenen KMS-Schlüssel mit symmetrischer Verschlüsselung verschlüsselt wurde. Sie müssen entweder eine KeySpec
oder NumberOfBytes
(aber nicht beide) in jedem Befehl angeben.
Hilfe zur Verwendung des Datenschlüssels für die Datenverschlüsselung finden Sie im AWS Encryption SDK. Sie können den Datenschlüssel auch in HMAC-Operationen verwenden.
In Sprachen, für die ein Client-Objekt erforderlich ist, verwenden diese Beispiele das AWS KMS-Client-Objekt, das Sie in Erstellen eines Clients erstellt haben.
- Java
-
Weitere Informationen finden Sie in der -generateDataKey Methode in der APIAWS SDK for Java-Referenz zu .
// Generate a data key
//
// Replace the following example key ARN with any valid key identfier
String keyId = "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab";
GenerateDataKeyRequest dataKeyRequest = new GenerateDataKeyRequest();
dataKeyRequest.setKeyId(keyId);
dataKeyRequest.setKeySpec("AES_256");
GenerateDataKeyResult dataKeyResult = kmsClient.generateDataKey(dataKeyRequest);
ByteBuffer plaintextKey = dataKeyResult.getPlaintext();
ByteBuffer encryptedKey = dataKeyResult.getCiphertextBlob();
- C#
-
Weitere Informationen finden Sie in der Beschreibung der GenerateDataKey encrypt-Methode im AWS SDK for .NET.
// Generate a data key
//
// Replace the following example key ARN with any valid key identfier
String keyId = "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab";
GenerateDataKeyRequest dataKeyRequest = new GenerateDataKeyRequest()
{
KeyId = keyId,
KeySpec = DataKeySpec.AES_256
};
GenerateDataKeyResponse dataKeyResponse = kmsClient.GenerateDataKey(dataKeyRequest);
MemoryStream plaintextKey = dataKeyResponse.Plaintext;
MemoryStream encryptedKey = dataKeyResponse.CiphertextBlob;
- Python
-
Weitere Informationen finden Sie in der Beschreibung der generate_data_key
encrypt-Methode im AWS SDK for Python (Boto3).
# Generate a data key
# Replace the following example key ARN with any valid key identfier
key_id = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab'
response = kms_client.generate_data_key(
KeyId=key_id,
KeySpec='AES_256'
)
plaintext_key = response['Plaintext']
encrypted_key = response['CiphertextBlob']
- Ruby
-
Weitere Informationen finden Sie unter der generate_data_key
-Instance-Methode encrypt im AWS SDK for Ruby.
# Generate a data key
# Replace the following example key ARN with any valid key identfier
key_id = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab'
response = kmsClient.generate_data_key({
key_id: key_id,
key_spec: 'AES_256'
})
plaintext_key = response.plaintext
encrypted_key = response.ciphertext_blob
- PHP
-
Weitere Informationen finden Sie in der Beschreibung der GenerateDataKeyencrypt-Methode im AWS SDK for PHP.
// Generate a data key
//
// Replace the following example key ARN with any valid key identfier
$keyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab';
$keySpec = 'AES_256';
$result = $KmsClient->generateDataKey([
'KeyId' => $keyId,
'KeySpec' => $keySpec,
]);
$plaintextKey = $result['Plaintext'];
$encryptedKey = $result['CiphertextBlob'];
- Node.js
Weitere Informationen finden Sie unter der -generateDataKey Eigenschaft im AWS -SDK für JavaScript in Node.js .
// Generate a data key
//
// Replace the following example key ARN with any valid key identfier
const KeyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab';
const KeySpec = 'AES_256';
kmsClient.generateDataKey({ KeyId, KeySpec }, (err, data) => {
if (err) console.log(err, err.stack);
else {
const { CiphertextBlob, Plaintext } = data;
...
}
});
- PowerShell
Verwenden Sie das New-KMS-DataKeyCmdlet, um einen symmetrischen Datenschlüssel zu generieren.
In der Ausgabe sind der Klartextschlüssel (in der -Plaintext
Eigenschaft) und der verschlüsselte Schlüssel (in der -CiphertextBlob
Eigenschaft) MemoryStream Objekte. Um sie in Zeichenfolgen zu konvertieren, verwenden Sie die Methoden der MemoryStream
Klasse oder ein Cmdlet oder eine Funktion, die MemoryStream
Objekte in Zeichenfolgen konvertiert, z. B. die Funktionen ConvertFrom-MemoryStream und ConvertFrom-Base64 im Modul Konvertieren.
# Generate a data key
# Replace the following example key ARN with any valid key identfier
$keyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab'
$keySpec = 'AES_256'
$response = New-KmsDataKey -KeyId $keyId -KeySpec $keySpec
$plaintextKey = $response.Plaintext
$encryptedKey = $response.CiphertextBlob
Um die AWS KMS PowerShell Cmdlets zu verwenden, installieren Sie das AWS.Tools.KeyManagementService-Modul. Weitere Informationen finden Sie im AWS Tools for Windows PowerShell-Benutzerhandbuch.
Anzeigen eines AWS KMS key
Um detaillierte Informationen zu einem AWS KMS key, einschließlich des KMS-Schlüssel-ARN und des Schlüsselstatus, zu erhalten, verwenden Sie die -DescribeKeyOperation.
Mit DescribeKey
können keine Aliasnamen abgerufen werden. Um Aliase abzurufen, verwenden Sie die -ListAliasesOperation. Beispiele finden Sie unter Arbeiten mit Aliasen.
In Sprachen, für die ein Client-Objekt erforderlich ist, verwenden diese Beispiele das AWS KMS-Client-Objekt, das Sie in Erstellen eines Clients erstellt haben.
Hilfestellung beim Anzeigen von KMS-Schlüsseln in der AWS KMS-Konsole finden Sie unter Anzeigen von Schlüsseln.
- Java
-
Weitere Informationen finden Sie in der Beschreibung der describeKey-Methode in der AWS SDK for Java-API-Referenz.
// Describe a KMS key
//
// Replace the following example key ARN with any valid key identfier
String keyId = "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab";
DescribeKeyRequest req = new DescribeKeyRequest().withKeyId(keyId);
DescribeKeyResult result = kmsClient.describeKey(req);
- C#
-
Weitere Informationen finden Sie in der Beschreibung der DescribeKey encrypt-Methode im AWS SDK for .NET.
// Describe a KMS key
//
// Replace the following example key ARN with any valid key identfier
String keyId = "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab";
DescribeKeyRequest describeKeyRequest = new DescribeKeyRequest()
{
KeyId = keyId
};
DescribeKeyResponse describeKeyResponse = kmsClient.DescribeKey(describeKeyRequest);
- Python
-
Weitere Informationen finden Sie in der Beschreibung der describe_key
encrypt-Methode im AWS SDK for Python (Boto3).
# Describe a KMS key
# Replace the following example key ARN with any valid key identfier
key_id = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab'
response = kms_client.describe_key(
KeyId=key_id
)
- Ruby
-
Weitere Informationen finden Sie unter der describe_key
-Instance-Methode encrypt im AWS SDK for Ruby.
# Describe a KMS key
# Replace the following example key ARN with any valid key identfier
key_id = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab'
response = kmsClient.describe_key({
key_id: key_id
})
- PHP
-
Weitere Informationen finden Sie in der Beschreibung der DescribeKeyencrypt-Methode im AWS SDK for PHP.
// Describe a KMS key
//
// Replace the following example key ARN with any valid key identfier
$keyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab';
$result = $KmsClient->describeKey([
'KeyId' => $keyId,
]);
- Node.js
Weitere Informationen finden Sie in der describeKey-Eigenschaft im AWS -SDK für JavaScript in Node.js.
// Describe a KMS key
//
// Replace the following example key ARN with any valid key identfier
const KeyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab';
kmsClient.describeKey({ KeyId }, (err, data) => {
...
});
- PowerShell
Um detaillierte Informationen zu einem KMS-Schlüssel zu erhalten, verwenden Sie das Get---KmsKeyCmdlet.
# Describe a KMS key
# Replace the following example key ARN with any valid key identfier
$keyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab'
Get-KmsKey -KeyId $keyId
Um die AWS KMS PowerShell Cmdlets zu verwenden, installieren Sie das AWS.Tools.KeyManagementService-Modul. Weitere Informationen finden Sie im AWS Tools for Windows PowerShell-Benutzerhandbuch.
Abruf von Schlüssel-IDs und Schlüssel-ARNs von KMS-Schlüsseln
Um die Schlüssel-IDs und Schlüssel-ARNs des abzurufenAWS KMS keys, verwenden Sie die -ListKeysOperation. In diesen Beispielen wird der optionale Limit
-Parameter verwendet, der die maximale Anzahl von KMS-Schlüsseln festlegt, die bei jedem Aufruf zurückgegeben werden. Informationen zur Identifizierung eines KMS-Schlüssels in einer AWS KMS-Operation finden Sie unter Schlüsselkennungen () KeyId.
In Sprachen, für die ein Client-Objekt erforderlich ist, verwenden diese Beispiele das AWS KMS-Client-Objekt, das Sie in Erstellen eines Clients erstellt haben.
Hilfestellung beim Suchen von Schlüssel-IDs und Schlüssel-ARNs in der AWS KMS-Konsole finden Sie unter Finden der Schlüssel-ID und des Schlüssel-ARN.
- Java
-
Weitere Informationen finden Sie in der Beschreibung der listKeys-Methode in der AWS SDK for Java-API-Referenz.
// List KMS keys in this account
//
Integer limit = 10;
ListKeysRequest req = new ListKeysRequest().withLimit(limit);
ListKeysResult result = kmsClient.listKeys(req);
- C#
-
Weitere Informationen finden Sie in der Beschreibung der ListKeys encrypt-Methode im AWS SDK for .NET.
// List KMS keys in this account
//
int limit = 10;
ListKeysRequest listKeysRequest = new ListKeysRequest()
{
Limit = limit
};
ListKeysResponse listKeysResponse = kmsClient.ListKeys(listKeysRequest);
- Python
-
Weitere Informationen finden Sie in der Beschreibung der list_keys
encrypt-Methode im AWS SDK for Python (Boto3).
# List KMS keys in this account
response = kms_client.list_keys(
Limit=10
)
- Ruby
-
Weitere Informationen finden Sie unter der list_keys
-Instance-Methode encrypt im AWS SDK for Ruby.
# List KMS keys in this account
response = kmsClient.list_keys({
limit: 10
})
- PHP
-
Weitere Informationen finden Sie in der Beschreibung der ListKeys encrypt-Methode im AWS SDK for PHP.
// List KMS keys in this account
//
$limit = 10;
$result = $KmsClient->listKeys([
'Limit' => $limit,
]);
- Node.js
Weitere Informationen finden Sie in der listKeys-Eigenschaft im AWS -SDK für JavaScript in Node.js.
// List KMS keys in this account
//
const Limit = 10;
kmsClient.listKeys({ Limit }, (err, data) => {
...
});
- PowerShell
Um die Schlüssel-ID und den Schlüssel-ARN aller KMS-Schlüssel im Konto und in der Region abzurufen, verwenden Sie das Get--KmsKeyList-Cmdlet.
Um die maximale Anzahl der Ausgabeobjekte zu begrenzen, verwendet dieses Beispiel das Select-Object-cmdlet anstelle des Limit
-Parameters, der in Listen-cmdlets veraltet ist. Hilfe zum Paginieren der Ausgabe in AWS Tools for PowerShell finden Sie unter Ausgabepaginierung mit AWS Tools for PowerShell.
# List KMS keys in this account
$limit = 10
Get-KmsKeyList | Select-Object -First $limit
Um die AWS KMS PowerShell Cmdlets zu verwenden, installieren Sie das AWS.Tools.KeyManagementService-Modul. Weitere Informationen finden Sie im AWS Tools for Windows PowerShell-Benutzerhandbuch.
Aktivieren von AWS KMS keys
Um eine deaktivierte zu aktivierenAWS KMS key, verwenden Sie die -EnableKeyOperation.
In Sprachen, für die ein Client-Objekt erforderlich ist, verwenden diese Beispiele das AWS KMS-Client-Objekt, das Sie in Erstellen eines Clients erstellt haben.
Hilfestellung beim Aktivieren und Deaktivieren von KMS-Schlüssel in der AWS KMS-Konsole finden Sie unter Aktivieren und Deaktivieren von Schlüsseln.
- Java
-
Weitere Informationen zur Java-Implementierung finden Sie in der Beschreibung der enableKey-Methode in der AWS SDK for Java-API-Referenz.
// Enable a KMS key
//
// Replace the following example key ARN with a valid key ID or key ARN
String keyId = "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab";
EnableKeyRequest req = new EnableKeyRequest().withKeyId(keyId);
kmsClient.enableKey(req);
- C#
-
Weitere Informationen finden Sie in der Beschreibung der EnableKey encrypt-Methode im AWS SDK for .NET.
// Enable a KMS key
//
// Replace the following example key ARN with a valid key ID or key ARN
String keyId = "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab";
EnableKeyRequest enableKeyRequest = new EnableKeyRequest()
{
KeyId = keyId
};
kmsClient.EnableKey(enableKeyRequest);
- Python
-
Weitere Informationen finden Sie in der Beschreibung der enable_key
encrypt-Methode im AWS SDK for Python (Boto3).
# Enable a KMS key
# Replace the following example key ARN with a valid key ID or key ARN
key_id = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab'
response = kms_client.enable_key(
KeyId=key_id
)
- Ruby
-
Weitere Informationen finden Sie unter der enable_key
-Instance-Methode encrypt im AWS SDK for Ruby.
# Enable a KMS key
# Replace the following example key ARN with a valid key ID or key ARN
key_id = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab'
response = kmsClient.enable_key({
key_id: key_id
})
- PHP
-
Weitere Informationen finden Sie in der Beschreibung der EnableKeyencrypt-Methode im AWS SDK for PHP.
// Enable a KMS key
//
// Replace the following example key ARN with a valid key ID or key ARN
$keyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab';
$result = $KmsClient->enableKey([
'KeyId' => $keyId,
]);
- Node.js
Weitere Informationen finden Sie unter der enableKey-Eigenschaft im AWS -SDK für JavaScript in Node.js .
// Enable a KMS key
//
// Replace the following example key ARN with a valid key ID or key ARN
const KeyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab';
kmsClient.enableKey({ KeyId }, (err, data) => {
...
});
- PowerShell
Um einen KMS-Schlüssel zu aktivieren, verwenden Sie das Cmdlet Enable-KmsKey.
# Enable a KMS key
# Replace the following example key ARN with a valid key ID or key ARN
$keyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab'
Enable-KmsKey -KeyId $keyId
Um die AWS KMS PowerShell Cmdlets zu verwenden, installieren Sie das AWS.Tools.KeyManagementService-Modul. Weitere Informationen finden Sie im AWS Tools for Windows PowerShell-Benutzerhandbuch.
Deaktivieren von AWS KMS key
Um einen KMS-Schlüssel zu deaktivieren, verwenden Sie die -DisableKeyOperation. Das Deaktivieren eines KMS-Schlüssels verhindert, dass er in kryptografischen Operationen verwendet wird.
In Sprachen, für die ein Client-Objekt erforderlich ist, verwenden diese Beispiele das AWS KMS-Client-Objekt, das Sie in Erstellen eines Clients erstellt haben.
Hilfestellung beim Aktivieren und Deaktivieren von KMS-Schlüsseln in der AWS KMS-Konsole finden Sie unter Aktivieren und Deaktivieren von Schlüsseln.
- Java
-
Weitere Informationen finden Sie in der Beschreibung der disableKey-Methode in der AWS SDK for Java-API-Referenz.
// Disable a KMS key
//
// Replace the following example key ARN with a valid key ID or key ARN
String keyId = "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab";
DisableKeyRequest req = new DisableKeyRequest().withKeyId(keyId);
kmsClient.disableKey(req);
- C#
-
Weitere Informationen finden Sie in der Beschreibung der DisableKey encrypt-Methode im AWS SDK for .NET.
// Disable a KMS key
//
// Replace the following example key ARN with a valid key ID or key ARN
String keyId = "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab";
DisableKeyRequest disableKeyRequest = new DisableKeyRequest()
{
KeyId = keyId
};
kmsClient.DisableKey(disableKeyRequest);
- Python
-
Weitere Informationen finden Sie in der Beschreibung der disable_key
encrypt-Methode im AWS SDK for Python (Boto3).
# Disable a KMS key
# Replace the following example key ARN with a valid key ID or key ARN
key_id = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab'
response = kms_client.disable_key(
KeyId=key_id
)
- Ruby
-
Weitere Informationen finden Sie unter der disable_key
-Instance-Methode encrypt im AWS SDK for Ruby.
# Disable a KMS key
# Replace the following example key ARN with a valid key ID or key ARN
key_id = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab'
response = kmsClient.disable_key({
key_id: key_id
})
- PHP
-
Weitere Informationen finden Sie in der Beschreibung der DisableKeyencrypt-Methode im AWS SDK for PHP.
// Disable a KMS key
//
// Replace the following example key ARN with a valid key ID or key ARN
$keyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab';
$result = $KmsClient->disableKey([
'KeyId' => $keyId,
]);
- Node.js
Weitere Informationen finden Sie unter der disableKey-Eigenschaft im AWS -SDK für JavaScript in Node.js .
// Disable a KMS key
//
// Replace the following example key ARN with a valid key ID or key ARN
const KeyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab';
kmsClient.disableKey({ KeyId }, (err, data) => {
...
});
- PowerShell
Um einen KMS-Schlüssel zu deaktivieren, verwenden Sie das Cmdlet Disable-KmsKey cmdlet.
# Disable a KMS key
# Replace the following example key ARN with a valid key ID or key ARN
$keyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab'
Disable-KmsKey -KeyId $keyId
Um die AWS KMS PowerShell Cmdlets zu verwenden, installieren Sie das AWS.Tools.KeyManagementService-Modul. Weitere Informationen finden Sie im AWS Tools for Windows PowerShell-Benutzerhandbuch.