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 font appel à la console Google Cloud pour créer des trousseaux de clés, des clés et des versions de clé dans Cloud KMS. Pour obtenir des instructions concernant d'autres méthodes, consultez les guides d'utilisation.

Ce guide de démarrage rapide utilise la ligne de commande pour envoyer des requêtes à l'API Cloud KMS. Pour obtenir des exemples de programmation qui utilisent les bibliothèques clientes pour envoyer des requêtes à l'API Cloud KMS, consultez la page Chiffrer et déchiffrer.

Avant de commencer

  1. Connectez-vous à votre compte Google Cloud. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
  2. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  3. Vérifiez que la facturation est activée pour votre projet Google Cloud.

  4. Activez l'API Cloud KMS

    Activer l'API

  5. Installez Google Cloud CLI.
  6. Pour initialiser gcloudCLI, exécutez la commande suivante :

    gcloud init
  7. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  8. Vérifiez que la facturation est activée pour votre projet Google Cloud.

  9. Activez l'API Cloud KMS

    Activer l'API

  10. Installez Google Cloud CLI.
  11. Pour initialiser gcloudCLI, exécutez la commande suivante :

    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