Crea un llavero de claves

En esta página, se muestra cómo crear un llavero de claves en Cloud KMS. Un llavero de claves es el recurso raíz para las claves y las versiones de claves de Cloud KMS. Cada llavero de claves existe dentro de una ubicación determinada. Los llaveros de claves y los recursos que contienen no se pueden mover a una ubicación diferente después de crearlos. Para obtener más información sobre los recursos de Cloud KMS, consulta Recursos de Cloud KMS recursos.

Antes de comenzar

Antes de completar las tareas de esta página, necesitas lo siguiente:

  • Un Google Cloud recurso de proyecto para contener tus recursos de Cloud KMS. Este proyecto se denomina proyecto de claves. Te recomendamos que tu proyecto de claves no contenga ningún otro Google Cloud recurso. Habilita la API de Cloud KMS en tu proyecto de claves.

    Habilitar la API

  • El nombre de la ubicación en la que deseas crear tu llavero de claves. Elige una ubicación que esté cerca de tus otros recursos y que admita el nivel de protección elegido . Para ver las ubicaciones disponibles y los niveles de protección que admiten, consulta Ubicaciones de Cloud KMS.

Roles obligatorios

Para obtener los permisos que necesitas para crear llaveros de claves, pídele a tu administrador que te otorgue el rol de IAM de administrador de Cloud KMS (roles/cloudkms.admin) en el proyecto o en un recurso superior. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Este rol predefinido contiene los permisos necesarios para crear llaveros de claves. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para crear llaveros de claves:

  • cloudkms.keyRings.create
  • cloudkms.keyRings.get
  • cloudkms.keyRings.list
  • cloudkms.locations.get
  • cloudkms.locations.list
  • resourcemanager.projects.get

También puedes obtener estos permisos con roles personalizados o otros roles predefinidos.

Crea un llavero de claves

Sigue estos pasos a fin de crear un llavero de claves para tu clave nueva. En cambio, si deseas usar un llavero de claves existente, puedes crear una clave.

Console

  1. Ve a la página Administración de claves en la Google Cloud consola.

    Ir a Key Management

  2. Haz clic en Crear llavero de claves.

  3. En Nombre del llavero de claves, ingresa un nombre para tu llavero de claves.

  4. En Ubicación del llavero de claves, selecciona una ubicación, como "us-east1".

  5. Haz clic en Crear.

gcloud

  1. En la Google Cloud consola, activa Cloud Shell.

    Activa Cloud Shell

  2. En tu entorno, ejecuta el comando gcloud kms keyrings create:

    gcloud kms keyrings create KEY_RING \
        --location LOCATION
    

    Reemplaza lo siguiente:

    • KEY_RING: el nombre del llavero de claves que incluye la clave
    • LOCATION: la ubicación de Cloud KMS del llavero de claves.

    Para obtener información sobre todas las marcas y los valores posibles, ejecuta el comando con la marca --help.

C#

Para ejecutar este código, primero configura un entorno de desarrollo de C# e instala el SDK de C# para Cloud KMS.


using Google.Api.Gax.ResourceNames;
using Google.Cloud.Kms.V1;

public class CreateKeyRingSample
{
    public KeyRing CreateKeyRing(
      string projectId = "my-project", string locationId = "us-east1",
      string id = "my-key-ring")
    {
        // Create the client.
        KeyManagementServiceClient client = KeyManagementServiceClient.Create();

        // Build the parent location name.
        LocationName locationName = new LocationName(projectId, locationId);

        // Build the key ring.
        KeyRing keyRing = new KeyRing { };

        // Call the API.
        KeyRing result = client.CreateKeyRing(locationName, id, keyRing);

        // Return the result.
        return result;
    }
}

Go

Para ejecutar este código, primero configura un entorno de desarrollo de Go y luego, instala el SDK de Go para Cloud KMS.

import (
	"context"
	"fmt"
	"io"

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

// createKeyRing creates a new ring to store keys on KMS.
func createKeyRing(w io.Writer, parent, id string) error {
	// parent := "projects/PROJECT_ID/locations/global"
	// id := "my-key-ring"

	// 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.CreateKeyRingRequest{
		Parent:    parent,
		KeyRingId: id,
	}

	// Call the API.
	result, err := client.CreateKeyRing(ctx, req)
	if err != nil {
		return fmt.Errorf("failed to create key ring: %w", err)