Activer et désactiver des versions de clé

Dans Cloud KMS, le matériel de clé cryptographique que vous utilisez pour chiffrer, déchiffrer, signer et valider les données est stocké dans une version de clé. Une clé comporte zéro ou plusieurs versions de clé. Lorsque vous effectuez une rotation de clé, vous créez une nouvelle version de clé.

Ce document explique comment désactiver une version de clé. Tant qu'une clé est désactivée, les données qui ont été chiffrées avec la clé ne sont pas accessibles. Pour accéder aux données, vous pouvez réactiver la version de clé.

Sauf indication contraire dans le tableau de bord sur l'état des services, la désactivation d'une version de clé est généralement cohérente en une minute. L'activation d'une version de clé est presque instantanée. Vous pouvez également gérer l'accès à une version de clé à l'aide d'Identity and Access Management (IAM). Les opérations IAM sont cohérentes en quelques secondes. Pour en savoir plus, consultez Utiliser IAM.

Vous pouvez également détruire définitivement une version de clé. Selon les règles d'administration de votre organisation, vous devrez peut-être désactiver une version de clé avant de pouvoir la détruire. Pour en savoir plus, consultez Contrôler la destruction d'une version de clé.

Désactiver une version de clé

Vous pouvez désactiver une version de clé à l'état "Activée". Avant de désactiver une version de clé, nous vous recommandons de vérifier si la clé est toujours utilisée. Vous pouvez afficher les détails du suivi de l'utilisation des clés pour voir si la clé protège des ressources CMEK. Si des ressources sont protégées par la version de clé que vous souhaitez désactiver, rechiffrez-les avec une autre version de clé avant de désactiver la clé.

Console

  1. Accédez à la page Gestion des clés dans la console Google Cloud .

    Accéder à la page "Gestion des clés"

  2. Cliquez sur le nom du trousseau de clés contenant la clé dont vous souhaitez désactiver la version.

  3. Cliquez sur la clé dont vous souhaitez désactiver la version.

  4. Cochez l'option située à côté des versions de clé que vous souhaitez désactiver.

  5. Cliquez sur Désactiver dans l'en-tête.

  6. Dans l'invite de confirmation, cliquez sur Désactiver.

gcloud

Pour utiliser Cloud KMS sur la ligne de commande, commencez par installer ou mettre à jour Google Cloud CLI.

gcloud kms keys versions disable key-version \
    --key key \
    --keyring key-ring \
    --location location

Remplacez key-version par la version de la clé à désactiver. Remplacez key par le nom de la clé. Remplacez key-ring par le nom du trousseau de clés où se trouve la clé. Remplacez location par l'emplacement Cloud KMS du trousseau de clés.

Pour en savoir plus sur toutes les options et valeurs possibles, exécutez la commande avec l'option --help.

C#

Pour exécuter ce code, commencez par configurer un environnement de développement C#, puis installez le SDK Cloud KMS pour C#.


using Google.Cloud.Kms.V1;
using Google.Protobuf.WellKnownTypes;

public class DisableKeyVersionSample
{
    public CryptoKeyVersion DisableKeyVersion(string projectId = "my-project", string locationId = "us-east1", string keyRingId = "my-key-ring", string keyId = "my-key", string keyVersionId = "123")
    {
        // Create the client.
        KeyManagementServiceClient client = KeyManagementServiceClient.Create();

        // Build the key version.
        CryptoKeyVersion keyVersion = new CryptoKeyVersion
        {
            CryptoKeyVersionName = new CryptoKeyVersionName(projectId, locationId, keyRingId, keyId, keyVersionId),
            State = CryptoKeyVersion.Types.CryptoKeyVersionState.Disabled,
        };

        // Build the update mask.
        FieldMask fieldMask = new FieldMask
        {
            Paths = { "state" },
        };

        // Call the API.
        CryptoKeyVersion result = client.UpdateCryptoKeyVersion(keyVersion, fieldMask);

        // Return the result.
        return result;
    }
}

Go

Pour exécuter ce code, commencez par configurer un environnement de développement Go, puis installez le SDK Cloud KMS pour Go.

import (
	"context"
	"fmt"
	"io"

	kms "cloud.google.com/go/kms/apiv1"
	"cloud.google.com/go/kms/apiv1/kmspb"
	fieldmask "google.golang.org/genproto/protobuf/field_mask"
)

// disableKeyVersion disables the specified key version on Cloud KMS.
func disableKeyVersion(w io.Writer, name string) error {
	// name := "projects/my-project/locations/us-east1/keyRings/my-key-ring/cryptoKeys/my-key/cryptoKeyVersions/123"

	// Create the client.
	ctx := context.Background()
	client, err := kms.NewKeyManagementClient(ctx)
	if err != nil {
		return fmt.Errorf("failed to create kms client: %w", err)
	}
	defer client.Close()

	// Build the request.
	req := &kmspb.UpdateCryptoKeyVersionRequest{
		CryptoKeyVersion: &kmspb.CryptoKeyVersion{
			Name:  name,
			State: kmspb.CryptoKeyVersion_DISABLED,
		},
		UpdateMask: &fieldmask.FieldMask{
			Paths: []string{