Supprimer des ressources Cloud KMS

Ce document explique comment supprimer définitivement des clés et des versions de clé Cloud Key Management Service. Cette opération est irréversible.

Dans Cloud KMS, la destruction et la suppression sont des opérations différentes :

  • Destruction : désactive définitivement une version de clé, y compris en détruisant de manière irréversible le matériel de clé sous-jacent après la période de destruction spécifiée. Une version de clé à l'état DESTROYED ne peut pas être utilisée pour les opérations de chiffrement et n'est plus facturée. Vous pouvez détruire une version de clé utilisée pour chiffrer des données afin de crypto-supprimer les données que vous souhaitez rendre définitivement irrécupérables. Les versions de clé détruites sont toujours incluses dans les listes de ressources Cloud KMS.

  • Suppression : supprime une clé ou une version de clé des listes de ressources Cloud KMS dans la console Google Cloud , Google Cloud CLI, l'API Cloud Key Management Service et les bibliothèques clientes. Pour les projets comportant de nombreuses clés ou versions de clé qui ne sont plus actives, la suppression simplifie les opérations de recherche et de liste. Les noms de CryptoKey supprimés ne peuvent pas être réutilisés. Vous pouvez afficher la liste des noms de CryptoKey supprimés qui ne peuvent pas être réutilisés à l'aide de la méthode retiredResources.list.

Avant de commencer

Pour obtenir les autorisations nécessaires pour supprimer et afficher les ressources Cloud KMS, demandez à votre administrateur de vous accorder le rôle IAM Administrateur Cloud KMS (roles/cloudkms.admin) sur la clé. Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Ce rôle prédéfini contient les autorisations requises pour supprimer et afficher les ressources Cloud KMS. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Les autorisations suivantes sont requises pour supprimer et afficher les ressources Cloud KMS :

  • Pour supprimer une version de clé : cloudkms.cryptoKeyVersions.delete
  • Pour supprimer une clé : cloudkms.cryptoKeys.delete
  • Pour afficher les ressources supprimées :
    • cloudkms.retiredResources.get
    • cloudkms.retiredResources.list

Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

Supprimer une version de clé

Vous pouvez supprimer une version de clé si elle est à l'état DESTROYED, IMPORT_FAILED ou GENERATION_FAILED. Si la version de clé a été importée, elle ne peut être supprimée que si l'importation a échoué.

Pour supprimer définitivement une version de clé, procédez comme suit :

Console

  1. Dans la console Google Cloud , accédez à la page Gestion des clés.

    Accéder à Key Management

  2. Cliquez sur le nom du trousseau de clés contenant la clé et la version de clé que vous souhaitez supprimer.

  3. Cliquez sur la clé contenant la version que vous souhaitez supprimer.

  4. Dans le tableau Versions, recherchez la version de clé que vous souhaitez supprimer, puis cliquez sur Autres actions.

  5. Dans le menu Plus d'actions, cliquez sur Supprimer.

  6. Dans l'invite de confirmation, saisissez le nom de la clé, puis cliquez sur Supprimer.

gcloud

Pour supprimer une version de clé, exécutez la commande suivante :

gcloud kms keys versions delete KEY_VERSION \
    --location=LOCATION \
    --keyring=KEY_RING \
    --key=KEY_NAME

Remplacez les éléments suivants :

  • KEY_VERSION : numéro de la version de clé que vous souhaitez supprimer définitivement. La version de clé indiquée doit être dans l'état DESTROYED, IMPORT_FAILED ou GENERATION_FAILED.
  • LOCATION : emplacement Cloud KMS du trousseau de clés.
  • KEY_RING : nom du trousseau de clés qui inclut la clé
  • KEY_NAME : nom de la clé contenant la version de clé que vous souhaitez supprimer définitivement.

Go

Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud KMS, consultez Bibliothèques clientes Cloud KMS.

Pour vous authentifier auprès de Cloud KMS, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.

import (
	"context"
	"fmt"
	"io"

	kms "cloud.google.com/go/kms/apiv1"
	"cloud.google.com/go/kms/apiv1/kmspb"
)

// deleteCryptoKeyVersion deletes a crypto key version. This action is permanent and cannot be undone. Once the key version is deleted, it will no longer exist.
func deleteCryptoKeyVersion(w io.Writer, name string) error {
	// name := "projects/my-project/locations/us-east1/keyRings/my-key-ring/cryptoKeys/my-key/cryptoKeyVersions/1"

	// 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.DeleteCryptoKeyVersionRequest{
		Name: name,
	}

	// Call the API.
	// Warning: This operation is permanent and cannot be undone.
	op, err := client.DeleteCryptoKeyVersion(ctx, req)
	if err != nil {
		return fmt.Errorf("failed to delete crypto key version: %w", err)
	}

	// Wait for the operation to complete.
	if err := op.Wait(ctx); err != nil {
		return fmt.Errorf("failed to wait for delete crypto key version operation: %w", err)
	}

	fmt.Fprintf(w, "Deleted crypto key version: %s\n", req.Name)
	return nil
}

Java

Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud KMS, consultez Bibliothèques clientes Cloud KMS.

Pour vous authentifier auprès de Cloud KMS, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.

import com.google.cloud.kms.v1.CryptoKeyVersionName;
import com.google.cloud.kms.v1.KeyManagementServiceClient;
import java.io.IOException;

public class DeleteKeyVersion {

  public void deleteKeyVersion() throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    String projectId = "your-project-id";
    String locationId = "us-east1";
    String keyRingId = "my-key-ring";
    String keyId = "my-key";
    String keyVersionId = "123";
    deleteKeyVersion(projectId, locationId, keyRingId, keyId, keyVersionId);
  }

  // deleteKeyVersion deletes a key version. This action is permanent and cannot be undone. Once the
  // key version is deleted, it will no longer exist.
  public void deleteKeyVersion(
      String projectId, String locationId, String keyRingId, String keyId, String keyVersionId)
      throws IOException {
    // Initialize client that will be used to send requests. This client only
    // needs to be created once, and can be reused for multiple requests. After
    // completing all of your requests, call the "close" method on the client to
    // safely clean up any remaining background resources.
    try (KeyManagementServiceClient client = KeyManagementServiceClient.create()) {
      // Build the key version name from the project, location, key ring, key,
      // and key version.
      CryptoKeyVersionName keyVersionName =
          CryptoKeyVersionName.of(projectId, locationId, keyRingId, keyId, keyVersionId);

      // Delete the key version.
      // Warning: This operation is permanent and cannot be undone.
      // Wait for the operation to complete.
      client.deleteCryptoKeyVersionAsync(keyVersionName).get();
      System.out.printf("Deleted key version: %s%n", keyVersionName.toString());
    } catch (Exception e) {
      System.err.printf("Failed to delete key version: %s%n", e.getMessage());
    }
  }
}

Python

Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud KMS, consultez Bibliothèques clientes Cloud KMS.

Pour vous authentifier auprès de Cloud KMS, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.

from google.cloud import kms


def delete_key_version(
    project_id: str, location_id: str, key_ring_id: str, key_id: str, version_id: str
) -> None:
    """
    Delete the given key version. This action is permanent and cannot be undone.
    Once the key version is deleted, it will no longer exist.

    Args:
        project_id (str): Google Cloud project ID (e.g. 'my-project').
        location_id (str): Cloud KMS location (e.g. 'us-east1').
        key_ring_id (str): ID of the Cloud KMS key ring (e.g. 'my-key-ring').
        key_id (str): ID of the key to use (e.g. 'my-key').
        version_id (str): ID of the key version to delete (e.g. '1').

    Returns:
        None

    """

    # Create the client.
    client = kms.KeyManagementServiceClient()

    # Build the key version name.
    key_version_name = client.crypto_key_version_path(
        project_id, location_id, key_ring_id, key_id, version_id
    )

    # Call the API.
    # Note: delete_crypto_key_version returns a long-running operation.
    # Warning: This operation is permanent and cannot be undone.
    operation = client.delete_crypto_key_version(request={"name": key_version_name})

    # Wait for the operation to complete.
    operation.result()

    print(f"Deleted key version: {key_version_name}")

API

  1. Pour supprimer une version de clé, appelez la méthode cryptoKeyVersions.delete. Cette méthode renvoie une opération de longue durée que vous pouvez interroger pour confirmer que la version de clé a été supprimée.

    curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions/KEY_VERSION" \
    --request "DELETE" \
    --header "authorization: Bearer TOKEN"
    

    Remplacez les éléments suivants :

    • PROJECT_ID : ID du projet contenant le trousseau de clés.
    • LOCATION : emplacement Cloud KMS du trousseau de clés.
    • KEY_RING : nom du trousseau de clés qui inclut la clé
    • KEY_NAME : nom de la clé contenant la version de clé que vous souhaitez supprimer définitivement.
    • KEY_VERSION : numéro de la version de clé que vous souhaitez supprimer définitivement. La version de clé indiquée doit être dans l'état DESTROYED, IMPORT_FAILED ou GENERATION_FAILED.

    Le résultat de la commande renvoie un Operation. Vous aurez besoin du name de l'opération pour l'étape suivante.

  2. Pour confirmer que la version de clé a été supprimée, vous pouvez appeler la méthode operations.get :

    curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_NAME" \
        --request "GET" \
        --header "authorization: Bearer TOKEN"
    

    Remplacez les éléments suivants :

    • PROJECT_ID : ID du projet contenant le trousseau de clés.
    • LOCATION : emplacement Cloud KMS du trousseau de clés.
    • OPERATION_NAME : nom de l'opération renvoyé par la méthode précédente.

    Lorsque le résultat de cette méthode indique que done est défini sur true, l'opération est terminée. Si aucun error n'est indiqué, cela signifie que la version de la clé a été définitivement supprimée.

Supprimer une clé

Vous pouvez supprimer une clé si elle remplit les conditions suivantes :

  • La clé ne contient aucune version de clé qui n'a pas encore été supprimée.
  • Aucune rotation automatique des clés n'est programmée pour la clé.
  • La clé n'a pas été créée par Cloud KMS Autokey.

Pour supprimer définitivement une clé, procédez comme suit :

Console

  1. Dans la console Google Cloud , accédez à la page Gestion des clés.

    Accéder à Key Management

  2. Cliquez sur le nom du trousseau de clés contenant la clé que vous souhaitez supprimer.

  3. Supprimez la clé à l'un des emplacements suivants :

    • Page de la liste des clés : dans le tableau Clés pour le trousseau de clés "KEY_RING", recherchez la clé que vous souhaitez supprimer, cliquez sur Actions sur la clé, puis sur Supprimer.
    • Page "Informations clés" : cliquez sur le nom de la clé que vous souhaitez supprimer pour ouvrir sa page Informations clés. En haut de la page, cliquez sur Supprimer.
  4. Dans l'invite de confirmation, saisissez le nom de la clé, puis cliquez sur Supprimer.

gcloud

Pour supprimer une clé, exécutez la commande suivante :

gcloud kms keys delete KEY_NAME \
    --location=LOCATION \
    --keyring=KEY_RING

Remplacez les éléments suivants :

  • KEY_NAME : nom de la clé que vous souhaitez supprimer définitivement. La clé ne doit pas contenir de versions de clé qui n'ont pas encore été supprimées et ne doit pas être une clé créée par Autokey.
  • LOCATION : emplacement Cloud KMS du trousseau de clés.
  • KEY_RING : nom du trousseau de clés qui inclut la clé

Go

Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud KMS, consultez Bibliothèques clientes Cloud KMS.

Pour vous authentifier auprès de Cloud KMS, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.

import (
	"context"
	"fmt"
	"io"

	kms "cloud.google.com/go/kms/apiv1"
	"cloud.google.com/go/kms/apiv1/kmspb"
)

// deleteCryptoKey deletes a crypto key. This action is permanent and cannot be undone. Once the key is deleted, it will no longer exist.
func deleteCryptoKey(w io.Writer, name string) error {
	// name := "projects/my-project/locations/us-east1/keyRings/my-key-ring/cryptoKeys/my-key"

	// 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.DeleteCryptoKeyRequest{
		Name: name,
	}

	// Call the API.
	// Warning: This operation is permanent and cannot be undone.
	op, err := client.DeleteCryptoKey(ctx, req)
	if err != nil {
		return fmt.Errorf("failed to delete crypto key: %w", err)
	}

	// Wait for the operation to complete.
	if err := op.Wait(ctx); err != nil {
		return fmt.Errorf("failed to wait for delete crypto key operation: %w", err)
	}

	fmt.Fprintf(w, "Deleted crypto key: %s\n", req.Name)
	return nil
}

Java

Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud KMS, consultez Bibliothèques clientes Cloud KMS.

Pour vous authentifier auprès de Cloud KMS, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.

import com.google.cloud.kms.v1.CryptoKeyName;
import com.google.cloud.kms.v1.DeleteCryptoKeyMetadata;
import com.google.cloud.kms.v1.KeyManagementServiceClient;
import java.io.IOException;
import java.util.concurrent.ExecutionException;

public class DeleteKey {

  public void deleteKey() throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    String projectId = "your-project-id";
    String locationId = "us-east1";
    String keyRingId = "my-key-ring";
    String keyId = "my-key";
    deleteKey(projectId, locationId, keyRingId, keyId);
  }

  // deleteKey deletes a crypto key. This action is permanent and cannot be undone. Once the key
  // is deleted, it will no longer exist.
  public void deleteKey(String projectId, String locationId, String keyRingId, String keyId)
      throws IOException {
    // Initialize client that will be used to send requests. This client only
    // needs to be created once, and can be reused for multiple requests. After
    // completing all of your requests, call the "close" method on the client to
    // safely clean up any remaining background resources.
    try (KeyManagementServiceClient client = KeyManagementServiceClient.create()) {
      // Build the key name from the project, location, key ring, and key.
      CryptoKeyName keyName = CryptoKeyName.of(projectId, locationId, keyRingId, keyId);

      // Delete the key.
      // Warning: This operation is permanent and cannot be undone.
      // Wait for the operation to complete.
      client.deleteCryptoKeyAsync(keyName).get();
      System.out.printf("Deleted key: %s%n", keyName.toString());
    } catch (Exception e) {
      System.err.printf("Failed to delete key: %s%n", e.getMessage());
    }
  }
}

Python

Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud KMS, consultez Bibliothèques clientes Cloud KMS.

Pour vous authentifier auprès de Cloud KMS, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.

from google.cloud import kms


def delete_key(
    project_id: str, location_id: str, key_ring_id: str, key_id: str
) -> None:
    """
    Delete the given key. This action is permanent and cannot be undone. Once the
    key is deleted, it will no longer exist.

    Args:
        project_id (str): Google Cloud project ID (e.g. 'my-project').
        location_id (str): Cloud KMS location (e.g. 'us-east1').
        key_ring_id (str): ID of the Cloud KMS key ring (e.g. 'my-key-ring').
        key_id (str): ID of the key to use (e.g. 'my-key').

    Returns:
        None

    """

    # Create the client.
    client = kms.KeyManagementServiceClient()

    # Build the key name.
    key_name = client.crypto_key_path(project_id, location_id, key_ring_id, key_id)

    # Call the API.
    # Note: delete_crypto_key returns a long-running operation.
    # Warning: This operation is permanent and cannot be undone.
    operation = client.delete_crypto_key(request={"name": key_name})

    # Wait for the operation to complete.
    operation.result()

    print(f"Deleted key: {key_name}")

API

  1. Pour supprimer une clé, appelez la méthode cryptoKey.delete. Cette méthode renvoie une opération de longue durée que vous pouvez interroger pour confirmer que la clé a été supprimée.

    curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME" \
    --request "DELETE" \
    --header "authorization: Bearer TOKEN"
    

    Remplacez les éléments suivants :

    • PROJECT_ID : ID du projet contenant le trousseau de clés.
    • LOCATION : emplacement Cloud KMS du trousseau de clés.
    • KEY_RING : nom du trousseau de clés qui inclut la clé
    • KEY_NAME : nom de la clé que vous souhaitez supprimer définitivement. La clé ne doit pas contenir de versions de clé qui n'ont pas encore été supprimées et ne doit pas être une clé créée par Autokey.

    Le résultat de la commande renvoie un Operation. Vous aurez besoin du name de l'opération pour l'étape suivante.

  2. Pour confirmer que la clé a été supprimée, vous pouvez appeler la méthode operations.get :

    curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_NAME" \
        --request "GET" \
        --header "authorization: Bearer TOKEN"
    

    Remplacez les éléments suivants :

    • PROJECT_ID : ID du projet contenant le trousseau de clés.
    • LOCATION : emplacement Cloud KMS du trousseau de clés.
    • OPERATION_NAME : nom de l'opération renvoyé par la méthode précédente.

    Lorsque le résultat de cette méthode indique que done est true, l'opération est terminée. Si aucun error n'est indiqué, cela signifie que la clé a été définitivement supprimée.

Afficher les noms des ressources abandonnées

Les noms des clés supprimées ne peuvent pas être réutilisés dans le même projetGoogle Cloud . Cela empêche deux clés différentes d'avoir le même identifiant de ressource. Les noms des clés supprimées sont stockés dans des objets retiredResources. Vous pouvez interroger retiredResources pour afficher les noms qui ne peuvent pas être réutilisés pour les nouvelles ressources Cloud KMS.

Pour afficher la liste de toutes les ressources abandonnées, procédez comme suit :

gcloud

Exécutez la commande suivante :

gcloud kms retired-resources list \
    --location=LOCATION

Remplacez les éléments suivants :

  • LOCATION : l'emplacement où vous souhaitez afficher les ressources abandonnées.

Go

Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud KMS, consultez Bibliothèques clientes Cloud KMS.

Pour vous authentifier auprès de Cloud KMS, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.

import (
	"context"
	"fmt"
	"io"

	kms "cloud.google.com/go/kms/apiv1"
	kmspb "cloud.google.com/go/kms/apiv1/kmspb"
	"google.golang.org/api/iterator"
)

// listRetiredResources lists retired resources.
func listRetiredResources(w io.Writer, parent string) error {
	// parent := "projects/my-project/locations/us-east1"

	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.ListRetiredResourcesRequest{
		Parent: parent,
	}

	// Call the API.
	it := client.ListRetiredResources(ctx, req)

	// Iterate over the results.
	for {
		resp, err := it.Next()
		if err == iterator.Done {
			break
		}
		if err != nil {
			return fmt.Errorf("failed to list retired resources: %w", err)
		}

		fmt.Fprintf(w, "Retired resource: %s\n", resp.Name)
	}
	return nil
}

Java

Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud KMS, consultez Bibliothèques clientes Cloud KMS.

Pour vous authentifier auprès de Cloud KMS, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.

import com.google.cloud.kms.v1.KeyManagementServiceClient;
import com.google.cloud.kms.v1.LocationName;
import com.google.cloud.kms.v1.RetiredResource;
import java.io.IOException;

public class ListRetiredResources {

  public void listRetiredResources() throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    String projectId = "your-project-id";
    String locationId = "us-east1";
    listRetiredResources(projectId, locationId);
  }

  // List retired resources in a specific project and location.
  public void listRetiredResources(String projectId, String locationId)
      throws IOException {
    // Initialize client that will be used to send requests. This client only
    // needs to be created once, and can be reused for multiple requests. After
    // completing all of your requests, call the "close" method on the client to
    // safely clean up any remaining background resources.
    try (KeyManagementServiceClient client = KeyManagementServiceClient.create()) {
      // Build the location name from the project and location.
      LocationName locationName = LocationName.of(projectId, locationId);

      // List the retired resources.
      for (RetiredResource resource : client.listRetiredResources(locationName).iterateAll()) {
        System.out.printf("Retired resource: %s%n", resource.getName());
      }
    }
  }
}

Python

Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud KMS, consultez Bibliothèques clientes Cloud KMS.

Pour vous authentifier auprès de Cloud KMS, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.

from typing import List

from google.cloud import kms


def list_retired_resources(project_id: str, location_id: str) -> List[kms.RetiredResource]:
    """
    List the retired resources in a location.

    Args:
        project_id (str): Google Cloud project ID (e.g. 'my-project').
        location_id (str): Cloud KMS location (e.g. 'us-east1').

    Returns:
        list[kms.RetiredResource]: The list of retired resources.
    """

    # Create the client.
    client = kms.KeyManagementServiceClient()

    # Build the parent location name.
    parent = client.common_location_path(project_id, location_id)

    # Call the API.
    # The API paginates, but the Python client library handles that for us.
    resources_list = list(client.list_retired_resources(request={"parent": parent}))

    # Iterate over the resources and print them.
    for resource in resources_list:
        print(f"Retired resource: {resource.name}")

    return resources_list

API

Exécutez la méthode retiredResources.list :

curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/retiredResources/" \
    --request "GET" \
    --header "authorization: Bearer TOKEN"

Remplacez les éléments suivants :

  • PROJECT_ID : identifiant du projet dans lequel vous souhaitez afficher les ressources abandonnées.
  • LOCATION : l'emplacement où vous souhaitez afficher les ressources abandonnées.

Pour afficher les métadonnées d'une ressource individuelle obsolète, procédez comme suit :

gcloud

Exécutez la commande suivante :

gcloud kms retired-resources describe RETIRED_RESOURCE \
    --location=LOCATION

Remplacez les éléments suivants :

  • RETIRED_RESOURCE : nom de la ressource que vous souhaitez afficher.
  • LOCATION : emplacement où vous souhaitez afficher une ressource abandonnée.

Go

Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud KMS, consultez Bibliothèques clientes Cloud KMS.

Pour vous authentifier auprès de Cloud KMS, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.

import (
	"context"
	"fmt"
	"io"

	kms "cloud.google.com/go/kms/apiv1"
	kmspb "cloud.google.com/go/kms/apiv1/kmspb"
)

// getRetiredResource gets a retired resource.
func getRetiredResource(w io.Writer, name string) error {
	// name := "projects/my-project/locations/us-east1/retiredResources/my-retired-resource"

	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.GetRetiredResourceRequest{
		Name: name,
	}

	// Call the API.
	result, err := client.GetRetiredResource(ctx, req)
	if err != nil {
		return fmt.Errorf("failed to get retired resource: %w", err)
	}

	fmt.Fprintf(w, "Got retired resource: %s\n", result.Name)
	return nil
}

Java

Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud KMS, consultez Bibliothèques clientes Cloud KMS.

Pour vous authentifier auprès de Cloud KMS, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.

import com.google.cloud.kms.v1.KeyManagementServiceClient;
import com.google.cloud.kms.v1.RetiredResource;
import com.google.cloud.kms.v1.RetiredResourceName;
import java.io.IOException;

public class GetRetiredResource {

  public void getRetiredResource() throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    String projectId = "your-project-id";
    String locationId = "us-east1";
    String retiredResourceId = "my-retired-resource-id";
    getRetiredResource(projectId, locationId, retiredResourceId);
  }

  // Get the retired resource.
  public void getRetiredResource(
      String projectId, String locationId, String retiredResourceId)
      throws IOException {
    // Initialize client that will be used to send requests. This client only
    // needs to be created once, and can be reused for multiple requests. After
    // completing all of your requests, call the "close" method on the client to
    // safely clean up any remaining background resources.
    try (KeyManagementServiceClient client = KeyManagementServiceClient.create()) {
      // Build the retired resource name from the project, location, and retired resource id.
      RetiredResourceName name = RetiredResourceName.of(projectId, locationId, retiredResourceId);

      // Get the retired resource.
      RetiredResource response = client.getRetiredResource(name);
      System.out.printf("Retired resource: %s%n", response.getName());
    }
  }
}

Python

Pour savoir comment installer et utiliser la bibliothèque cliente pour Cloud KMS, consultez Bibliothèques clientes Cloud KMS.

Pour vous authentifier auprès de Cloud KMS, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.

from google.cloud import kms


def get_retired_resource(
    project_id: str, location_id: str, retired_resource_id: str
) -> kms.RetiredResource:
    """
    Get the details of a retired resource.

    Args:
        project_id (str): Google Cloud project ID (e.g. 'my-project').
        location_id (str): Cloud KMS location (e.g. 'us-east1').
        resource_id (str): ID of the retired resource to get.

    Returns:
        kms.RetiredResource: The requested retired resource.

    """

    # Create the client.
    client = kms.KeyManagementServiceClient()

    # Build the retired resource name.
    # Note: Retired resources are tied to a Location, not a KeyRing.
    # The name is like projects/{project}/locations/{location}/retiredResources/{id}
    name = client.retired_resource_path(project_id, location_id, retired_resource_id)

    # Call the API.
    response = client.get_retired_resource(request={"name": name})

    print(f"Got retired resource: {response.name}")
    return response

API

Utilisez la méthode retiredResources.get :

curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/retiredResources/RETIRED_RESOURCE" \
    --request "GET" \
    --header "authorization: Bearer TOKEN"

Remplacez les éléments suivants :

  • PROJECT_ID : identifiant du projet dans lequel vous souhaitez afficher une ressource obsolète.
  • LOCATION : emplacement où vous souhaitez afficher une ressource abandonnée.
  • RETIRED_RESOURCE : nom de la ressource que vous souhaitez afficher.

Le résultat de la méthode inclut le resourceType, le deleteTime et l'identifiant complet de la ressource supprimée.

Étapes suivantes