En esta página, se muestra cómo programar una versión de clave de Cloud Key Management Service para su destrucción permanente. En Cloud KMS, el material de clave criptográfica que usas para encriptar, desencriptar, firmar y verificar los datos se almacena en una versión de clave. Una clave tiene cero o más versiones de clave. Cuando rotas una clave, creas una versión de clave nueva.
Destruir una versión de clave significa que el material de la clave se borra de forma permanente. Cuando destruyes una versión de clave, no se borran otros detalles, como el nombre de la clave y el número de versión de la clave. Una vez que se destruye una clave, no se pueden desencriptar los datos encriptados con la versión de clave.
La única excepción es la reimportación de claves, que te permite restablecer una clave importada anteriormente si proporcionas el mismo material de clave original.
Debido a que la destrucción de claves suele ser irreversible, Cloud KMS no te permite destruir versiones de clave de inmediato. En su lugar, programas una versión de clave para su destrucción. La versión de clave permanece en el estado programado para su destrucción durante un tiempo configurable. Durante la duración programada para la destrucción, puedes restablecer una versión de clave para cancelar su destrucción.
La duración predeterminada programada para la destrucción es de 30 días. Puedes establecer una duración personalizada programada para la destrucción de una clave durante la creación de la clave. Tu organización puede aplicar una duración mínima programada para la destrucción si establece la restricción Minimum destroy scheduled duration per key en las políticas de la organización.
También puedes administrar el acceso a la clave mediante Identity and Access Management (IAM). Las operaciones de IAM son coherentes en segundos. Para obtener más información, consulta Usa IAM.
También puedes inhabilitar una versión de clave de forma temporal. Te recomendamos que inhabilite las versiones de clave antes de programar su destrucción como parte de tus procedimientos para garantizar que la clave se pueda destruir de forma segura. Según las políticas de tu organización, es posible que debas inhabilitar una versión de clave antes de programarla para su destrucción. Para obtener más información sobre cómo controlar la destrucción de versiones de clave con políticas de la organización, consulta Controla la destrucción de las versiones de claves.
En el resto de este documento, programar una clave para su destrucción se denomina destruir la clave, aunque la destrucción no sea inmediata.
Antes de comenzar
Comprende los riesgos
Destruir una versión de clave es una operación permanente. Destruir una versión de clave que aún se necesita tiene riesgos, incluidos los siguientes:
Interrupción del servicio: Si destruyes una clave que es necesaria para iniciar un contenedor o una instancia, tus servicios o aplicaciones pueden dejar de estar disponibles.
Pérdida permanente de datos: Si destruyes una clave que se usó para encriptar datos, esos datos dejan de estar disponibles. Los datos encriptados con una clave que se destruyó se consideran destruidos criptográficamente. En algunos casos, destruir una clave puede provocar que los recursos encriptados se borren de forma permanente.
Problemas normativos o de cumplimiento: Si destruyes una clave que es necesaria para acceder a los datos sujetos a un período de retención antes de que se complete ese período, es posible que incumplas un requisito normativo o de cumplimiento.
Roles obligatorios
Para obtener los permisos que
necesitas para destruir y restablecer versiones de clave,
pídele a tu administrador que te otorgue el
rol de administrador de Cloud KMS (roles/cloudkms.admin) de IAM en la clave.
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.
Verifica si la versión de clave está en uso
Antes de destruir una versión de clave, completa los siguientes pasos para ver si está en uso:
Visualiza los detalles de seguimiento del uso de claves para la clave. Si algún recurso está protegido por la versión de clave que deseas destruir, vuelve a encriptarlo con otra versión de clave.
Activa los registros para cualquier servicio o aplicación que pueda usar la versión de clave.
Activa los registros en el proyecto de Cloud KMS que contiene la clave.
Inhabilita la versión de clave. Inhabilitar la versión de clave impide que se use. Con la versión de clave inhabilitada, fallará cualquier intento de usarla.
Supervisa los registros hasta que estés seguro de que ninguna aplicación o servicio dependa de la versión de clave que inhabilitaste. Si algún error indica que no se pudo acceder a la versión de clave, configura la aplicación o el recurso para que use otra versión de clave.
El tiempo que pasas supervisando los registros antes de destruir una versión de clave depende del tipo de clave, su patrón de uso y su nivel de sensibilidad. Por ejemplo, antes de destruir una versión de clave que se usa en un proceso que se ejecuta trimestralmente, mantén la versión de clave inhabilitada hasta que ese proceso se complete correctamente.
Verifica el uso de la clave en función de los requisitos de cumplimiento aplicables. Por ejemplo, la versión de clave y los datos encriptados con ella pueden estar sujetos a períodos de retención de datos.
Estos pasos te ayudan a identificar si aún se necesita una clave; sin embargo, no pueden garantizar que ya no se necesite una versión de clave. Tu organización debe implementar procedimientos y lineamientos para garantizar que la destrucción de la versión de clave no cause efectos negativos.
Destruir una versión de clave
Puedes destruir una versión de clave habilitada o inhabilitada.
Console
En la Google Cloud consola de, ve a la página **Administración de claves**.
Marca la casilla junto a la versión de clave que deseas programar para la destrucción.
Haz clic en Destruir en el encabezado.
En el mensaje de confirmación, ingresa el nombre de la clave y, luego, haz clic en Programar destrucció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.
gcloud kms keys versions destroy KEY_VERSION \
--key KEY_NAME \
--keyring KEY_RING \
--location LOCATION
Reemplaza lo siguiente:
KEY_VERSION: Es el número de la versión de clave que deseas destruir.KEY_NAME: Es el nombre de la clave que contiene la versión de clave que deseas destruir.KEY_RING: Es el nombre del llavero de claves que contiene la versión de clave que deseas destruir.LOCATION: Es la ubicación del llavero de claves que contiene la versión de clave que deseas destruir.
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 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.
Llama al método CryptoKeyVersions.destroy para destruir una versión de clave.
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions/KEY_VERSION:destroy" \
--request "POST" \
--header "authorization: Bearer TOKEN"
Reemplaza lo siguiente:
PROJECT_ID: Es el identificador del proyecto que contiene la versión de clave que deseas destruir.LOCATION: Es la ubicación del llavero de claves que contiene la versión de clave que deseas destruir.KEY_RING: Es el nombre del llavero de claves que contiene la versión de clave que deseas destruir.KEY_NAME: Es el nombre de la clave que contiene la versión de clave que deseas destruir.KEY_VERSION: Es el número de la versión de clave que deseas destruir.
Si no puedes destruir una versión de clave, es posible que tu organización requiera que las versiones de clave se inhabiliten antes de la destrucción. Intenta inhabilitar la versión de clave antes de destruirla.
Cuando envías la solicitud de destrucción, el estado de la versión de clave pasa a estar programada para su destrucción. Una vez que transcurre la duración programada para la destrucción configurada de la clave, el estado de la versión de clave se vuelve destruido, lo que significa que comenzó el borrado lógico del material de la clave de los sistemas activos y que el cliente no puede recuperar el material de la clave. El material de la clave puede permanecer en los sistemas de Google hasta 45 días después de la hora de destrucción programada.
A fin de recibir una alerta cuando una versión de clave está programada para su destrucción, consulta Usa Cloud Monitoring con Cloud KMS.
Las versiones de clave destruidas no son recursos facturados.
Destruye claves externas
Para quitar la asociación de forma permanente entre una clave de Cloud EKM y una clave externa, puedes destruir la versión de clave. Una vez que pasa el período Programado para su destrucción, se destruye la clave. Una vez que se destruye la versión de clave, ya no puedes encriptar ni desencriptar los datos que se encriptaron con la versión de clave de Cloud EKM.
Destruir una versión de clave administrada de forma manual en Cloud KMS no modifica la clave en el administrador de claves externas. Te recomendamos que primero destruyas la clave o la versión de clave en Google Cloud. Una vez que se destruye la versión de clave de Cloud EKM, puedes destruir el material de la clave en el administrador de claves externas.
Destruir una versión de clave externa coordinada en Cloud KMS primero destruye la versión de clave en Google Cloud, y luego envía una solicitud de destrucción al EKM para destruir el material de la clave externa.
Restablece una versión de clave
Durante el período en el que el estado de la versión de una clave es programada para su destrucción, puedes restablecer la versión de clave mediante el envío de una solicitud de restablecimiento.
Console
En la Google Cloud consola de, ve a la página **Administración de claves**.
Haz clic en el nombre del llavero de claves que contiene la versión de clave que deseas restablecer.
Haz clic en la clave que contiene la versión de clave que deseas restablecer.
Marca la casilla junto a la versión de clave que deseas restablecer.
Haga clic en Restablecer en el encabezado.
En el mensaje de confirmación, haz clic en Restablecer.
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.
gcloud kms keys versions restore KEY_VERSION \
--key KEY_NAME \
--keyring KEY_RING \
--location LOCATION
Reemplaza lo siguiente:
KEY_VERSION: Es el número de la versión de clave que deseas restablecer.KEY_NAME: Es el nombre de la clave que contiene la versión de clave que deseas restablecer.KEY_RING: Es el nombre del llavero de claves que contiene la versión de clave que deseas restablecer.LOCATION: Es la ubicación del llavero de claves que contiene la versión de clave que deseas restablecer.
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 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.
Llama al método CryptoKeyVersions.restore para restablecer una versión de clave.
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions/KEY_VERSION:restore" \
--request "POST" \
--header "authorization: Bearer TOKEN"
Reemplaza lo siguiente:
PROJECT_ID: Es el identificador del proyecto que contiene la versión de clave que deseas restablecer.LOCATION: Es la ubicación del llavero de claves que contiene la versión de clave que deseas restablecer.KEY_RING: Es el nombre del llavero de claves que contiene la versión de clave que deseas restablecer.KEY_NAME: Es el nombre de la clave que contiene la versión de clave que deseas restablecer.KEY_VERSION: Es el número de la versión de clave que deseas restablecer.
Una vez que se completa la solicitud de restablecimiento, el estado de la versión de la clave pasa a inhabilitada. Debes habilitar la clave antes de poder usarla.
Permisos de IAM obligatorios
Para destruir una versión de clave, el emisor necesita el permiso de IAM cloudkms.cryptoKeyVersions.destroy en la clave, el llavero de claves o el proyecto, la carpeta o la organización.
Para restablecer una versión de clave, el emisor necesita el permiso cloudkms.cryptoKeyVersions.restore.
Ambos permisos se otorgan a la función de administrador de Cloud KMS (roles/cloudkms.admin).
Cronograma de eliminación
Cloud KMS se compromete a borrar el material de la clave del cliente de toda la infraestructura de Google en un plazo de 45 días a partir de la hora de destrucción programada. Esto incluye la eliminación de datos de los sistemas activos y de las copias de seguridad del centro de datos. Otros datos del cliente están sujetos al cronograma de eliminación estándar Google Cloud de 180 días.