Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
À utiliser CreateKey
avec un AWS SDKou CLI
Les exemples de code suivants montrent comment utiliserCreateKey
.
Les exemples d’actions sont des extraits de code de programmes de plus grande envergure et doivent être exécutés en contexte. Vous pouvez voir cette action en contexte dans les exemples de code suivants :
- .NET
-
- AWS SDK for .NET
-
Note
Il y en a plus sur GitHub. Consultez l'exemple complet et apprenez à configurer et à exécuter dans AWS Référentiel d'exemples de code
. 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."); } } }
-
Pour API plus de détails, voir CreateKeyAWS SDK for .NET APIRéférence.
-
- CLI
-
- AWS CLI
-
Exemple 1 : pour créer une KMS clé gérée par le client dans AWS KMS
L'
create-key
exemple suivant crée une KMS clé de chiffrement symétrique.Pour créer la KMS clé de base, une clé de chiffrement symétrique, il n'est pas nécessaire de spécifier de paramètres. Les valeurs par défaut de ces paramètres créent une clé de chiffrement symétrique.
Comme cette commande ne spécifie pas de politique de clé, la KMS clé obtient la politique de clé par défaut pour les clés créées KMS par programmation. Pour afficher la politique clé, utilisez la
get-key-policy
commande. Pour modifier la politique clé, utilisez laput-key-policy
commande.aws kms create-key
La
create-key
commande renvoie les métadonnées clés, y compris l'ID de clé et ARN de la nouvelle KMS clé. Vous pouvez utiliser ces valeurs pour identifier la KMS clé dans d'autres AWS KMSopérations. La sortie n'inclut pas les balises. Pour afficher les balises d'une KMS clé, utilisez lelist-resource-tags command
.Sortie :
{ "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" ] } }
Remarque : La
create-key
commande ne vous permet pas de spécifier un alias. Pour créer un alias pour la nouvelle KMS clé, utilisez lacreate-alias
commande.Pour plus d'informations, reportez-vous à la section Création de clés dans AWS Guide du développeur du service de gestion des clés.
Exemple 2 : pour créer une RSA KMS clé asymétrique pour le chiffrement et le déchiffrement
L'
create-key
exemple suivant crée une KMS clé contenant une paire de RSA clés asymétriques pour le chiffrement et le déchiffrement.aws kms create-key \ --key-spec
RSA_4096
\ --key-usageENCRYPT_DECRYPT
Sortie :
{ "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" } }
Pour plus d'informations, voir Clés asymétriques dans AWS KMSdans le AWS Guide du développeur du service de gestion des clés.
Exemple 3 : pour créer une KMS clé à courbe elliptique asymétrique à des fins de signature et de vérification
Pour créer une KMS clé asymétrique contenant une ECC paire de clés à courbe elliptique asymétrique () pour la signature et la vérification. Le
--key-usage
paramètre est obligatoire même s'il s'SIGN_VERIFY
agit de la seule valeur valide pour ECC KMS les clés.aws kms create-key \ --key-spec
ECC_NIST_P521
\ --key-usageSIGN_VERIFY
Sortie :
{ "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" ] } }
Pour plus d'informations, voir Clés asymétriques dans AWS KMSdans le AWS Guide du développeur du service de gestion des clés.
Exemple 4 : pour créer une HMAC KMS clé
L'
create-key
exemple suivant crée une clé de 384 bits HMACKMS. LaGENERATE_VERIFY_MAC
valeur du--key-usage
paramètre est obligatoire même s'il s'agit de la seule valeur valide pour les HMAC KMS clés.aws kms create-key \ --key-spec
HMAC_384
\ --key-usageGENERATE_VERIFY_MAC
Sortie :
{ "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" } }
Pour plus d'informations, voir HMAC Keys in AWS KMSdans le AWS Guide du développeur du service de gestion des clés.
Exemple 4 : pour créer une clé primaire KMS multirégionale
L'
create-key
exemple suivant crée une clé de chiffrement symétrique principale multirégionale. Étant donné que les valeurs par défaut de tous les paramètres créent une clé de chiffrement symétrique, seul le--multi-region
paramètre est requis pour cette KMS clé. Dans le volet AWS CLI, pour indiquer qu'un paramètre booléen est vrai, il suffit de spécifier le nom du paramètre.aws kms create-key \ --multi-region
Sortie :
{ "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" } }
Pour plus d'informations, voir Clés asymétriques dans AWS KMSdans le AWS Guide du développeur du service de gestion des clés.
Exemple 5 : Pour créer une KMS clé pour le matériel clé importé
L'
create-key
exemple suivant crée une KMS clé sans matériau clé. Lorsque l'opération est terminée, vous pouvez importer votre propre matériel clé dans la KMS clé. Pour créer cette KMS clé, définissez le--origin
paramètre surEXTERNAL
.aws kms create-key \ --origin
EXTERNAL
Sortie :
{ "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" } }
Pour plus d'informations, voir Importation de matériel clé dans AWS KMSclés dans le AWS Guide du développeur du service de gestion des clés.
Exemple 6 : Pour créer une KMS clé dans un AWS Boutique de HSM clés dans le cloud
L'
create-key
exemple suivant crée une KMS clé dans le champ spécifié AWS Magasin de HSM clés dans le cloud. L'opération crée la KMS clé et ses métadonnées dans AWS KMSet crée le matériau clé dans le AWS HSMCluster cloud associé au magasin de clés personnalisé. Les paramètres--custom-key-store-id
et--origin
sont obligatoires.aws kms create-key \ --origin
AWS_CLOUDHSM
\ --custom-key-store-idcks-1234567890abcdef0
Sortie :
{ "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" } }
Pour plus d’informations, consultez .AWS HSMLes clés du cloud sont stockées dans le AWS Guide du développeur du service de gestion des clés.
Exemple 7 : Pour créer une KMS clé dans un magasin de clés externe
L'
create-key
exemple suivant crée une KMS clé dans le magasin de clés externe spécifié. Les--xks-key-id
paramètres--custom-key-store-id
--origin
, et sont obligatoires dans cette commande.Le
--xks-key-id
paramètre indique l'ID d'une clé de chiffrement symétrique existante dans votre gestionnaire de clés externe. Cette clé sert de matériau clé externe pour la KMS clé. La valeur du--origin
paramètre doit êtreEXTERNAL_KEY_STORE
.Lecustom-key-store-id
paramètre doit identifier un magasin de clés externe connecté à son proxy de magasin de clés externe.aws kms create-key \ --origin EXTERNAL_KEY_STORE \ --custom-key-store-id cks-9876543210fedcba9 \ --xks-key-id bb8562717f809024
Sortie :
{ "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" } } }
Pour plus d'informations, consultez la section Stockages de clés externes dans le AWS Guide du développeur du service de gestion des clés.
-
Pour API plus de détails, voir CreateKey
AWS CLI Référence de commande.
-
- Java
-
- SDKpour Java 2.x
-
Note
Il y en a plus sur GitHub. Consultez l'exemple complet et apprenez à configurer et à exécuter dans AWS Référentiel d'exemples de code
. /** * 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); }); }
-
Pour API plus de détails, voir CreateKeyAWS SDK for Java 2.x APIRéférence.
-
- Kotlin
-
- SDKpour Kotlin
-
Note
Il y en a plus sur GitHub. Consultez l'exemple complet et apprenez à configurer et à exécuter dans AWS Référentiel d'exemples de code
. 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 } }
-
Pour API plus de détails, voir CreateKey
AWS SDKpour API référence à Kotlin.
-
- Python
-
- SDKpour Python (Boto3)
-
Note
Il y en a plus sur GitHub. Consultez l'exemple complet et apprenez à configurer et à exécuter dans AWS Référentiel d'exemples de code
. 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)? ")
-
Pour API plus de détails, voir CreateKeyAWS SDKpour Python (Boto3) Reference. API
-
- Ruby
-
- SDKpour Ruby
-
Note
Il y en a plus sur GitHub. Consultez l'exemple complet et apprenez à configurer et à exécuter dans AWS Référentiel d'exemples de code
. 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
-
Pour API plus de détails, voir CreateKeyAWS SDK for Ruby APIRéférence.
-
- Rust
-
- SDKpour Rust
-
Note
Il y en a plus sur GitHub. Consultez l'exemple complet et apprenez à configurer et à exécuter dans AWS Référentiel d'exemples de code
. 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(()) }
-
Pour API plus de détails, voir CreateKey
AWS SDKpour API référence à Rust.
-
Pour une liste complète des AWS SDKguides du développeur et exemples de code, voirUtilisation AWS KMS avec un AWS SDK. Cette rubrique inclut également des informations sur la mise en route et des détails sur SDK les versions précédentes.