En esta guía, se muestra cómo importar una clave criptográfica a Cloud HSM o Cloud Key Management Service como una versión de clave nueva.
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 de esta guía en un plazo de 5 a 10 minutos, sin incluir los pasos de la sección 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, de modo que sea más fácil limpiar los datos después de la prueba y asegurarte de tener los permisos adecuados de Identity and Access Management (IAM) para importar una clave.
Antes de importar una clave, debes preparar el proyecto, el sistema local y la clave.
Prepara el proyecto
- Accede a tu cuenta de Google Cloud . Si es la primera vez que usas Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the required API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
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.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the required API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
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 ambos roles predefinidos:
roles/editorroles/cloudkms.importer
Para obtener más información sobre los roles y permisos de IAM disponibles para Cloud KMS, consulta Permisos y roles.
Prepara el sistema local
Para preparar el sistema local, elige una de las siguientes opciones. Se recomienda el empaquetado automático de claves para la mayoría de los usuarios.
- Si deseas permitir que Google Cloud CLI una tus claves de forma automática 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 encapsula y protege la clave de forma local antes de enviarla a Google Cloudusa la biblioteca de Pyca.
- Si deseas envolver tus claves de forma manual, debes configurar OpenSSL para el envoltorio manual de claves.
Prepara la clave
Verifica que el algoritmo y la longitud de tu clave sean compatibles. Los algoritmos permitidos para una clave dependen de si esta se usa para la encriptación simétrica, la criptografía asimétrica o la firma asimétrica, y de si se almacena en un 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.
No se puede cambiar lo siguiente para una versión de clave después de que se crea o importa:
El nivel de protección indica si la clave persiste en el software, en un HSM de múltiples arrendatarios, en un HSM de un solo arrendatario o en un sistema externo de administración de claves. 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 criptografía asimétrica o la firma asimétrica. El propósito de la clave limita los posibles algoritmos que se pueden usar para crear versiones de esa clave. Todas las versiones de una clave tienen el mismo propósito.
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 su uso en producción.
Si necesitas ajustar la llave de forma manual, hazlo antes de continuar con los procedimientos de esta guía.
Crea la clave de segmentación 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 esta guía, esta clave se denomina clave de segmentación. 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 contenga versiones importadas, lo que evita la generación accidental de versiones nuevas en Cloud KMS.
Existe una clave en un llavero de claves; en esta guía, 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 la 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 llave, no se puede mover a otro llavero de claves o ubicación.
Sigue estos pasos para crear una clave vacía en un llavero nuevo con Google Cloud CLI o la consola de Google Cloud .
Console
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.
En el campo Nombre de la clave, ingresa el nombre de la clave.
En Nivel de protección, selecciona Software, HSM o HSM de un solo arrendatario.
Si seleccionaste HSM de usuario único, selecciona la instancia de HSM de usuario único en la que deseas crear la clave.
En Material de clave, selecciona Clave importada y, luego, haz clic en Continuar. Esto evita que se cree una versión de clave inicial.
Establece el Propósito y el Algoritmo de la clave y, luego, haz clic en Continuar.
Opcional: Si quieres que esta clave contenga solo versiones de claves 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 versiones de claves nuevas 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.
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.
Crea el llavero de claves de destino. Elige una ubicación que sea compatible con el nivel de protección que deseas usar. Para obtener más información sobre las ubicaciones compatibles, consulta Ubicaciones de Cloud KMS.
gcloud kms keyrings create KEY_RING \ --location LOCATION
Puedes obtener más información para crear llaveros de claves.
Crea la clave de destino con el comando
kms keys createy la marca--skip-initial-version-creation. De esta manera, se crea una clave sin versión inicial, por lo que el material de la clave que importes será la versión1. Usa la marca--import-onlypara evitar que Cloud KMS genere material de clave para las versiones de clave nuevas. Con este parámetro de configuración establecido, se deben importar las versiones de claves nuevas para esta clave. Las claves creadas como--import-onlyse deben rotar de forma manual.gcloud kms keys create KEY_NAME \ --location LOCATION \ --keyring KEY_RING \ --purpose PURPOSE \ --protection-level PROTECTION_LEVEL \ --skip-initial-version-creation \ --import-only
Reemplaza lo siguiente:
KEY_NAME: Es el nombre que deseas usar para la clave.LOCATION: Es la ubicación del llavero de claves.KEY_RING: Es el llavero de claves en el que deseas crear la clave.PURPOSE: Es el propósito que deseas usar para la clave.PROTECTION_LEVEL: Es el nivel de protección que deseas usar para la clave, por ejemplo,HSM.
Para crear una clave de Cloud HSM de usuario único, agrega la marca
--cryptoKeyBackenda este comando y agrega el identificador de recurso de la instancia de Cloud HSM de usuario único en la que deseas importar la clave:--crypto-key-backend="projects/INSTANCE_PROJECT/locations/LOCATION/singleTenantHsmInstances/INSTANCE_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.
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 de la API de
KeyRing.createpara obtener más información.Crea una clave vacía solo de importación:
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys?cryptoKeyId=KEY_NAME&skipInitialVersionCreation=true" \ --request "POST" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --header "x-goog-user-project: PROJECT_ID" \ --data "{"purpose":"PURPOSE", "importOnly": "true", "versionTemplate":{"protectionLevel":"PROTECTION_LEVEL","algorithm":"ALGORITHM"}}"Consulta la documentación de la API de
CryptoKey.createpara obtener más información.Si deseas crear tu clave en un Cloud HSM de usuario único, agrega el campo
cryptoKeyBackendal cuerpo del comando y agrega el identificador de recurso de la instancia de Cloud HSM de usuario único en la que deseas importar la clave:"crypto-key-backend": "projects/INSTANCE_PROJECT/locations/LOCATION/singleTenantHsmInstances/INSTANCE_NAME"
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 residirán en software, en un HSM de varios usuarios, en un HSM de un solo usuario o en un sistema de administración de claves externo. El nivel de protección no se puede cambiar después de que se importe la clave.
El método de importación define el algoritmo que se usa para crear la clave de unión que protege las claves importadas durante el tránsito desde tu sistema local hasta el proyecto Google Cloud de 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
En la consola de Google Cloud , ve a la página Administración de claves.
Haz clic en el nombre del llavero de claves de destino.
Establece el nivel de protección en Software, HSM o HSM de un solo arrendatario. 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.
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
- Usa el mismo llavero de claves y la misma ubicación que usa la clave de destino.
- Establece el nivel de protección en el mismo valor que usaste para la clave de destino.
- Configura el método de importación en uno de los siguientes valores:
rsa-oaep-3072-sha1-aes-256rsa-oaep-4096-sha1-aes-256rsa-oaep-3072-sha256-aes-256rsa-oaep-4096-sha256-aes-256rsa-oaep-3072-sha256rsa-oaep-4096-sha256
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:
- 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 importadas por este trabajo de importación.
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.
Un trabajo de importación vence 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
En la consola de Google Cloud , ve a la página Administración de claves.
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.
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 lo siguiente:
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, podrás 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, pero permitirles usar trabajos de importación para importar claves.
- Otorga el permiso
importjobs.createsolo a los administradores clave. - Otorga el permiso
importjobs.useToImportpara 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.
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 ajuste tu clave automáticamente o si ya ajustaste tu clave 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.
Las claves con propósito
ENCRYPT_DECRYPTusan el algoritmogoogle-symmetric-encryptiony tienen una longitud de 32.Las claves con el propósito
ASYMMETRIC_DECRYPToASYMMETRIC_SIGNadmiten 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.
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 envolver para envolverla e importarla. No establezcas --wrapped-key-file.
De manera opcional, puedes establecer la marca --public-key-file en la ubicación en la que ya se descargó la clave pública. Cuando se importa una gran cantidad de 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 se une con la clave de unión asociada al trabajo de importación, se transmite a Google Cloudy se importa como una nueva versión de la clave de destino.
Importa una clave unida de forma manual
Usa las instrucciones de esta sección para importar una clave que uniste manualmente. Establece --wrapped-key-file en la ubicación de la clave que encapsulaste de forma manual.
No establezcas --target-key-file.
De manera opcional, puedes establecer la marca --public-key-file en la ubicación en la que ya se descargó la clave pública. Cuando se importa una gran cantidad de 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
En la consola de Google Cloud , ve a la página Administración de claves.
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 segmentación 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.
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:
IMPORT_JOB_ID: Es el nombre completo del recurso del trabajo de importación correspondiente.
ALGORITHM: Es el
algorithmde la clave que se importa, que es de tipoCryptoKeyVersionAlgorithm.WRAPPED_KEY: Es la clave ajustada manualmente en formato base64.
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 la 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, la consola deGoogle Cloud o la API de Cloud Key Management Service.
Console
En la consola de Google Cloud , ve a la página Administración de claves.
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.
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 Activo. En el caso de las claves simétricas, debes establecer 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 relevante 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
- Solo se pueden volver a importar los
CryptoKeyVersionsque 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 antes.
- Las
CryptoKeyVersionsdestruidas antes del lanzamiento de esta función no se pueden volver a importar. El camporeimport_eligibledeCryptoKeyVersionestruesi la versión es apta para volver a importarla yfalsesi no lo es.
Las claves de software y de Cloud HSM se pueden volver a importar, pero las claves externas no.
Vuelve a importar una clave destruida
Crea un objeto ImportJob para volver a importarlo siguiendo los pasos que se indican en Crea el trabajo de importación. Puedes usar una ImportJob existente o una ImportJob nueva, siempre que el nivel de protección coincida con el nivel de protección original.
Console
En la consola de Google Cloud , ve a la página Administración de claves.
Haz clic en el nombre del llavero de claves que contiene la clave cuya versión volverás a importar.
Haz clic en la clave cuya versión quieres volver a importar.
Haz clic en los tres puntos junto a la versión de la 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 la clave original.
Haz clic en Reimportar.
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.
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 \
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.
En el cuerpo de la solicitud del método
cryptoKeyVersions.import, configura el campocryptoKeyVersionen el nombre de la versión de la clave que se importa. Debe ser un elemento secundario de la clave de criptografía.En el cuerpo de la solicitud, configura el campo
algorithmen el algoritmo de la clave que se importa. Este valor debe coincidir con el algoritmo de la versión de clave original. El campoalgorithmes del tipoCryptoKeyVersionAlgorithm.En el cuerpo de la solicitud, configura el campo
wrappedKeyMaterialcon el material de clave que ya uniste.Llama al método
cryptoKeyVersions.import. La respuestacryptoKeyVersions.importes del tipoCryptoKeyVersion. Cuando una clave se importa con éxito, su estado esENABLED, y puedes usarla a través de Cloud KMS.
¿Qué sigue?
- Verifica una clave importada. Después de confirmar que el material de clave 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