Recursos de Cloud KMS

En este tema, se analiza cada tipo de recurso de Cloud KMS. Puedes obtener más información sobre la jerarquía de recursos.

Claves

Una clave de Cloud KMS es un objeto con nombre que contiene una o más versiones de clave, junto con metadatos para la clave. Existe una clave en exactamente un llavero de claves vinculado a una ubicación específica.

Puedes permitir y denegar el acceso a las claves mediante los permisos y funciones de administración de identidades y accesos (IAM). No es posible administrar el acceso a una versión de clave.

Inhabilitar o destruir una clave también inhabilita o destruye cada versión de clave.

En las siguientes secciones, se analizan las propiedades de una clave.

Según el contexto, las propiedades de una clave se muestran en un formato diferente.

  • Cuando se usa el SDK de Cloud o la API de Cloud Key Management Service, la propiedad se muestra como una string de letras mayúsculas, como SOFTWARE.
  • Cuando se usa Google Cloud Console, la propiedad se muestra como una string con mayúscula inicial, como Software.

En las siguientes secciones, se muestra cada formato en los lugares adecuados.

Tipo

El tipo de clave determina si la clave se usa para las operaciones criptográficas simétricas o asimétricas.

En la encriptación simétrica, se requiere toda la clave para encriptar o desencriptar datos. Las claves simétricas no pueden usarse para firmar.

En la encriptación o firma asimétrica, la clave consiste en una clave pública y privada.

  • La clave privada se considera un dato sensible y es necesario para desencriptar datos o firmar, según el propósito de la clave configurado.
  • La clave pública no se considera sensible y es necesaria para encriptar datos o verificar una firma según el propósito configurado de la clave.

    Una vez que se crea la clave, no se puede cambiar el tipo de clave.

El tipo de clave es un componente de su objetivo.

Objetivo

El objetivo de la clave determina si la clave se puede usar para la encriptación o para la firma. Eliges el objetivo cuando creas la clave y todas las versiones tienen el mismo objetivo.

El objetivo de una clave simétrica es siempre la Encriptación/desencriptación simétrica.

El propósito de una clave asimétrica es la Encriptación/desencriptación asimétrica o la Firma asimétrica.

El propósito de la clave no se puede cambiar después de crearla.

Versión principal

Una clave tiene varias versiones, pero una clave simétrica puede tener como máximo una versión de clave principal. La versión de clave primaria se usa para encriptar datos si no especificas una versión de clave.

Las claves asimétricas no tienen versiones principales. Debes especificar la versión cuando usas la clave.

Tanto para las claves simétricas como asimétricas, puedes usar cualquier versión de clave habilitada para encriptar o desencriptar datos, ya sea la versión principal o no.

Versiones de claves

Cada versión de una clave contiene material de clave usado para la encriptación o la firma. La versión de una clave se representa con un número entero, a partir de 1. A fin de desencriptar datos o verificar una firma, debes usar la misma versión de clave que se usó para encriptar o firmar los datos. Para encontrar el ID de recurso de una versión de clave y hacer referencia a él, consulta Cómo recuperar el ID de recurso de una clave.

Puedes inhabilitar o destruir una versión de clave sin afectar a otras. La rotación de una clave crea una versión nueva. Obtén más información sobre la rotación de claves.

Inhabilitar o destruir una clave también inhabilita o destruye todas las versiones de esa clave. Puedes inhabilitar de manera selectiva una versión de clave sin afectar a otras.

No es posible administrar el acceso a una versión de clave. Cuando se otorga acceso a una clave, también se otorga acceso a todas sus versiones habilitadas.

Por motivos de seguridad, ningún miembro de Google Cloud puede ver o exportar el material de clave criptográfica sin procesar representado por una versión de clave. En cambio, Cloud KMS accede al material de clave en tu nombre.

En las siguientes secciones, se analizan las propiedades de una versión de clave.

Estado

El estado de una versión de clave siempre es uno de los siguientes:

  • Habilitado
  • Inhabilitado
  • Programado para su destrucción
  • Destruida

Una versión de clave solo se puede usar cuando está habilitada. Solo las claves habilitadas y las versiones de claves generan costos.

Nivel de protección

El nivel de protección de una versión de clave determina el entorno de almacenamiento en reposo de la clave. El nivel de protección es uno de los siguientes:

  • Software (SOFTWARE en el SDK de Cloud y la API de Cloud Key Management Service)
  • HSM
  • External (EXTERNAL en el SDK de Cloud y la API de Cloud Key Management Service)

Aunque el nivel de protección es una propiedad de una versión de clave, no se puede cambiar después de la creación de la clave.

Algoritmo

El algoritmo de una versión de clave determina cómo se crea el material de claves y los parámetros necesarios para las operaciones criptográficas. Las claves simétricas y asimétricas admiten diferentes algoritmos.

Si no especificas un algoritmo cuando creas una versión de clave nueva, se usa el algoritmo de la versión anterior.

Sin importar el algoritmo, Cloud KMS usa encriptación basada en probabilidades, por lo que el mismo texto sin formato con la misma versión de clave dos veces no se encripta con el mismo cifrado.

Llaveros de claves

Un llavero de claves organiza las claves en una ubicación específica de Google Cloud y te permite administrar el control de acceso a los grupos de claves. El nombre de un llavero de claves no necesita ser único en todo un proyecto de Google Cloud, pero debe ser único en una ubicación determinada. Después de su creación, no se puede borrar un llavero de claves. Los llaveros de claves no generan costos de almacenamiento.

Recupera el ID de un recurso

Algunas llamadas a la API y la herramienta de gcloud podrían requerir que hagas referencia a un llavero de claves, una clave o una versión de clave por su ID de recurso, que es una string que representa el nombre de CryptoKeyVersion completamente calificado. Los ID de recursos son jerárquicos, similares a una ruta de sistema de archivos. El ID de recurso de una clave también contiene información sobre la ubicación y el llavero de claves.

Objeto Formato de ID del recurso
Llavero de claves projects/project-id/locations/location/keyRings/keyring
Clave projects/project-id/locations/location/keyRings/keyring/cryptoKeys/key
Versión de clave projects/project-id/locations/location/keyRings/keyring/cryptoKeys/key/cryptoKeyVersions/version

Para obtener más información, consulta Obtén un ID de recurso de Cloud KMS.

Organiza los recursos

Cuando planifiques cómo organizar los recursos en tu proyecto de Google Cloud, ten en cuenta las reglas de tu empresa y cómo planeas administrar el acceso. Puedes otorgar acceso a una sola clave, a todas las claves de un llavero de claves o a todas las claves de un proyecto. Los siguientes patrones de organización son comunes:

  • Por entorno, como prod, test y develop
  • Por área de trabajo, como payroll o insurance_claims
  • Por sensibilidad o características de datos, como unrestricted, restricted, confidential y top-secret

Ciclos de vida de los recursos

No se pueden borrar los llaveros de claves, las claves ni las versiones de claves. Esto garantiza que el identificador de recursos de una versión de clave sea único y siempre apunte al material de clave original para esa versión. Puedes almacenar una cantidad ilimitada de llaveros de claves, las claves habilitadas o inhabilitadas, y las versiones de clave habilitadas o inhabilitadas. Para obtener más información, consulta Precios y Cuotas.

Consulta Destruye y restablece versiones de clave para aprender a destruir o restablecer una versión de clave.

Si programas la desactivación de un proyecto de Google Cloud, no podrás acceder a sus recursos, incluidos los de Cloud KMS, a menos que lo recuperes. Para ello, deberás seguir los pasos de restablecimiento de proyectos.

¿Qué sigue?