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.
Verwenden Sie es CreateKey
mit einem AWS SDK oder CLI
Die folgenden Codebeispiele zeigen, wie man es benutztCreateKey
.
Beispiele für Aktionen sind Codeauszüge aus größeren Programmen und müssen im Kontext ausgeführt werden. Im folgenden Codebeispiel können Sie diese Aktion im Kontext sehen:
- .NET
-
- AWS SDK for .NET
-
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. using System; using System.Threading.Tasks; using Amazon.KeyManagementService; using Amazon.KeyManagementService.Model; /// <summary> /// Shows how to create a new AWS Key Management Service (AWS KMS) /// key. /// </summary> public class CreateKey { public static async Task Main() { // Note that if you need to create a Key in an AWS Region // other than the Region defined for the default user, you need to // pass the Region to the client constructor. var client = new AmazonKeyManagementServiceClient(); // The call to CreateKeyAsync will create a symmetrical AWS KMS // key. For more information about symmetrical and asymmetrical // keys, see: // // https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-choose.html var response = await client.CreateKeyAsync(new CreateKeyRequest()); // The KeyMetadata object contains information about the new AWS KMS key. KeyMetadata keyMetadata = response.KeyMetadata; if (keyMetadata is not null) { Console.WriteLine($"KMS Key: {keyMetadata.KeyId} was successfully created."); } else { Console.WriteLine("Could not create KMS Key."); } } }
-
APIEinzelheiten finden Sie CreateKeyunter AWS SDK for .NET APIReferenz.
-
- CLI
-
- AWS CLI
-
Beispiel 1: So erstellen Sie einen vom Kunden verwalteten KMS Schlüssel in 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 denput-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 dencreate-alias
Befehl.Weitere Informationen finden Sie im AWS Key Management Service Developer Guide unter Creating Keys.
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-usageENCRYPT_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üsselSIGN_VERIFY
ist. ECC KMSaws kms create-key \ --key-spec
ECC_NIST_P521
\ --key-usageSIGN_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. DerGENERATE_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-usageGENERATE_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 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-idcks-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 mussEXTERNAL_KEY_STORE
einen externen Schlüsselspeicher identifizieren, der mit seinem externencustom-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 CreateKey
in der AWS CLI Befehlsreferenz.
-
- Java
-
- SDKfür Java 2.x
-
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. /** * Creates a new symmetric encryption key asynchronously. * * @param keyDesc the description of the key to be created * @return a {@link CompletableFuture} that completes with the ID of the newly created key * @throws RuntimeException if an error occurs while creating the key */ public CompletableFuture<String> createKeyAsync(String keyDesc) { CreateKeyRequest keyRequest = CreateKeyRequest.builder() .description(keyDesc) .keySpec(KeySpec.SYMMETRIC_DEFAULT) .keyUsage(KeyUsageType.ENCRYPT_DECRYPT) .build(); return getAsyncClient().createKey(keyRequest) .thenApply(resp -> resp.keyMetadata().keyId()) .exceptionally(ex -> { throw new RuntimeException("An error occurred while creating the key: " + ex.getMessage(), ex); }); }
-
APIEinzelheiten finden Sie CreateKeyunter AWS SDK for Java 2.x APIReferenz.
-
- Kotlin
-
- SDKfür Kotlin
-
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. suspend fun createKey(keyDesc: String?): String? { val request = CreateKeyRequest { description = keyDesc customerMasterKeySpec = CustomerMasterKeySpec.SymmetricDefault keyUsage = KeyUsageType.fromValue("ENCRYPT_DECRYPT") } KmsClient { region = "us-west-2" }.use { kmsClient -> val result = kmsClient.createKey(request) println("Created a customer key with id " + result.keyMetadata?.arn) return result.keyMetadata?.keyId } }
-
APIEinzelheiten finden Sie CreateKey
in der AWS SDKAPIKotlin-Referenz.
-
- PHP
-
- SDK für PHP
-
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. /*** * @param string $keySpec * @param string $keyUsage * @param string $description * @return array */ public function createKey(string $keySpec = "", string $keyUsage = "", string $description = "Created by the SDK for PHP") { $parameters = ['Description' => $description]; if($keySpec && $keyUsage){ $parameters['KeySpec'] = $keySpec; $parameters['KeyUsage'] = $keyUsage; } try { $result = $this->client->createKey($parameters); return $result['KeyMetadata']; }catch(KmsException $caught){ // Check for error specific to createKey operations if ($caught->getAwsErrorMessage() == "LimitExceededException"){ echo "The request was rejected because a quota was exceeded. For more information, see Quotas in the Key Management Service Developer Guide."; } throw $caught; } }
-
APIEinzelheiten finden Sie CreateKeyunter AWS SDK for PHP APIReferenz.
-
- 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 create_key(self, key_description: str) -> dict[str, any]: """ Creates a key with a user-provided description. :param key_description: A description for the key. :return: The key ID. """ try: key = self.kms_client.create_key(Description=key_description)["KeyMetadata"] self.created_keys.append(key) return key except ClientError as err: logging.error( "Couldn't create your key. Here's why: %s", err.response["Error"]["Message"], ) raise
-
APIEinzelheiten finden Sie unter CreateKeyPython (Boto3) API -Referenz.AWS SDK
-
- Ruby
-
- SDKfür Ruby
-
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. require 'aws-sdk-kms' # v2: require 'aws-sdk' # Create a AWS KMS key. # As long we are only encrypting small amounts of data (4 KiB or less) directly, # a KMS key is fine for our purposes. # For larger amounts of data, # use the KMS key to encrypt a data encryption key (DEK). client = Aws::KMS::Client.new resp = client.create_key({ tags: [ { tag_key: 'CreatedBy', tag_value: 'ExampleUser' } ] }) puts resp.key_metadata.key_id
-
APIEinzelheiten finden Sie CreateKeyunter AWS SDK for Ruby APIReferenz.
-
- 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) -> Result<(), Error> { let resp = client.create_key().send().await?; let id = resp.key_metadata.as_ref().unwrap().key_id(); println!("Key: {}", id); Ok(()) }
-
APIEinzelheiten finden Sie CreateKey
in der AWS SDKAPIRust-Referenz.
-
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.