En este tema, se muestra cómo importar una clave criptográfica a Cloud HSM o Cloud Key Management Service como una nueva versión de la clave.
Para obtener más detalles sobre la importación de claves, incluidas las limitaciones y restricciones, consulta Importación de claves.
Puedes completar los pasos en este tema en 5 a 10 minutos, sin incluir los pasos de Antes de comenzar. Unir la clave de forma manual agrega complejidad a la tarea.
Antes de comenzar
Te recomendamos que crees un proyecto nuevo para probar esta función, a fin de facilitar la limpieza después de realizar las pruebas y asegurarte de que tengas permisos de Identity and Access Management (IAM) adecuados para importar una clave.
Antes de importar una clave, debes preparar el proyecto, el sistema local y la clave en sí.
Prepara el proyecto
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the required API.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the required API.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
El usuario que realiza la importación necesita los siguientes permisos de IAM para crear claves, llaveros de claves y trabajos de importación. Si el usuario no es el propietario del proyecto, puedes asignarle ambas funciones predefinidas:
roles/editor
roles/cloudkms.importer
Para obtener más información sobre los permisos y roles de IAM disponibles para Cloud KMS, consulta Permisos y roles.
- Si deseas permitir que Google Cloud CLI una tus claves automáticamente antes de transmitirlas a Google Cloud, debes instalar la biblioteca de criptografía de Pyca en tu sistema local. El trabajo de importación que une y protege la clave de manera local antes de enviarla a Google Cloudusa la biblioteca de Pyca.
- Si deseas unir tus claves de forma manual, debes configurar OpenSSL para la unión manual de claves.
El nivel de protección indica si la clave persiste en software, en un HSM o en un sistema de administración de claves externo. El material de la clave no se puede mover de uno de estos entornos de almacenamiento a otro. Todas las versiones de una clave tienen el mismo nivel de protección.
El propósito indica si las versiones de la clave se usan para la encriptación simétrica, la encriptación asimétrica o la firma asimétrica. El propósito de la clave limita los algoritmos posibles que se pueden usar para crear versiones de esa clave. Todas las versiones de una clave tienen el mismo propósito.
En la consola de Google Cloud , ve a la página Administración de claves.
Haz clic en Crear llavero de claves.
En el campo Nombre del llavero de claves, ingresa el nombre de tu llavero de claves.
En Tipo de ubicación, selecciona un tipo de ubicación y una ubicación.
Haz clic en Crear. Se abre la página Crear clave.
Ingresa el nombre en el campo Nombre de la clave.
En Nivel de protección, selecciona Software o HSM y, luego, haz clic en Continuar.
En Material de clave, selecciona Clave importada y, luego, haz clic en Continuar. Esto evita que se cree una versión inicial de la clave.
Establece el Propósito y el Algoritmo de la clave y, luego, haz clic en Continuar.
Opcional: Si deseas que esta clave contenga solo versiones de clave importadas, selecciona Restringe las versiones de claves solo para la importación. Esto evita que crees accidentalmente versiones de claves nuevas en Cloud KMS.
Opcional: En el caso de las claves importadas, la rotación automática está inhabilitada de forma predeterminada. Para habilitar la rotación automática, selecciona un valor en el campo Período de rotación de claves.
Si habilitas la rotación automática, se generarán nuevas versiones de la clave en Cloud KMS, y la versión de la clave importada ya no será la versión predeterminada después de una rotación.
Haz clic en Crear.
Crea el llavero de claves de destino. Si planeas importar a una clave de Cloud HSM, selecciona una ubicación que admita Cloud HSM.
gcloud kms keyrings create KEY_RING \ --location LOCATION
Obtén más información para crear llaveros de claves.
Crea la clave de destino.
- Especifica el propósito de la clave.
- Usa la marca
--skip-initial-version-creation
para evitar que se cree una versión inicial. - Opcional: Evita que se creen versiones nuevas en Cloud KMS con la marca
--import-only
. - Opcional: No especifiques una política de rotación. Si habilitas la rotación automática, se generarán nuevas versiones de la clave en Cloud KMS, y la versión de la clave importada ya no será la versión predeterminada después de una rotación. No puedes especificar una política de rotación si especificaste la marca
--import-only
.
gcloud kms keys create KEY_NAME \ --location LOCATION \ --keyring KEY_RING \ --purpose PURPOSE \ --skip-initial-version-creation \ --import-only
Puedes obtener más información para crear claves de Cloud KMS o claves de Cloud HSM.
Crea un llavero de claves nuevo:
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings?keyRingId=KEY_RING" \ --request "POST" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --header "x-goog-user-project: PROJECT_ID" \ --data "{}"
Consulta la documentación sobre la API de
KeyRing.create
para obtener más información.Crea una clave vacía de solo importación:
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys?cryptoKeyId=KEY_NAME&skipInitialVersionCreation=true&importOnly=true" \ --request "POST" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --header "x-goog-user-project: PROJECT_ID" \ --data "{"purpose":"PURPOSE", "versionTemplate":{"protectionLevel":"PROTECTION_LEVEL","algorithm":"ALGORITHM"}}"
Consulta la documentación sobre la API de
CryptoKey.create
para obtener más información.Ve a la página Administración de claves en la consola de Google Cloud .
Haz clic en el nombre del llavero de claves de destino.
Establece el Nivel de protección como Software o HSM. Usa el mismo nivel de protección que estableciste para la clave de destino.
Haz clic en Crear trabajo de importación.
En el campo Nombre, ingresa el nombre de tu trabajo de importación.
En el menú desplegable Método de importación, configura el método de importación en RSA de 3072 bits o RSA de 4096 bits.
Haz clic en Crear.
- Usa el mismo llavero de claves y la misma ubicación que usa la clave de destino.
- Establece el nivel de protección en
software
ohsm
. - Establece el método de importación en
rsa-oaep-3072-sha1-aes-256
,rsa-oaep-4096-sha1-aes-256
,rsa-oaep-3072-sha256-aes-256
,rsa-oaep-4096-sha256-aes-256
,rsa-oaep-3072-sha256
orsa-oaep-4096-sha256
. - IMPORT_METHOD: Es un método de unión de claves compatible.
- PROTECTION_LEVEL: Es el nivel de protección de las versiones de clave que se importaron con este trabajo de importación.
Ve a la página Administración de claves en la consola de Google Cloud .
Haz clic en el nombre del llavero de claves que contiene tu trabajo de importación.
Haz clic en la pestaña Trabajos de importación en la parte superior de la página.
El estado aparecerá en Estado junto al nombre de tu trabajo de importación.
- Otorga el permiso
importjobs.create
solo a los administradores de claves. - Otorga el permiso
importjobs.useToImport
para un trabajo de importación específico al operador que usará ese trabajo a fin de importar claves. - Cuando crees el trabajo de importación, especifica el nivel de protección y el algoritmo para las versiones de claves importadas con él.
Las claves con propósito
ENCRYPT_DECRYPT
usan el algoritmogoogle-symmetric-encryption
y tienen una longitud de 32.Las claves con propósito
ASYMMETRIC_DECRYPT
oASYMMETRIC_SIGN
admiten una variedad de algoritmos y longitudes.El propósito de la clave no se puede cambiar después de crearla, pero las versiones de la clave posteriores se pueden crear en longitudes diferentes a la versión inicial.
Abre la página Administración de claves en la consola deGoogle Cloud .
Haz clic en el nombre del llavero de claves que contiene tu trabajo de importación. Se mostrará la clave de destino junto con cualquier otra clave en el llavero de claves.
Haz clic en el nombre de la clave de destino y, luego, en Importar versión de clave.
Selecciona tu trabajo de importación en el menú desplegable Seleccionar trabajo de importación.
En el selector Subir la clave unida (Upload the wrapped key), selecciona la clave que ya uniste.
Si importas una clave asimétrica, selecciona el algoritmo en el menú desplegable Algoritmo. Tu página Importar versión de clave debe ser similar a la que se muestra a continuación:
Haz clic en Importar.
IMPORT_JOB_ID: Es el nombre completo del recurso del trabajo de importación correspondiente.
ALGORITHM: Es el
algorithm
de la clave que se importa, que es de tipoCryptoKeyVersionAlgorithm
.WRAPPED_KEY: Es la clave unida manualmente en formato base64.
Abre la página Administración de claves en la consola deGoogle Cloud .
Haz clic en el nombre del llavero de claves que contiene tu trabajo de importación.
Haz clic en la pestaña Trabajos de importación en la parte superior de la página.
El estado aparecerá en Estado junto al nombre de tu trabajo de importación.
- Solo se pueden volver a importar los
CryptoKeyVersions
que se importaron antes. - El material de clave que se vuelve a importar debe coincidir exactamente con el material de clave original si la versión se importó correctamente con anterioridad.
- Los
CryptoKeyVersions
destruidos antes del lanzamiento de esta función no se pueden volver a importar. El camporeimport_eligible
del objetoCryptoKeyVersion
estrue
si la versión es apta para volver a importarse yfalse
si no lo es. Ve a la página Administración de claves en la consola de Google Cloud .
Haz clic en el nombre del llavero de claves que contiene la clave cuya versión se volverá a importar.
Haz clic en la clave cuya versión deseas volver a importar.
Haz clic en los tres puntos junto a la versión de clave que deseas volver a importar.
Selecciona Volver a importar la versión de clave.
Selecciona tu trabajo de importación en el menú desplegable Seleccionar trabajo de importación.
En el selector Subir la clave unida (Upload the wrapped key), selecciona la clave que ya uniste. Esta clave debe coincidir con el material de clave original.
Haz clic en Re-Import.
Vuelve a importar la versión de clave con el material de clave original.
gcloud kms keys versions import \ --location LOCATION \ --keyring KEY_RING \ --key KEY_NAME \ --version KEY_VERSION \ --algorithm ALGORITHM \ --import-job IMPORT_JOB \ --target-key-file PATH_TO_KEY \
En el cuerpo de la solicitud del método
cryptoKeyVersions.import
, establece el campocryptoKeyVersion
en el nombre de la versión de clave que se está importando. Debe ser un hijo de la clave criptográfica.En el cuerpo de la solicitud, establece el campo
algorithm
en el algoritmo de la clave que se importa. Este valor debe coincidir con el algoritmo de la versión de clave original. El campoalgorithm
es del tipoCryptoKeyVersionAlgorithm
.En el cuerpo de la solicitud, establece el campo
wrappedKeyMaterial
en el material de clave que ya uniste.Llama al método
cryptoKeyVersions.import
. La respuestacryptoKeyVersions.import
es del tipoCryptoKeyVersion
. Cuando una clave se importa con éxito, su estado esENABLED
, y puedes usarla a través de Cloud KMS.- Verifica una clave importada. Después de confirmar que el material de claves importado es idéntico a la clave original, puedes usar la clave para firmar o proteger datos.
- Solucionar problemas de importación de una clave con errores
Prepara el sistema local
Para preparar el sistema local, elige una de las siguientes opciones. Se recomienda usar la unión automática de la clave para la mayoría de los usuarios.
Prepara la clave
Verifica que el algoritmo y la longitud de tu clave sean compatibles. Los algoritmos permitidos para una clave dependen de si la clave se usa para la encriptación simétrica, la encriptación asimétrica o la firma asimétrica, así como de si la clave se almacena en software o en un HSM. Especifica el algoritmo de la clave como parte de la solicitud de importación.
Por separado, también debes verificar cómo se codifica la clave y realizar los ajustes necesarios.
Lo siguiente no se puede cambiar en una versión de clave después de su creación o importación:
Si no tienes una clave que desees importar, pero quieres validar el procedimiento de importación de claves, puedes crear una clave simétrica en el sistema local con el siguiente comando:
openssl rand 32 > ${HOME}/test.bin
Usa esta clave solo para realizar pruebas. Es posible que una clave creada de esta manera no sea adecuada para el uso en producción.
Si necesitas unir la clave de forma manual, hazlo antes de continuar con los procedimientos de este tema.
Crea la clave de destino y el llavero de claves
Una clave de Cloud KMS es un objeto contenedor que contiene cero o más versiones de clave. Cada versión de la clave contiene una clave criptográfica.
Cuando importas una clave a Cloud KMS o Cloud HSM, la clave importada se convierte en una versión de clave nueva en una clave existente de Cloud KMS o Cloud HSM. En el resto de este tema, esta clave se denomina clave de destino. La clave de destino debe existir antes de que puedas importar material de clave a ella.
La importación de una versión de clave no afecta las versiones existentes de esa clave. Sin embargo, se recomienda crear una clave vacía cuando se prueba la importación de claves. Una clave vacía no tiene versión, no está activa y no se puede usar.
De manera opcional, puedes especificar que la clave recién creada solo puede contener versiones importadas, lo que evita la generación accidental de versiones nuevas en Cloud KMS.
Existe una clave en un llavero de claves; en este tema, este llavero de claves se denomina llavero de claves de destino. La ubicación del llavero de claves de destino determina la ubicación en la que el material de clave estará disponible después de la importación. Las claves de Cloud HSM no se pueden crear ni importar en algunas ubicaciones. Después de crear una clave, no se puede mover a otro llavero de claves ni a otra ubicación.
Sigue estos pasos para crear una clave vacía en un llavero de claves nuevo con Google Cloud CLI o la consola de Google Cloud .
Console
gcloud
Para usar Cloud KMS en la línea de comandos, primero instala o actualiza a la versión más reciente de Google Cloud CLI.
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.
Python
Para ejecutar este código, primero configura un entorno de desarrollo de Python y, luego, instala el SDK de Python 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.
El llavero de claves y la clave se crearon, pero la clave no contiene material, no tiene versión y no está activa. Luego, crea un trabajo de importación.
Crea el trabajo de importación
Un trabajo de importación define las características de las claves que importa, incluidas las propiedades que no se pueden cambiar después de importar la clave.
El nivel de protección define si las claves importadas por este trabajo de importación residen en software, en un HSM o en un sistema de administración de claves externo. El nivel de protección no se puede cambiar después de que la clave se importa.
El método de importación define el algoritmo usado para crear la clave de unión que protege las claves importadas durante el tránsito de tu sistema local al proyecto de Google Cloud destino. Puedes elegir una clave RSA de 3072 bits o 4096 bits. A menos que tengas requisitos específicos, se recomienda la clave de unión de 3072 bits.
Puedes crear un trabajo de importación con gcloud CLI, la consola deGoogle Cloud o la API de Cloud Key Management Service.
Console
gcloud
Para usar Cloud KMS en la línea de comandos, primero instala o actualiza a la versión más reciente de Google Cloud CLI.
Usa un comando como el siguiente para crear un trabajo de importación.
gcloud kms import-jobs create IMPORT_JOB \ --location LOCATION \ --keyring KEY_RING \ --import-method IMPORT_METHOD \ --protection-level PROTECTION_LEVEL
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.
Python
Para ejecutar este código, primero configura un entorno de desarrollo de Python y, luego, instala el SDK de Python 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 un trabajo de importación, usa el método ImportJobs.create
:
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/importJobs?import_job_id=IMPORT_JOB_ID" \ --request "POST" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --data '{"import_method": "IMPORT_METHOD", "protection_level": "PROTECTION_LEVEL"}'
Reemplaza lo siguiente:
Verifica el estado del trabajo de importación
El estado inicial de un trabajo de importación es PENDING_GENERATION
. Cuando el estado es ACTIVE
, puedes usarlo para importar claves.
Los trabajos de importación vencen después de tres días. Si el trabajo de importación venció, debes crear uno nuevo.
Puedes comprobar el estado de un trabajo de importación con Google Cloud CLI, la consola deGoogle Cloud o la API de Cloud Key Management Service.
Console
gcloud
Para usar Cloud KMS en la línea de comandos, primero instala o actualiza a la versión más reciente de Google Cloud CLI.
Cuando un trabajo de importación está activo, puedes usarlo para importar claves. Este proceso puede tardar unos minutos. Usa este comando para verificar que el trabajo de importación esté activo. Usa la ubicación y el llavero de claves en los que creaste el trabajo de importación.
gcloud kms import-jobs describe IMPORT_JOB \ --location LOCATION \ --keyring KEY_RING \ --format="value(state)"
El resultado es similar a este:
state: ACTIVE
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.
Python
Para ejecutar este código, primero configura un entorno de desarrollo de Python y, luego, instala el SDK de Python 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 verificar el estado de un trabajo de importación, usa el método ImportJobs.get
:
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/importJobs/IMPORT_JOB_ID" \ --request "GET" \ --header "authorization: Bearer TOKEN"
En cuanto el trabajo de importación esté activo, puedes realizar una solicitud para importar una clave.
Cómo evitar la modificación de trabajos de importación
El trabajo de importación determina muchas características de la clave importada, incluido el algoritmo de la clave y si una clave importada es una de HSM o de software. Puedes configurar los permisos de IAM para evitar que los usuarios creen trabajos de importación, mientras permites que usen trabajos de importación para importar claves.
Hasta que el trabajo de importación caduque, los usuarios que tienen el permiso importjobs.useToImport
y no tienen el permiso importjobs.create
para un trabajo de importación determinado pueden importar claves, pero no pueden modificar las características del trabajo de importación.
Importa la clave
Después de verificar el estado del trabajo de importación, puedes realizar una solicitud de importación.
Usas diferentes marcas para realizar la solicitud de importación, según si deseas que Google Cloud CLI se una a tu clave de forma automática o si ya la uniste de forma manual.
Sin importar si uniste tu clave de forma manual o automática, debes configurar un algoritmo compatible que coincida con la longitud de la clave real que se importará y especifique el propósito de la clave.
Importa y une una clave de forma automática
Si quieres usar el ajuste automático, debes usar Google Cloud CLI.
Usa un comando como el siguiente. Establece --target-key-file
en la ubicación de la clave sin unir que se unirá y se importará. No establezcas --wrapped-key-file
.
De forma opcional, puedes establecer la marca --public-key-file
en la ubicación en la que ya se descargó la clave pública. Cuando se importan muchas claves, esto evita que se descargue la clave pública durante cada importación. Por ejemplo, podrías escribir una secuencia de comandos que descargue la clave pública una vez y, luego, proporcione su ubicación cuando se importe cada clave.
gcloud kms keys versions import \ --import-job IMPORT_JOB \ --location LOCATION \ --keyring KEY_RING \ --key KEY_NAME \ --algorithm ALGORITHM \ --target-key-file PATH_TO_UNWRAPPED_KEY
La clave de unión asociada al trabajo de importación une la clave, que se transmite a Google Cloudy se importa como una versión de clave nueva en la clave de destino.
Importa una clave unida de forma manual
Usa las instrucciones de esta sección para importar una clave que uniste de forma manual. Establece --wrapped-key-file
en la ubicación de la clave que uniste de forma manual.
No establezcas --target-key-file
.
De forma opcional, puedes establecer la marca --public-key-file
en la ubicación en la que ya se descargó la clave pública. Cuando se importan muchas claves, esto evita que se descargue la clave pública durante cada importación. Por ejemplo, podrías escribir una secuencia de comandos que descargue la clave pública una vez y, luego, proporcione su ubicación cuando se importe cada clave.
Console
gcloud
Para usar Cloud KMS en la línea de comandos, primero instala o actualiza a la versión más reciente de Google Cloud CLI.
Usa un comando como el siguiente.
gcloud kms keys versions import \ --import-job IMPORT_JOB \ --location LOCATION \ --keyring KEY_RING \ --key KEY_NAME \ --algorithm ALGORITHM \ --wrapped-key-file PATH_TO_WRAPPED_KEY
Para obtener más información, consulta el resultado del comando gcloud kms keys versions import --help
.
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.
Python
Para ejecutar este código, primero configura un entorno de desarrollo de Python y, luego, instala el SDK de Python 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.
Usa el método cryptoKeyVersions.import
para importar una clave.
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions:import" \ --request "POST" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --data '{"importJob": "IMPORT_JOB_ID", "algorithm": "ALGORITHM", "wrappedKey": "WRAPPED_KEY"}'
Reemplaza lo siguiente:
Se inicia la solicitud de importación de claves. Puedes supervisar su estado.
Verifica el estado de la versión de clave importada
El estado inicial de una versión de clave importada es PENDING_IMPORT
. Cuando el estado es ENABLED
, la versión de clave se importó correctamente. Si falla la importación, el estado es IMPORT_FAILED
.
Puedes comprobar el estado de una solicitud de importación con Google Cloud CLI, laGoogle Cloud consola o la API de Cloud Key Management Service.
Console
gcloud
Para usar Cloud KMS en la línea de comandos, primero instala o actualiza a la versión más reciente de Google Cloud CLI.
Usa el comando versions list
para verificar el estado. Usa la misma ubicación, el llavero de claves de destino y la clave de destino que creaste antes en este tema.
gcloud kms keys versions list \ --keyring KEY_RING \ --location LOCATION \ --key KEY_NAME
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.
Python
Para ejecutar este código, primero configura un entorno de desarrollo de Python y, luego, instala el SDK de Python 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.
Llama al método ImportJob.get
y verifica el campo state
. Si state
es PENDING_GENERATION
, el trabajo de importación todavía se está creando.
Vuelve a verificar periódicamente el estado hasta que sea ACTIVE
.
Después de importar la versión inicial de la clave, el estado de la clave cambia a Activa. En el caso de las claves simétricas, debes configurar la versión de la clave importada como la versión principal antes de poder usar la clave.
Claves simétricas: Configura la versión principal
Este paso es obligatorio cuando se importan claves simétricas y no es pertinente para las claves asimétricas. Una clave asimétrica no tiene una versión principal. Debes usar Google Cloud CLI para establecer la versión principal.
gcloud kms keys set-primary-version KEY_NAME\ --location=LOCATION\ --keyring=KEY_RING\ --version=KEY_VERSION
Vuelve a importar una clave destruida previamente
Cloud Key Management Service admite la reimportación de claves, lo que te permite restablecer una versión de clave importada anteriormente en estado DESTROYED
o IMPORT_FAILED
al estado ENABLED
proporcionando el material de clave original. Si nunca se importó material de clave original debido a una falla en la importación inicial, se puede proporcionar cualquier material de clave.
Restricciones
Las claves de software y de Cloud HSM se pueden volver a importar, pero las claves externas no.
Cómo volver a importar una clave destruida
Para volver a importar, crea un objeto ImportJob
siguiendo los pasos que se indican en Crea el trabajo de importación. Puedes usar un ImportJob
existente o uno nuevo, siempre y cuando el nivel de protección coincida con el nivel de protección original.ImportJob
Console
gcloud
Para usar Cloud KMS en la línea de comandos, primero instala o actualiza a la versión más reciente de Google Cloud CLI.
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.