Elimina risorse Cloud KMS

Questo documento mostra come eliminare definitivamente le chiavi e le versioni delle chiavi di Cloud Key Management Service. Questa operazione è irreversibile.

In Cloud KMS, l'eliminazione e l'eliminazione definitiva sono operazioni diverse:

  • Eliminazione: disattiva definitivamente una versione della chiave, eliminando in modo irreversibile il materiale della chiave sottostante dopo il periodo di eliminazione specificato. Una versione della chiave nello stato DESTROYED non può essere utilizzata per operazioni di crittografia e non viene più fatturata. Puoi eliminare una versione della chiave utilizzata per criptare i dati per criptare� i dati che vuoi rendere permanentemente irrecuperabili. Le versioni delle chiavi eliminate sono comunque incluse negli elenchi delle risorse Cloud KMS.

  • Eliminazione: rimuove una chiave o una versione della chiave dagli elenchi di risorse Cloud KMS nella console Google Cloud , in Google Cloud CLI, nell'API Cloud Key Management Service e nelle librerie client. Per i progetti con molte chiavi o versioni di chiavi non più attive, l'eliminazione semplifica le operazioni di ricerca ed elenco. I nomi delle CryptoKey eliminate non possono essere riutilizzati. Puoi visualizzare un elenco dei nomi CryptoKey eliminati che non possono essere riutilizzati utilizzando il metodo retiredResources.list.

Prima di iniziare

Per ottenere le autorizzazioni necessarie per eliminare e visualizzare le risorse Cloud KMS, chiedi all'amministratore di concederti il ruolo IAM Amministratore Cloud KMS (roles/cloudkms.admin) sulla chiave. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Questo ruolo predefinito contiene le autorizzazioni necessarie per eliminare e visualizzare le risorse Cloud KMS. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per eliminare e visualizzare le risorse Cloud KMS sono necessarie le seguenti autorizzazioni:

  • Per eliminare una versione della chiave: cloudkms.cryptoKeyVersions.delete
  • Per eliminare una chiave: cloudkms.cryptoKeys.delete
  • Per visualizzare le risorse eliminate:
    • cloudkms.retiredResources.get
    • cloudkms.retiredResources.list

Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

Eliminare una versione della chiave

Puoi eliminare una versione della chiave se si trova nello stato DESTROYED, IMPORT_FAILED o GENERATION_FAILED. Se la versione della chiave è stata importata, può essere eliminata solo se l'importazione non è riuscita.

Per eliminare definitivamente una versione della chiave:

Console

  1. Nella console Google Cloud , vai alla pagina Key Management.

    Vai a Gestione delle chiavi

  2. Fai clic sul nome delle chiavi automatizzate contenenti la chiave e la versione della chiave che vuoi eliminare.

  3. Fai clic sulla chiave contenente la versione della chiave che vuoi eliminare.

  4. Nella tabella Versioni, individua la versione della chiave che vuoi eliminare, quindi fai clic su Altre azioni.

  5. Nel menu Altre azioni, fai clic su Elimina.

  6. Nel prompt di conferma, inserisci il nome della chiave e fai clic su Elimina.

gcloud

Per eliminare una versione della chiave, esegui questo comando:

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

Sostituisci quanto segue:

  • KEY_VERSION: il numero della versione della chiave che vuoi eliminare definitivamente. La versione della chiave indicata deve trovarsi nello stato DESTROYED, IMPORT_FAILED o GENERATION_FAILED.
  • LOCATION: la posizione di Cloud KMS delle chiavi automatizzate.
  • KEY_RING: il nome delle chiavi automatizzate che contengono la chiave.
  • KEY_NAME: il nome della chiave che contiene la versione della chiave che vuoi eliminare definitivamente.

Go

Per scoprire come installare e utilizzare la libreria client per Cloud KMS, consulta la sezione Librerie client Cloud KMS.

Per eseguire l'autenticazione in Cloud KMS, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.

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

Per scoprire come installare e utilizzare la libreria client per Cloud KMS, consulta la sezione Librerie client Cloud KMS.

Per eseguire l'autenticazione in Cloud KMS, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.

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

Per scoprire come installare e utilizzare la libreria client per Cloud KMS, consulta la sezione Librerie client Cloud KMS.

Per eseguire l'autenticazione in Cloud KMS, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.

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. Per eliminare una versione della chiave, chiama il metodo cryptoKeyVersions.delete. Questo metodo restituisce un'operazione a lunga esecuzione che puoi eseguire il polling per verificare che la versione della chiave sia stata eliminata.

    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"
    

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del progetto che contiene le chiavi automatizzate.
    • LOCATION: la posizione di Cloud KMS delle chiavi automatizzate.
    • KEY_RING: il nome delle chiavi automatizzate che contengono la chiave.
    • KEY_NAME: il nome della chiave che contiene la versione della chiave che vuoi eliminare definitivamente.
    • KEY_VERSION: il numero della versione della chiave che vuoi eliminare definitivamente. La versione della chiave indicata deve trovarsi nello stato DESTROYED, IMPORT_FAILED o GENERATION_FAILED.

    L'output del comando restituisce un Operation. Per il passaggio successivo, devi disporre del name dell'operazione.

  2. Per verificare che la versione della chiave sia stata eliminata, puoi chiamare il metodo operations.get:

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

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del progetto che contiene le chiavi automatizzate.
    • LOCATION: la posizione di Cloud KMS delle chiavi automatizzate.
    • OPERATION_NAME: il nome dell'operazione restituita dal metodo precedente.

    Quando l'output di questo metodo mostra che done è true, l'operazione è terminata. Se non è indicato alcun error, la versione della chiave è stata eliminata definitivamente.

Eliminare una chiave

Puoi eliminare una chiave se soddisfa le seguenti condizioni:

  • La chiave non contiene versioni non ancora eliminate.
  • La chiave non ha una rotazione della chiave automatica pianificata.
  • La chiave non è stata creata da Autokey di Cloud KMS.

Per eliminare definitivamente una chiave:

Console

  1. Nella console Google Cloud , vai alla pagina Key Management.

    Vai a Gestione delle chiavi

  2. Fai clic sul nome del keyring contenente la chiave che vuoi eliminare.

  3. Elimina la chiave utilizzando una delle seguenti posizioni:

    • Pagina dell'elenco delle chiavi: nella tabella Chiavi per il portachiavi "KEY_RING", individua la chiave da eliminare, fai clic su Azioni chiave e poi su Elimina.
    • Pagina dei dettagli della chiave: fai clic sul nome della chiave che vuoi eliminare per aprire la pagina Dettagli chiave. Nella parte superiore della pagina, fai clic su Elimina.
  4. Nel prompt di conferma, inserisci il nome della chiave e fai clic su Elimina.

gcloud

Per eliminare una chiave, esegui questo comando:

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

Sostituisci quanto segue:

  • KEY_NAME: il nome della chiave che vuoi eliminare definitivamente. La chiave non deve contenere versioni che non sono ancora state eliminate e non deve essere una chiave creata da Autokey.
  • LOCATION: la posizione di Cloud KMS delle chiavi automatizzate.
  • KEY_RING: il nome delle chiavi automatizzate che contengono la chiave.

Go

Per scoprire come installare e utilizzare la libreria client per Cloud KMS, consulta la sezione Librerie client Cloud KMS.

Per eseguire l'autenticazione in Cloud KMS, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.

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

Per scoprire come installare e utilizzare la libreria client per Cloud KMS, consulta la sezione Librerie client Cloud KMS.

Per eseguire l'autenticazione in Cloud KMS, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.

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

Per scoprire come installare e utilizzare la libreria client per Cloud KMS, consulta la sezione Librerie client Cloud KMS.

Per eseguire l'autenticazione in Cloud KMS, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.

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. Per eliminare una chiave, chiama il metodo cryptoKey.delete. Questo metodo restituisce un'operazione a lunga esecuzione che puoi eseguire il polling per verificare che la chiave sia stata eliminata.

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

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del progetto che contiene le chiavi automatizzate.
    • LOCATION: la posizione di Cloud KMS delle chiavi automatizzate.
    • KEY_RING: il nome delle chiavi automatizzate che contengono la chiave.
    • KEY_NAME: il nome della chiave che vuoi eliminare definitivamente. La chiave non deve contenere versioni che non sono ancora state eliminate e non deve essere una chiave creata da Autokey.

    L'output del comando restituisce un Operation. Per il passaggio successivo, devi disporre del name dell'operazione.

  2. Per verificare che la chiave sia stata eliminata, puoi chiamare il metodo operations.get:

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

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del progetto che contiene le chiavi automatizzate.
    • LOCATION: la posizione di Cloud KMS delle chiavi automatizzate.
    • OPERATION_NAME: il nome dell'operazione restituita dal metodo precedente.

    Quando l'output di questo metodo mostra che done è true, l'operazione è terminata. Se non è indicato alcun error, la chiave è stata eliminata definitivamente.

Visualizzare i nomi delle risorse ritirate

I nomi delle chiavi eliminate non possono essere riutilizzati nello stesso progettoGoogle Cloud . In questo modo, due chiavi diverse non possono avere lo stesso identificatore di risorsa. I nomi delle chiavi eliminate vengono archiviati negli oggetti retiredResources. Puoi eseguire query su retiredResources per visualizzare i nomi che non possono essere riutilizzati per le nuove risorse Cloud KMS.

Per visualizzare un elenco di tutte le risorse ritirate:

gcloud

Esegui questo comando:

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

Sostituisci quanto segue:

  • LOCATION: la località in cui vuoi visualizzare le risorse ritirate.

Go

Per scoprire come installare e utilizzare la libreria client per Cloud KMS, consulta la sezione Librerie client Cloud KMS.

Per eseguire l'autenticazione in Cloud KMS, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.

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

Per scoprire come installare e utilizzare la libreria client per Cloud KMS, consulta la sezione Librerie client Cloud KMS.

Per eseguire l'autenticazione in Cloud KMS, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.

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

Per scoprire come installare e utilizzare la libreria client per Cloud KMS, consulta la sezione Librerie client Cloud KMS.

Per eseguire l'autenticazione in Cloud KMS, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.

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

Utilizza il metodo retiredResources.list:

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

Sostituisci quanto segue:

  • PROJECT_ID: l'identificatore del progetto in cui vuoi visualizzare le risorse ritirate.
  • LOCATION: la località in cui vuoi visualizzare le risorse ritirate.

Per visualizzare i metadati di una singola risorsa ritirata:

gcloud

Esegui questo comando:

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

Sostituisci quanto segue:

  • RETIRED_RESOURCE: il nome della risorsa che vuoi visualizzare.
  • LOCATION: la località in cui vuoi visualizzare una risorsa ritirata.

Go

Per scoprire come installare e utilizzare la libreria client per Cloud KMS, consulta la sezione Librerie client Cloud KMS.

Per eseguire l'autenticazione in Cloud KMS, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.

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

Per scoprire come installare e utilizzare la libreria client per Cloud KMS, consulta la sezione Librerie client Cloud KMS.

Per eseguire l'autenticazione in Cloud KMS, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.

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

Per scoprire come installare e utilizzare la libreria client per Cloud KMS, consulta la sezione Librerie client Cloud KMS.

Per eseguire l'autenticazione in Cloud KMS, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.

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

Utilizza il metodo retiredResources.get:

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

Sostituisci quanto segue:

  • PROJECT_ID: l'identificatore del progetto in cui vuoi visualizzare una risorsa ritirata.
  • LOCATION: la località in cui vuoi visualizzare una risorsa ritirata.
  • RETIRED_RESOURCE: il nome della risorsa che vuoi visualizzare.

L'output del metodo include resourceType, deleteTime e l'identificatore di risorsa completo della risorsa eliminata.

Passaggi successivi