Créer des clés de chiffrement avec Cloud KMS

Ce guide de démarrage rapide vous explique comment créer et utiliser des clés de chiffrement avec Cloud Key Management Service dans un projet qui vous appartient. Ces instructions utilisent le la console Google Cloud pour créer des trousseaux, des clés et des versions de clé Cloud KMS. Pour obtenir des instructions utilisant d'autres méthodes, consultez les guides d'utilisation.

Dans ce démarrage rapide, les requêtes sont envoyées à l'API Cloud KMS via la ligne de commande. Pour afficher des exemples de programmation où les requêtes sont envoyées à l'API Cloud KMS via des bibliothèques clientes, consultez la page Chiffrer et déchiffrer.

Avant de commencer

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Cloud KMS API.

    Enable the API

  5. Install the Google Cloud CLI.
  6. To initialize the gcloud CLI, run the following command:

    gcloud init
  7. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  8. Make sure that billing is enabled for your Google Cloud project.

  9. Enable the Cloud KMS API.

    Enable the API

  10. Install the Google Cloud CLI.
  11. To initialize the gcloud CLI, run the following command:

    gcloud init

Trousseaux de clés et clés

Pour chiffrer et déchiffrer du contenu, vous avez besoin d'une clé Cloud KMS qui fait partie d'un trousseau de clés.

Créez un trousseau de clés nommé test et une clé nommée quickstart. Consultez la présentation de la hiérarchie des objets pour plus d'informations sur ces objets et sur leurs relations.

gcloud kms keyrings create "test" \
    --location "global"
gcloud kms keys create "quickstart" \
    --location "global" \
    --keyring "test" \
    --purpose "encryption"

Vous pouvez utiliser l'option list pour afficher le nom et les métadonnées de la clé que vous venez de créer.

gcloud kms keys list \
    --location "global" \
    --keyring "test"

Vous devriez voir les éléments suivants :

NAME                                                                      PURPOSE          PRIMARY_STATE
projects/project-id/locations/global/keyRings/test/cryptoKeys/quickstart  ENCRYPT_DECRYPT  ENABLED

Chiffrer des données

Maintenant que vous avez une clé, vous pouvez vous en servir pour chiffrer un texte ou un contenu binaire.

Stockez du texte à chiffrer dans un fichier nommé "mysecret.txt".

echo -n "Some text to be encrypted" > mysecret.txt

Pour chiffrer les données avec gcloud kms encrypt, fournissez les informations relatives à votre clé et spécifiez le nom du fichier texte à chiffrer ainsi que celui du fichier qui contiendra les contenus chiffrés :

gcloud kms encrypt \
    --location "global" \
    --keyring "test" \
    --key "quickstart" \
    --plaintext-file ./mysecret.txt \
    --ciphertext-file ./mysecret.txt.encrypted

La méthode encrypt enregistre vos contenus chiffrés dans le fichier spécifié par l'indicateur --ciphertext-file.

Déchiffrer le texte chiffré

Pour chiffrer les données avec gcloud kms decrypt, fournissez les informations relatives à votre clé et spécifiez le nom du fichier texte chiffré (fichier ciphertext) à déchiffrer ainsi que celui du fichier qui contiendra les contenus déchiffrés :

gcloud kms decrypt \
    --location "global" \
    --keyring "test" \
    --key "quickstart" \
    --ciphertext-file ./mysecret.txt.encrypted \
    --plaintext-file ./mysecret.txt.decrypted

La méthode decrypt enregistre vos contenus déchiffrés dans le fichier spécifié par l'indicateur --plaintext-file.

Pour déchiffrer le contenu chiffré, vous devez utiliser la même clé que celle qui a servi à chiffrer le contenu.

Effectuer un nettoyage

Pour éviter que les ressources utilisées sur cette page soient facturées sur votre compte Google Cloud, procédez comme suit :

Dressez une liste des versions disponibles pour votre clé :

gcloud kms keys versions list \
    --location "global" \
    --keyring "test" \
    --key "quickstart"

Pour détruire une version, exécutez la commande suivante en remplaçant key-version par le numéro de la version de clé à détruire :

gcloud kms keys versions destroy key-version \
    --location "global" \
    --keyring "test" \
    --key "quickstart"

Étapes suivantes