En esta página, se muestra cómo crear una clave de encriptación simétrica.
También puedes crear una clave asimétrica, una clave de Cloud HSM o una clave de Cloud External Key Manager.
Descripción general
Cuando creas una clave, debes agregarla a un llavero de claves en una ubicación de Google Cloud determinada. Puedes crear un llavero de claves nuevo o usar uno existente. En este tema, crearás un llavero de claves nuevo y le agregarás una nueva.
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.
Consola
Ve a la página Administración de claves en la consola de Google Cloud.
Haz clic en Crear llavero de claves.
En el campo Nombre del llavero de claves, ingresa el nombre de tu llavero de claves.
En el menú desplegable Ubicación del llavero de claves, selecciona una ubicación, como
"us-east1"
.Haz clic en Crear.
gcloud CLI
Para usar Cloud KMS en la línea de comandos, primero instala o actualiza a la última versión de Google Cloud CLI.
gcloud kms keyrings create key-ring \ --location location
Reemplaza key-ring por un nombre para el llavero de claves. Reemplaza location por la ubicación de Cloud KMS para el llavero de claves y sus 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.
Go
Para ejecutar este código, primero configura un entorno de desarrollo de Go y, luego, instala el SDK de Go para Cloud KMS.
Java
Para ejecutar este código, primero configura un entorno de desarrollo de Java y, luego, instala el SDK de Java para Cloud KMS.
Node.js
Para ejecutar este código, primero configura un entorno de desarrollo de Node.js y, luego, instala el SDK de Node.js para Cloud KMS.
PHP
Para ejecutar este código, primero obtén información sobre cómo usar PHP en Google Cloud y, luego, instala el SDK de PHP para Cloud KMS.
Python
Para ejecutar este código, primero configura un entorno de desarrollo de Python y, luego, instala el SDK de Python para Cloud KMS.
Ruby
Para ejecutar este código, primero configura un entorno de desarrollo de Ruby y, luego, instala el SDK de Ruby para Cloud KMS.
API
En estos ejemplos, se usa curl como un cliente HTTP para demostrar el uso de la API. Para obtener más información sobre el control de acceso, consulta Accede a la API de Cloud KMS.
curl "https://cloudkms.googleapis.com/v1/projects/project-id/locations/location-id/keyRings?key_ring_id=key-ring-id" \ --request "POST" \ --header "authorization: Bearer token"
Consulta la documentación sobre la API de KeyRing.create
para obtener más información.
Crear una clave
Sigue estos pasos para crear una clave de encriptación simétrica en el llavero de claves y la ubicación especificados.
Consola
Ve a la página Administración de claves en la consola de Google Cloud.
Haz clic en el nombre del llavero de claves para el que crearás la clave.
Haz clic en Crear clave.
En ¿Qué tipo de clave quieres crear?, elige Clave generada.
Ingresa el nombre en el campo Nombre de la clave.
Haz clic en el menú desplegable Nivel de protección y selecciona Software.
Haz clic en el menú desplegable Propósito y selecciona Encriptación/desencriptación simétrica.
Acepta los valores predeterminados de Período de rotación y A partir del.
Haz clic en Crear.
gcloud CLI
Para usar Cloud KMS en la línea de comandos, primero instala o actualiza a la última versión de Google Cloud CLI.
gcloud kms keys create key \ --keyring key-ring \ --location location \ --purpose "encryption"
Reemplaza key por el nombre de la clave. Reemplaza key-ring por el nombre del llavero de claves donde se ubicará la clave. Reemplaza location por 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.
Go
Para ejecutar este código, primero configura un entorno de desarrollo de Go y, luego, instala el SDK de Go para Cloud KMS.
Java
Para ejecutar este código, primero configura un entorno de desarrollo de Java y, luego, instala el SDK de Java para Cloud KMS.
Node.js
Para ejecutar este código, primero configura un entorno de desarrollo de Node.js y, luego, instala el SDK de Node.js para Cloud KMS.
PHP
Para ejecutar este código, primero obtén información sobre cómo usar PHP en Google Cloud y, luego, instala el SDK de PHP para Cloud KMS.
Python
Para ejecutar este código, primero configura un entorno de desarrollo de Python y, luego, instala el SDK de Python para Cloud KMS.
Ruby
Para ejecutar este código, primero configura un entorno de desarrollo de Ruby y, luego, instala el SDK de Ruby para Cloud KMS.
API
En estos ejemplos, se usa curl como un cliente HTTP para demostrar el uso de la API. Para obtener más información sobre el control de acceso, consulta Accede a la API de Cloud KMS.
Para crear una clave, usa el método CryptoKey.create
:
curl "https://cloudkms.googleapis.com/v1/projects/project-id/locations/location-id/keyRings/key-ring-id/cryptoKeys?crypto_key_id=crypto-key-id" \ --request "POST" \ --header "authorization: Bearer token" \ --header "content-type: application/json" \ --data '{"purpose": "purpose"}'
Reemplaza purpose por el propósito de la clave. Para conocer los valores de propósito permitidos, consulta CryptoKeypurpose.
Define un período de rotación de clave y tiempo de inicio
Se puede crear una clave con un período de rotación específico, que es el tiempo que transcurre entre la generación automática de versiones de claves nuevas. También se puede crear una clave con un período de rotación siguiente específico.
Consola
Cuando usas Google Cloud Console para crear una clave, Cloud KMS establece el período de rotación y el período de rotación de forma automática automáticamente. Puedes usar los valores predeterminados o especificar valores diferentes.
Para especificar un período de rotación y una fecha de inicio diferentes, haz lo siguiente durante la creación de la clave, antes de hacer clic en el botón Crear:
Haz clic en el campo Período de rotación y, luego, selecciona un valor para el período.
Haz clic en la fecha en el campo A partir del y, luego, selecciona una fecha para la siguiente rotación.
gcloud CLI
Para usar Cloud KMS en la línea de comandos, primero instala o actualiza a la última versión de Google Cloud CLI.
gcloud kms keys create KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --purpose "encryption" \ --rotation-period ROTATION_PERIOD \ --next-rotation-time NEXT_ROTATION_TIME
Reemplaza lo siguiente:
KEY_NAME
: el nombre de la clave.KEY_RING
: Es el nombre del llavero de claves que contiene la clave.LOCATION
: Es la ubicación de Cloud KMS del llavero de claves.ROTATION_PERIOD
: El intervalo para rotar la clave, por ejemplo,30d
, a fin de rotar la clave cada 30 días. El período de rotación debe ser de 1 día como mínimo y 100 años como máximo. Para obtener más información, consulta CryptoKey.rotationPeriod.NEXT_ROTATION_TIME
: Es la marca de tiempo en la que se completa la primera rotación, por ejemplo,"2023-01-01T01:02:03"
. Puedes omitir--next-rotation-time
para programar la primera rotación durante 7 días a partir de la fecha en que ejecutas el comando. Para obtener más información, consulta CryptoKey.nextRotationTime
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.
Go
Para ejecutar este código, primero configura un entorno de desarrollo de Go y, luego, instala el SDK de Go para Cloud KMS.
Java
Para ejecutar este código, primero configura un entorno de desarrollo de Java y, luego, instala el SDK de Java para Cloud KMS.
Node.js
Para ejecutar este código, primero configura un entorno de desarrollo de Node.js y, luego, instala el SDK de Node.js para Cloud KMS.
PHP
Para ejecutar este código, primero obtén información sobre cómo usar PHP en Google Cloud y, luego, instala el SDK de PHP para Cloud KMS.
Python
Para ejecutar este código, primero configura un entorno de desarrollo de Python y, luego, instala el SDK de Python para Cloud KMS.
Ruby
Para ejecutar este código, primero configura un entorno de desarrollo de Ruby y, luego, instala el SDK de Ruby para Cloud KMS.
API
En estos ejemplos, se usa curl como un cliente HTTP para demostrar el uso de la API. Para obtener más información sobre el control de acceso, consulta Accede a la API de Cloud KMS.
Para crear una clave, usa el método CryptoKey.create
:
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_NAME/locations/LOCATION/keyRings/KEY_RING/cryptoKeys?crypto_key_id=KEY_NAME" \ --request "POST" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --data '{"purpose": "PURPOSE", "rotationPeriod": "ROTATION_PERIOD", "nextRotationTime": "NEXT_ROTATION_TIME"}'
Reemplaza lo siguiente:
PURPOSE
: Es el propósito de la clave.ROTATION_PERIOD
: El intervalo para rotar la clave, por ejemplo,30d
, a fin de rotar la clave cada 30 días. El período de rotación debe ser de 1 día como mínimo y 100 años como máximo. Para obtener más información, consulta CryptoKey.rotationPeriod.NEXT_ROTATION_TIME
: Es la marca de tiempo en la que se completa la primera rotación, por ejemplo,"2023-01-01T01:02:03"
. Puedes omitir--next-rotation-time
para programar la primera rotación durante 7 días a partir de la fecha en que ejecutas el comando. Para obtener más información, consulta CryptoKey.nextRotationTime
Configurar la duración del estado Programada para su destrucción
De forma predeterminada, las versiones de clave en Cloud KMS pasan 24 horas en el estado Programada para su destrucción (a veces denominada estado borrado de forma no definitiva) antes de que se destruyan. El tiempo durante el que permanecen en este estado se puede configurar, con las siguientes advertencias:
- La duración solo se puede configurar durante la creación de la clave.
- Una vez especificada, no se puede cambiar la duración de la clave.
- La duración se aplica a todas las versiones de la clave que se creen en el futuro.
- La duración mínima es de 24 horas para todas las claves, excepto las claves de solo importación que tienen una duración mínima de 0.
- La duración máxima es de 120 días.
- La duración predeterminada es de 24 horas.
A fin de crear una clave que use una duración personalizada para el estado Programada para su destrucción, sigue estos pasos:
Consola
Ve a la página Administración de claves en la consola de Google Cloud.
Haz clic en el nombre del llavero de claves para el que crearás la clave.
Haz clic en Crear clave.
Establece la configuración de la clave para tu aplicación.
Haga clic en Configuración opcional.
En Duración del estado "Programada para destrucción", elige la cantidad de días que la clave permanecerá programada para su destrucción antes de que se elimine de forma permanente.
Haz clic en Crear clave.
gcloud CLI
Para usar Cloud KMS en la línea de comandos, primero instala o actualiza a la última versión de Google Cloud CLI.
gcloud kms keys create key \ --keyring key-ring \ --location location \ --purpose purpose \ --destroy-scheduled-duration duration
Reemplaza key por el nombre de la clave. Reemplaza key-ring por el nombre del llavero de claves donde se ubicará la clave. Reemplaza location por la ubicación de Cloud KMS del llavero de claves. Reemplaza purpose por el propósito de la clave, como "encriptación". Reemplaza duration por la cantidad de tiempo que la clave permanecerá programada para su destrucción antes de que se destruya de forma permanente.
Para obtener información sobre todas las marcas y los valores posibles, ejecuta el comando con la marca --help
.
Recomendamos que uses la duración predeterminada de 24 horas para todas las claves, a menos que tengas requisitos normativos o de aplicación específicos que requieran un valor diferente.
Crea versiones de claves nuevas de forma manual
Además de la rotación automática, puedes rotar la claves de forma manual. Para obtener más detalles, consulta Rotación de claves.