Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Utilizzare CreateKey
con un AWS SDKo CLI
I seguenti esempi di codice mostrano come utilizzareCreateKey
.
Gli esempi di operazioni sono estratti di codice da programmi più grandi e devono essere eseguiti nel contesto. È possibile visualizzare questa operazione nel contesto nei seguenti esempi di codice:
- .NET
-
- AWS SDK for .NET
-
Nota
C'è altro su. GitHub Trova l'esempio completo e scopri come configurare ed eseguire in AWS Repository
di esempi di codice. 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."); } } }
-
Per API i dettagli, vedere CreateKeyin AWS SDK for .NET APIRiferimento.
-
- CLI
-
- AWS CLI
-
Esempio 1: creare una KMS chiave gestita dal cliente in AWS KMS
L'
create-key
esempio seguente crea una chiave di crittografia KMS simmetrica.Per creare la KMS chiave di base, una chiave di crittografia simmetrica, non è necessario specificare alcun parametro. I valori predefiniti per tali parametri creano una chiave di crittografia simmetrica.
Poiché questo comando non specifica una politica di chiave, la chiave ottiene la politica di KMS chiave predefinita per le chiavi create a livello di codice. KMS Per visualizzare la politica chiave, utilizzare il
get-key-policy
comando. Per modificare la politica chiave, usa ilput-key-policy
comando.aws kms create-key
Il
create-key
comando restituisce i metadati della chiave, incluso l'ID della chiave e ARN della nuova KMS chiave. È possibile utilizzare questi valori per identificare la KMS chiave in un altro AWS KMSoperazioni. L'output non include i tag. Per visualizzare i tag di una KMS chiave, utilizzare illist-resource-tags command
.Output:
{ "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" ] } }
Nota: il
create-key
comando non consente di specificare un alias. Per creare un alias per la nuova KMS chiave, usa ilcreate-alias
comando.Per ulteriori informazioni, vedere Creazione di chiavi in AWS Guida per gli sviluppatori del servizio di gestione delle chiavi.
Esempio 2: creare una RSA KMS chiave asimmetrica per la crittografia e la decrittografia
L'
create-key
esempio seguente crea una KMS chiave che contiene una coppia di chiavi asimmetrica per RSA la crittografia e la decrittografia.aws kms create-key \ --key-spec
RSA_4096
\ --key-usageENCRYPT_DECRYPT
Output:
{ "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" } }
Per ulteriori informazioni, vedere Chiavi asimmetriche in AWS KMSnel AWS Guida per gli sviluppatori del servizio di gestione delle chiavi.
Esempio 3: creare una chiave a curva KMS ellittica asimmetrica per la firma e la verifica
Per creare una chiave asimmetrica che contenga una coppia di KMS chiavi asimmetrica ellittica curva (ECC) per la firma e la verifica. Il
--key-usage
parametro è obbligatorio anche seSIGN_VERIFY
è l'unico valore valido per le chiavi. ECC KMSaws kms create-key \ --key-spec
ECC_NIST_P521
\ --key-usageSIGN_VERIFY
Output:
{ "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" ] } }
Per ulteriori informazioni, vedete Chiavi asimmetriche in AWS KMSnel AWS Guida per gli sviluppatori del servizio di gestione delle chiavi.
Esempio 4: creare una HMAC KMS chiave
L'
create-key
esempio seguente crea una chiave a 384 bit HMACKMS. IlGENERATE_VERIFY_MAC
valore del--key-usage
parametro è obbligatorio anche se è l'unico valore valido per HMAC KMS le chiavi.aws kms create-key \ --key-spec
HMAC_384
\ --key-usageGENERATE_VERIFY_MAC
Output:
{ "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" } }
Per ulteriori informazioni, vedete HMAC keys in AWS KMSnel AWS Guida per gli sviluppatori del servizio di gestione delle chiavi.
Esempio 4: creare una chiave primaria KMS multiregionale
L'
create-key
esempio seguente crea una chiave di crittografia simmetrica primaria multiregione. Poiché i valori predefiniti per tutti i parametri creano una chiave di crittografia simmetrica, per questa chiave è necessario solo il--multi-region
parametro. KMS Nel AWS CLI, per indicare che un parametro booleano è vero, è sufficiente specificare il nome del parametro.aws kms create-key \ --multi-region
Output:
{ "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" } }
Per ulteriori informazioni, vedete Chiavi asimmetriche in AWS KMSnel AWS Guida per gli sviluppatori del servizio di gestione delle chiavi.
Esempio 5: creare una KMS chiave per il materiale chiave importato
L'
create-key
esempio seguente crea una KMS chiave senza materiale chiave. Una volta completata l'operazione, è possibile importare il proprio materiale chiave nella KMS chiave. Per creare questa KMS chiave, impostate il--origin
parametro suEXTERNAL
.aws kms create-key \ --origin
EXTERNAL
Output:
{ "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" } }
Per ulteriori informazioni, vedete Importazione di materiale chiave in AWS KMSchiavi in AWS Guida per gli sviluppatori del servizio di gestione delle chiavi.
Esempio 6: Per creare una KMS chiave in un AWS Archivio HSM chiavi nel cloud
L'
create-key
esempio seguente crea una KMS chiave nel campo specificato AWS Archivio HSM chiavi nel cloud. L'operazione crea la KMS chiave e i relativi metadati in AWS KMSe crea il materiale chiave nel AWS HSMCluster cloud associato all'archivio di chiavi personalizzato. I parametri--custom-key-store-id
e--origin
sono obbligatori.aws kms create-key \ --origin
AWS_CLOUDHSM
\ --custom-key-store-idcks-1234567890abcdef0
Output:
{ "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" } }
Per ulteriori informazioni, consulta AWS Archiviazioni di HSM chiavi nel cloud in AWS Guida per gli sviluppatori del servizio di gestione delle chiavi.
Esempio 7: creare una KMS chiave in un archivio di chiavi esterno
L'
create-key
esempio seguente crea una KMS chiave nell'archivio chiavi esterno specificato. I--xks-key-id
parametri--custom-key-store-id
--origin
, e sono obbligatori in questo comando.Il
--xks-key-id
parametro specifica l'ID di una chiave di crittografia simmetrica esistente nel gestore di chiavi esterno. Questa chiave funge da materiale chiave esterno per la KMS chiave. Il valore del--origin
parametro deve essereEXTERNAL_KEY_STORE
.Ilcustom-key-store-id
parametro deve identificare un archivio chiavi esterno collegato al relativo proxy di archiviazione chiavi esterno.aws kms create-key \ --origin EXTERNAL_KEY_STORE \ --custom-key-store-id cks-9876543210fedcba9 \ --xks-key-id bb8562717f809024
Output:
{ "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" } } }
Per ulteriori informazioni, vedere Archivi di chiavi esterni nel AWS Guida per gli sviluppatori del servizio di gestione delle chiavi.
-
Per API i dettagli, vedere CreateKey
in AWS CLI Riferimento ai comandi.
-
- Java
-
- SDKper Java 2.x
-
Nota
C'è di più su. GitHub Trova l'esempio completo e scopri come configurare ed eseguire in AWS Repository
di esempi di codice. /** * 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); }); }
-
Per API i dettagli, vedere CreateKeyin AWS SDK for Java 2.x APIRiferimento.
-
- Kotlin
-
- SDKper Kotlin
-
Nota
c'è altro da fare. GitHub Trova l'esempio completo e scopri come configurare ed eseguire in AWS Repository
di esempi di codice. 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 } }
-
Per API i dettagli, vedere CreateKey
in AWS SDKper riferimento a KotlinAPI.
-
- Python
-
- SDKper Python (Boto3)
-
Nota
C'è di più su. GitHub Trova l'esempio completo e scopri come configurare ed eseguire in AWS Repository
di esempi di codice. class KeyManager: def __init__(self, kms_client): self.kms_client = kms_client self.created_keys = [] def create_key(self): """ Creates a key (or multiple keys) with a user-provided description. """ answer = "y" while answer.lower() == "y": key_desc = input("\nLet's create a key. Describe it for me: ") if not key_desc: key_desc = "Key management demo key" try: key = self.kms_client.create_key(Description=key_desc)["KeyMetadata"] except ClientError as err: logging.error( "Couldn't create your key. Here's why: %s", err.response["Error"]["Message"], ) raise else: print("Key created:") pprint(key) self.created_keys.append(key) answer = input("Create another (y/n)? ")
-
Per API i dettagli, vedere CreateKeyin AWS SDKper Python (Boto3) Reference. API
-
- Ruby
-
- SDKper Ruby
-
Nota
c'è altro da fare. GitHub Trova l'esempio completo e scopri come configurare ed eseguire in AWS Repository
di esempi di codice. 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
-
Per API i dettagli, vedere CreateKeyin AWS SDK for Ruby APIRiferimento.
-
- Rust
-
- SDKper Rust
-
Nota
c'è altro da fare GitHub. Trova l'esempio completo e scopri come configurare ed eseguire in AWS Repository
di esempi di codice. 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(()) }
-
Per API i dettagli, vedere CreateKey
in AWS SDKper API riferimento a Rust.
-
Per un elenco completo di AWS SDKguide per sviluppatori ed esempi di codice, vediUtilizzo AWS KMS con un AWS SDK. Questo argomento include anche informazioni su come iniziare e dettagli sulle SDK versioni precedenti.