Recursos de Cloud KMS

En este tema, se analiza cada tipo de recurso en 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 los metadatos de 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 la 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 el que corresponde.

Tipo

El tipo de clave determina si la clave se usa para 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 consta de 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 de la clave configurado.

    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 una clave no se puede cambiar después de que se crea la clave.

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 claves que se usa para la encriptación o 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 Recupera 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. Puedes obtener 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 las versiones de clave de forma selectiva sin afectar otras versiones de claves.

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 de la clave en reposo. 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)

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

Algoritmo

El algoritmo de una versión de clave determina cómo se crea el material de la clave 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 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 calificación completo CryptoKeyVersion. Los ID de recursos son jerárquicos, similares a las rutas del sistema de archivos. El ID de recurso de una clave también contiene información sobre el llavero de claves y la ubicación.

Objeto Formato de ID de 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 planeas cómo organizar los recursos en tu proyecto de Google Cloud, considera 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 las claves, los llaveros ni las versiones de clave. Esto garantiza que el identificador de recursos de una versión de clave sea único y siempre apunte al material de clave original de esa versión. Puedes almacenar una cantidad ilimitada de llaveros de claves, claves habilitadas o inhabilitadas, y versiones habilitadas o inhabilitadas. Para obtener más información, consulta [Precios](/kms/pricing) y [Cuotas](/kms/cuotas).

Para aprender a destruir o restablecer una versión de clave, consulta Destruye y restablece versiones de claves.

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?