En esta página, se muestra cómo crear recursos protegidos con claves creadas por Autokey de Cloud KMS para la encriptación Para obtener más información sobre las claves automáticas, consulta Descripción general de las claves automáticas.
Antes de comenzar
Antes de crear recursos protegidos con Autokey, debes completa los siguientes pasos para prepararte:
- Si aún no tienes un proyecto de recursos en Autokey, carpeta, debes crear un project para contener los recursos que planeas crear.
-
A fin de obtener los permisos que necesitas para usar Autokey para crear solicita a tu administrador que te otorgue el Rol de IAM de usuario de Autokey de Cloud KMS (
roles/cloudkms.autokeyUser
) en la carpeta o el proyecto. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.También puedes obtener los permisos necesarios mediante roles personalizados o cualquier otro rol predefinido.
- También necesitas permisos para crear recursos en la carpeta de Autokey o en un proyecto de recursos dentro de la carpeta. Para obtener más información sobre los permisos necesarios para crear cada recurso, consulta la documentación específica del servicio. Para encontrar esta documentación, busca el servicio en la tabla de integraciones de CMEK y visita el vínculo del tipo de recurso que deseas crear.
Usa Autokey con recursos de Compute Engine
Autokey crea una clave nueva para cada disco, imagen y máquina en la misma ubicación que el recurso que se está creando.
Autokey no crea claves nuevas para las instantáneas. Las instantáneas deben usar la misma clave que se usó para encriptar el disco. Si creas una instantánea con el la consola de Google Cloud, la clave de encriptación que usa el disco se aplicado a la instantánea. Si creas una instantánea con la CLI de gcloud, Terraform o la API de Compute Engine, debes identificar la clave que se usa para encriptar el disco y usarla para encriptar la instantánea.
Para obtener más información sobre el uso de CMEK con instantáneas, consulta Crea una instantánea. de un disco encriptado con CMEK.
Crea un recurso de Compute Engine protegido
Console
Para crear un disco, completa los siguientes pasos:
En la consola de Google Cloud, ve a la página Discos.
Haz clic en Crear disco y, luego, ingresa las propiedades del disco nuevo.
En Encriptación, selecciona Clave de Cloud KMS.
En Tipo de clave, selecciona Cloud KMS con Autokey y, luego, haz clic en Solicita una clave nueva. Un mensaje indica si la llave se ha se creó correctamente y está lista para usarse.
Para terminar de crear el disco, haz clic en Crear.
Puedes seguir un proceso similar para crear recursos de instancia, imagen y imagen de máquina protegidos.
Terraform
En el siguiente ejemplo de Terraform, se crea un control de acceso a claves y se usa la clave que se muestra para proteger un nuevo recurso de disco persistente:
resource "google_kms_key_handle" "my_key_handle" {
provider = google-beta
project = "RESOURCE_PROJECT_ID"
name = "KEY_HANDLE"
location = "LOCATION"
resource_type_selector = "compute.googleapis.com/Disk"
}
resource "google_compute_disk" "persistent_disk" {
project = "RESOURCE_PROJECT_ID"
name = "DISK_NAME"
type = "pd-ssd"
zone = "ZONE"
size = 30
physical_block_size_bytes = 4096
disk_encryption_key {
kms_key_self_link = google_kms_key_handle.my_key_handle.kms_key
}
}
Reemplaza lo siguiente:
RESOURCE_PROJECT_ID
: Es el ID del proyecto de recursos dentro de la carpeta Autokey en la que deseas crear un recurso protegido.KEY_HANDLE
: Es un ID que se usará para el identificador de clave.LOCATION
: Es la ubicación en la que deseas crear la ruta protegida. recurso.DISK_NAME
: Es el nombre del disco nuevo.ZONE
: Es la zona del recurso protegido. Debe ser una zona dentro de la ubicación en la que creas el recurso. Para Por ejemplo, si creas el recurso en la ubicaciónus-central1
, la zona podría serus-central1-a
.
Cloud KMS no te permite borrar
KeyHandle
recursos. Si usas un patrón de creación y destrucción, intenta
para recrear un KeyHandle
produce un error ALREADY_EXISTS
. Para evitar esto,
puedes importar un KeyHandle
creado previamente. Para obtener más información, consulta Crea y destruye patrones en Terraform en esta página.
API
Para solicitar una clave de Cloud KMS nueva, crea un
KeyHandle
:curl -H "Content-Type: application/json" \ -H "X-Goog-User-Project: USER_PROJECT" \ -H "Authorization: Bearer TOKEN" \ -X POST https://cloudkms.googleapis.com/v1/projects/RESOURCE_PROJECT_ID/locations/LOCATION/keyHandles \ -d '{"resource_type_selector": "RESOURCE_TYPE"}'
Reemplaza lo siguiente:
USER_PROJECT
: Es el proyecto al que se facturarán los cargos. asociados con esta solicitud.RESOURCE_PROJECT_ID
: Es el ID del proyecto de recursos dentro de la carpeta Autokey en la que deseas crear un recurso protegido.LOCATION
: Es la ubicación en la que deseas crear la recurso protegido.RESOURCE_TYPE
: Es el tipo de recurso que deseas. crear, por ejemplo,compute.googleapis.com/Disk
.
El resultado es similar a este:
{ "name": "projects/RESOURCE_PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.kms.v1.CreateKeyHandleMetadata" } }
Toma nota del
OPERATION_ID
del resultado. Necesitas este valor. para obtener el ID de recurso de la clave creada.Busca la clave de Cloud KMS asociada con el identificador de clave:
curl -H "X-Goog-User-Project: USER_PROJECT" \ -H "Authorization: Bearer TOKEN" \ -X GET https://cloudkms.googleapis.com/v1/projects/RESOURCE_PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
Reemplaza lo siguiente:
USER_PROJECT
: Es el proyecto al que se facturarán los cargos. asociados con esta solicitud.RESOURCE_PROJECT_ID
: Es el ID del proyecto de recursos dentro de la carpeta Autokey en la que deseas crear un recurso protegido.LOCATION
: Es la ubicación en la que deseas crear el recurso protegido.OPERATION_ID
: Es el identificador de la operación de solicitud de control de claves de la salida del paso anterior.
El resultado es similar a este:
{ "name": "projects/RESOURCE_PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "done": true, "response": { "@type": "type.googleapis.com/google.cloud.kms.v1.KeyHandle", "name": "projects/RESOURCE_PROJECT_ID/locations/LOCATION/keyHandles/KEY_HANDLE", "kmsKey": "projects/KEY_PROJECT_ID/locations/LOCATION/keyRings/autokey/cryptoKeys/KEY_NAME", "resourceTypeSelector": "RESOURCE_TYPE" } }
El valor del elemento
kmsKey
en el resultado es el ID de recurso completo de la clave que Autokey creó para este recurso. Puedes usar este ID de recurso de la misma manera que usarías el ID de recurso de cualquier otro recurso de Cloud KMS.Crea un disco encriptado a través de la
gcloud compute disks create
comando, con el Marca de--kms-key
:gcloud compute disks create DISK_NAME \ --kms-key projects/KEY_PROJECT_ID/locations/LOCATION/keyRings/autokey/cryptoKeys/KEY_NAME
Reemplaza lo siguiente:
DISK_NAME
: Es el nombre del disco nuevo.KEY_PROJECT_ID
: Es el ID del proyecto clave.LOCATION
: Es la ubicación en la que deseas crear el recurso.KEY_NAME
: Es el nombre de la clave que se muestra en el resultado del paso anterior.
Usa Autokey con recursos de Cloud Storage
Autokey crea una clave nueva en la misma ubicación que el bucket. La clave que crea Autokey se asigna como la clave predeterminada del bucket.
Autokey no crea claves para objetos. De forma predeterminada, los objetos creados en de un bucket usan la clave predeterminada del bucket. Si quieres encriptar un objeto con una clave distinta de la clave predeterminada del bucket, puedes crear una CMEK de forma manual y usarla cuando crees el objeto.
Si quieres cambiar la clave predeterminada que se asignó a un bucket, puedes usar cualquiera las CMEK existentes, incluidas las claves que crea Autokey.
Crea un recurso de Cloud Storage protegido
Console
En la consola de Google Cloud, ve a la página Crear un bucket.
Sigue las instrucciones para Crear un bucket nuevo hasta llegar a Elige cómo proteger los datos de objetos.
En Elige cómo proteger los datos de los objetos, expande el menú Datos encriptación y, luego, selecciona Clave de Cloud KMS.
En Tipo de clave, selecciona Cloud KMS con Autokey y, luego, haz clic en Solicita una clave nueva. Aparecerá un mensaje que indicará cuando la clave se haya creado correctamente y esté lista para usarse.
Para terminar de crear el bucket, haz clic en Crear.
Terraform
En la siguiente muestra de Terraform, se crea un controlador de clave y se usa la clave que se muestra para proteger un nuevo bucket de almacenamiento:
resource "google_kms_key_handle" "my_key_handle" {
provider = google-beta
project = "RESOURCE_PROJECT_ID"
name = "KEY_HANDLE"
location = "LOCATION"
resource_type_selector = "storage.googleapis.com/Bucket"
}
resource "google_storage_bucket" "simple_bucket_name" {
name = "BUCKET_NAME"
location = "LOCATION"
force_destroy = true
project = "RESOURCE_PROJECT_ID"
uniform_bucket_level_access = true
encryption {
default_kms_key_name = google_kms_key_handle.my_key_handle.kms_key
}
}
Reemplaza lo siguiente:
RESOURCE_PROJECT_ID
: Es el ID del proyecto de recursos dentro de la carpeta Autokey en la que deseas crear un recurso protegido.KEY_HANDLE
: Es un ID que se usará para el identificador de clave.LOCATION
: Es la ubicación en la que deseas crear el recurso protegido.BUCKET_NAME
: Es el nombre del bucket nuevo.
Cloud KMS no te permite borrar
KeyHandle
recursos. Si usas un patrón de creación y destrucción, intentar recrear un KeyHandle
genera un error ALREADY_EXISTS
. Para evitar este
problema, puedes importar un KeyHandle
creado anteriormente. Para obtener más información,
consulta Crea y destruye patrones en Terraform
.
API
Para solicitar una nueva clave de Cloud KMS, crea un
KeyHandle
:curl -H "Content-Type: application/json" \ -H "X-Goog-User-Project: USER_PROJECT" \ -H "Authorization: Bearer TOKEN" \ -X POST https://cloudkms.googleapis.com/v1/projects/RESOURCE_PROJECT_ID/locations/LOCATION/keyHandles \ -d '{"resource_type_selector": "RESOURCE_TYPE"}'
Reemplaza lo siguiente:
USER_PROJECT
: Es el proyecto al que se facturarán los cargos. asociados con esta solicitud.RESOURCE_PROJECT_ID
: Es el ID del proyecto de recursos dentro de la carpeta Autokey en la que deseas crear un recurso protegido.LOCATION
: Es la ubicación en la que deseas crear el recurso protegido.RESOURCE_TYPE
: Es el tipo de recurso que deseas. crear, por ejemplo,storage.googleapis.com/Bucket
.
El resultado es similar a este:
{ "name": "projects/RESOURCE_PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.kms.v1.CreateKeyHandleMetadata" } }
Toma nota del
OPERATION_ID
del resultado. Lo necesitas value para obtener el ID de recurso de la clave creada.Busca la clave de Cloud KMS asociada con el controlador de clave:
curl -H "X-Goog-User-Project: USER_PROJECT" \ -H "Authorization: Bearer TOKEN" \ -X GET https://cloudkms.googleapis.com/v1/projects/RESOURCE_PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
Reemplaza lo siguiente:
USER_PROJECT
: Es el proyecto al que se facturarán los cargos. asociados con esta solicitud.RESOURCE_PROJECT_ID
: Es el ID del proyecto de recursos dentro de la carpeta Autokey en la que deseas crear un recurso protegido.LOCATION
: Es la ubicación en la que deseas crear el recurso protegido.OPERATION_ID
: Es el identificador de la operación de solicitud de control de claves de la salida del paso anterior.
El resultado es similar a este:
{ "name": "projects/RESOURCE_PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "done": true, "response": { "@type": "type.googleapis.com/google.cloud.kms.v1.KeyHandle", "name": "projects/RESOURCE_PROJECT_ID/locations/LOCATION/keyHandles/KEY_HANDLE", "kmsKey": "projects/KEY_PROJECT_ID/locations/LOCATION/keyRings/autokey/cryptoKeys/KEY_NAME", "resourceTypeSelector": "RESOURCE_TYPE" } }
El valor del elemento
kmsKey
en el resultado es el ID de recurso completo de la clave que Autokey creó para este recurso. Puedes usar este ID de recurso de la misma manera que lo usarías para cualquier otro recurso de Cloud KMS.Crea un bucket encriptado con el comando
gcloud storage buckets create
, con la marca--default-encryption-key
:gcloud storage buckets create gs://BUCKET_NAME \ --location=LOCATION \ --default-encryption-key=projects/KEY_PROJECT_ID/locations/LOCATION/keyRings/autokey/cryptoKeys/KEY_NAME
Reemplaza lo siguiente:
BUCKET_NAME
: Es el nombre del bucket nuevo. El el nombre del bucket debe seguir requisitos para nombrar buckets.LOCATION
: Es la ubicación en la que deseas crear el bucket.KEY_PROJECT_ID
: Es el ID del proyecto clave.LOCATION
: Es la ubicación en la que deseas crear el recurso.KEY_NAME
: Es el nombre de la clave que se muestra en el resultado del paso anterior.
Cómo usar Autokey con recursos de BigQuery
Cloud KMS está disponible en varias ediciones de BigQuery. Marca asegurarse de que la edición de BigQuery que usas es compatible Cloud KMS antes de que intentes usar Autokey para proteger a los recursos de BigQuery. Para obtener más información sobre las ediciones de BigQuery, consulta Información sobre las ediciones de BigQuery.
Para cada conjunto de datos nuevo, Autokey crea una clave nueva en la misma ubicación como el recurso en sí, que se convierte en la clave predeterminada del conjunto de datos.
Autokey no crea claves para tablas, consultas, tablas temporales o e implementar modelos automáticamente. De forma predeterminada, estos recursos están protegidos por la clave predeterminada del conjunto de datos. Si deseas proteger un recurso en un conjunto de datos con una clave distinta del conjunto de datos predeterminada, puedes crear una CMEK de forma manual y usarla cuando crees la recurso.
Para consultas y tablas temporales que no están dentro de un conjunto de datos, usa las variables claves predeterminadas. Usa una clave predeterminada de proyecto diferente para cada ubicación en el que contiene recursos de BigQuery. Para obtener más información con claves predeterminadas del proyecto, consulta Establece una clave predeterminada del proyecto.
Para obtener más información sobre el uso de CMEK con BigQuery, consulta Claves de Cloud KMS administradas por el cliente.
Crea un recurso protegido de BigQuery
Console
Antes de intentar crear un conjunto de datos de BigQuery con Autokey, asegúrate de tener los permisos necesarios. Para ver más Para obtener más información sobre la creación de conjuntos de datos, consulta Crea conjuntos de datos.
En la consola de Google Cloud, ve a la página de BigQuery.
Sigue las instrucciones para crear un conjunto de datos hasta que llegues a Opciones avanzadas > Encriptación.
En Encriptación, selecciona Clave de Cloud KMS.
En Tipo de clave, selecciona Cloud KMS con Autokey y, luego, haz clic en Solicitar una clave nueva. Aparecerá un mensaje que indicará cuando la clave se haya creado correctamente y esté lista para usarse.
Para terminar de crear el conjunto de datos, haz clic en Crear conjunto de datos.
Terraform
En el siguiente ejemplo de Terraform, se crea un control de acceso a claves y se usa la clave que se muestra para proteger un conjunto de datos nuevo:
resource "google_kms_key_handle" "my_key_handle" {
provider = google-beta
project = "RESOURCE_PROJECT_ID"
name = "test-key-handle"
location = "LOCATION"
resource_type_selector = "bigquery.googleapis.com/Dataset"
}
resource "google_bigquery_dataset" "dataset" {
project = "RESOURCE_PROJECT_ID"
dataset_id = "DATASET_ID"
friendly_name = "DATASET_NAME"
description = "DATASET_DESCRIPTION"
location = "LOCATION"
default_table_expiration_ms = 3600000
default_encryption_configuration {
kms_key_name = google_kms_key_handle.my_key_handle.kms_key
}
}
Reemplaza lo siguiente:
RESOURCE_PROJECT_ID
: Es el ID del proyecto de recursos dentro de la carpeta Autokey en la que deseas crear un recurso protegido.LOCATION
: Es la ubicación en la que deseas crear la ruta protegida. recurso.DATASET_ID
: Es el ID que se usará para el conjunto de datos nuevo.DATASET_NAME
: Es un nombre sencillo para el nuevo elemento. de tu conjunto de datos.DATASET_DESCRIPTION
: Una descripción para la nueva de tu conjunto de datos.
Cloud KMS no te permite borrar
KeyHandle
recursos. Si usas un patrón de creación y destrucción, intenta
para recrear un KeyHandle
produce un error ALREADY_EXISTS
. Para evitar esto,
puedes importar un KeyHandle
creado previamente. Para obtener más información, consulta Crea y destruye patrones en Terraform en esta página.
API
Para solicitar una nueva clave de Cloud KMS, crea un
KeyHandle
:curl -H "Content-Type: application/json" \ -H "X-Goog-User-Project: USER_PROJECT" \ -H "Authorization: Bearer TOKEN" \ -X POST https://cloudkms.googleapis.com/v1/projects/RESOURCE_PROJECT_ID/locations/LOCATION/keyHandles \ -d '{"resource_type_selector": "RESOURCE_TYPE"}'
Reemplaza lo siguiente:
USER_PROJECT
: Es el proyecto al que se facturarán los cargos. asociados con esta solicitud.RESOURCE_PROJECT_ID
: Es el ID del proyecto de recursos dentro de la carpeta Autokey en la que deseas crear un recurso protegido.LOCATION
: Es la ubicación en la que deseas crear el recurso protegido.RESOURCE_TYPE
: El tipo de recurso que deseas crear, por ejemplo,bigquery.googleapis.com/Dataset
.
El resultado es similar a este:
{ "name": "projects/RESOURCE_PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.kms.v1.CreateKeyHandleMetadata" } }
Toma nota del
OPERATION_ID
del resultado. Lo necesitas value para obtener el ID de recurso de la clave creada.Busca la clave de Cloud KMS asociada con el controlador de clave:
curl -H "X-Goog-User-Project: USER_PROJECT" \ -H "Authorization: Bearer TOKEN" \ -X GET https://cloudkms.googleapis.com/v1/projects/RESOURCE_PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
Reemplaza lo siguiente:
USER_PROJECT
: Es el proyecto al que se facturarán los cargos. asociados con esta solicitud.RESOURCE_PROJECT_ID
: Es el ID del proyecto de recursos dentro de la carpeta Autokey en la que deseas crear un recurso protegido.LOCATION
: Es la ubicación en la que deseas crear el recurso protegido.OPERATION_ID
: Es el identificador de la operación de solicitud de control de claves de la salida del paso anterior.
El resultado es similar a este:
{ "name": "projects/RESOURCE_PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "done": true, "response": { "@type": "type.googleapis.com/google.cloud.kms.v1.KeyHandle", "name": "projects/RESOURCE_PROJECT_ID/locations/LOCATION/keyHandles/KEY_HANDLE", "kmsKey": "projects/KEY_PROJECT_ID/locations/LOCATION/keyRings/autokey/cryptoKeys/KEY_NAME", "resourceTypeSelector": "RESOURCE_TYPE" } }
El valor del elemento
kmsKey
en el resultado es el ID del recurso completo. de la clave que creó Autokey para este recurso. Puedes usar este ID de recurso de la misma manera que lo usarías para cualquier otro recurso de Cloud KMS.Crea un conjunto de datos encriptado a través de
bq mk
comando, con el--destination_kms_key
.bq --location=LOCATION mk \ --dataset \ --default_kms_key=projects/KEY_PROJECT_ID/locations/LOCATION/keyRings/autokey/cryptoKeys/KEY_NAME \ --default_table_expiration=TABLE_EXPIRATION \ --description="DATASET_DESCRIPTION" \ RESOURCE_PROJECT_ID:DATASET_ID
Reemplaza lo siguiente:
LOCATION
: La ubicación en la que deseas crear el conjunto de datos.KEY_PROJECT_ID
: Es el ID del proyecto clave.KEY_NAME
: Es el nombre de la clave que se muestra en el resultado de del paso anterior.TABLE_EXPIRATION
: la duración predeterminada de los nuevos tablas en este conjunto de datos, en segundos.DATASET_DESCRIPTION
: Es una descripción del conjunto de datos nuevo.RESOURCE_PROJECT_ID
: Es el ID del proyecto de recursos dentro de la carpeta Autokey en la que deseas crear un recurso protegido.DATASET_ID
: El ID del conjunto de datos que deseas creando.
Para obtener más información sobre la herramienta
bq
, consulta Explora la herramienta de línea de comandos de bq.
Usa Autokey con recursos de Secret Manager
Autokey crea una clave única para proteger todos los secretos del mismo proyecto y la ubicación. Cuando se rota la clave, los secretos nuevos que se agregan al proyecto usan la versión primaria nueva de la clave.
Secret Manager solo es compatible con Autokey de Cloud KMS cuando se crean recursos con Terraform o la API de REST.
Crea un recurso protegido de Secret Manager
Terraform
En el siguiente ejemplo de Terraform, se crea un control de clave y se usa la clave que se muestra para proteger un secreto nuevo con replicación automática:
resource "google_kms_key_handle" "my_key_handle" {
provider = google-beta
project = "RESOURCE_PROJECT_ID"
name = "test-key-handle"
location = "global"
resource_type_selector = "secretmanager.googleapis.com/Secret"
}
resource "google_secret_manager_secret" "my_secret" {
project = "RESOURCE_PROJECT_ID"
secret_id = "SECRET_ID"
replication {
auto {
customer_managed_encryption {
kms_key_name = google_kms_key_handle.my_key_handle.kms_key
}
}
}
}
Reemplaza lo siguiente:
RESOURCE_PROJECT_ID
: Es el ID del proyecto de recursos dentro de la carpeta Autokey en la que deseas crear un recurso protegido.SECRET_ID
: Es el ID que se usará para el secreto nuevo.
Si intentas crear un identificador de clave para un secreto en el mismo proyecto y la misma ubicación para los que ya existe un identificador de clave, un mensaje de error muestra los detalles del identificador de clave existente. Si esto sucede, asegúrate de que solo tengas un bloque que cree el identificador de clave. Puedes volver a usar el controlador de claves con
su ID (KEY_HANDLE
) para crear Secrets adicionales que deberían
compartir la llave.
Cloud KMS no te permite borrar recursos KeyHandle
. Si usas un patrón de creación y destrucción, intenta
para recrear un KeyHandle
produce un error ALREADY_EXISTS
. Para evitar esto,
puedes importar un KeyHandle
creado previamente. Para obtener más información,
consulta Crea y destruye patrones en Terraform
.
API
Para solicitar una clave de Cloud KMS nueva, crea un
KeyHandle
:curl -H "Content-Type: application/json" \ -H "X-Goog-User-Project: USER_PROJECT" \ -H "Authorization: Bearer TOKEN" \ -X POST https://cloudkms.googleapis.com/v1/projects/RESOURCE_PROJECT_ID/locations/LOCATION/keyHandles \ -d '{"resource_type_selector": "RESOURCE_TYPE"}'
Reemplaza lo siguiente:
USER_PROJECT
: Es el proyecto al que se facturarán los cargos. asociados con esta solicitud.RESOURCE_PROJECT_ID
: Es el ID del proyecto de recursos dentro de la carpeta Autokey en la que deseas crear un recurso protegido.LOCATION
: Es la ubicación en la que deseas crear la recurso protegido.RESOURCE_TYPE
: El tipo de recurso que deseas crear, por ejemplo,secretmanager.googleapis.com/Secret
.
El resultado es similar a este:
{ "name": "projects/RESOURCE_PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.kms.v1.CreateKeyHandleMetadata" } }
Toma nota del
OPERATION_ID
del resultado. Necesitas este valor para obtener el ID de recurso de la clave creada.Si intentas crear un identificador de clave para un secreto en el mismo proyecto y la misma ubicación para los que ya existe un identificador de clave, un mensaje de error muestra los detalles del identificador de clave existente. En este caso, omitir el siguiente paso y usa el ID de recurso de la clave en el campo
existingKmsKey
para proteger tu nuevo secreto.Busca la clave de Cloud KMS asociada con el controlador de clave:
curl -H "X-Goog-User-Project: USER_PROJECT" \ -H "Authorization: Bearer TOKEN" \ -X GET https://cloudkms.googleapis.com/v1/projects/RESOURCE_PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
Reemplaza lo siguiente:
USER_PROJECT
: Es el proyecto al que se facturarán los cargos. asociados con esta solicitud.RESOURCE_PROJECT_ID
: Es el ID del proyecto de recursos dentro de la carpeta Autokey en la que deseas crear un recurso protegido.LOCATION
: Es la ubicación en la que deseas crear el recurso protegido.OPERATION_ID
: Es el identificador de la operación de solicitud de control de claves de la salida del paso anterior.
El resultado es similar a este:
{ "name": "projects/RESOURCE_PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "done": true, "response": { "@type": "type.googleapis.com/google.cloud.kms.v1.KeyHandle", "name": "projects/RESOURCE_PROJECT_ID/locations/LOCATION/keyHandles/KEY_HANDLE", "kmsKey": "projects/KEY_PROJECT_ID/locations/LOCATION/keyRings/autokey/cryptoKeys/KEY_NAME", "resourceTypeSelector": "RESOURCE_TYPE" } }
El valor del elemento
kmsKey
en el resultado es el ID del recurso completo. de la clave que creó Autokey para este recurso. Puedes usar este ID de recurso de la misma manera que lo usarías para cualquier otro recurso de Cloud KMS.Crea un secreto encriptado con replicación automática mediante el Comando
gcloud secrets create
, con la marca--kms-key-name
.gcloud secrets create "SECRET_ID" \ --replication-policy "automatic" \ --kms-key-name "projects/KEY_PROJECT_ID/locations/global/keyRings/autokey/cryptoKeys/KEY_NAME" \ --project "RESOURCE_PROJECT_ID"
Reemplaza lo siguiente:
SECRET_ID
: Es el ID que se usará para el Secret nuevo.KEY_PROJECT_ID
: Es el ID del proyecto de claves.KEY_NAME
: Es el nombre de la clave que se muestra en el resultado de del paso anterior.RESOURCE_PROJECT_ID
: Es el ID del proyecto del recurso. proyecto dentro de la carpeta de Autokey en la que deseas crear es un recurso protegido.
Crear y destruir patrones en Terraform
Cloud KMS no te permite borrar recursos de KeyHandle
. Si usas Terraform y un patrón de creación y destrucción, intentar volver a crear un KeyHandle
genera un error ALREADY_EXISTS
. Puedes evitar este problema usando un bloque import
. Inserta el siguiente bloque antes de
Bloque resource
para el recurso google_kms_key_handle
:
import {
to = google_kms_key_handle.KEY_HANDLE
id = "projects/RESOURCE_PROJECT_ID/locations/LOCATION/keyHandles/KEY_HANDLE"
}
¿Qué sigue?
- Obtén más información sobre cuándo usar Autokey.
- Obtén más información sobre cómo funciona Autokey.