Jerarquía de objetos

Cloud Key Management Service permite almacenar las claves criptográficas en una estructura jerárquica diseñada para una administración del control de acceso práctica y elegante. El acceso a los recursos de esta estructura se rige por Cloud Identity and Access Management.

Estos son los niveles de esta jerarquía en orden descendente:

  1. Proyecto
  2. Ubicación
  3. Llavero de claves
  4. Clave
  5. Versión de clave

Proyecto

Los recursos de Cloud KMS pertenecen a un proyecto, al igual que todos los demás recursos de Google Cloud. Es decir, las cuentas que tienen asignadas funcionalidades básicas de Cloud IAM en cualquier proyecto que contenga recursos de Cloud KMS también tienen asignados los permisos correspondientes sobre esos recursos. Por este motivo, es posible que desees ejecutar Cloud KMS en un proyecto separado desde cualquier otro recurso de Google Cloud.

Lugar

Los recursos de Cloud KMS se pueden crear en varias ubicaciones dentro de un proyecto. Estas representan la ubicación geográfica del centro de datos en donde se manejan las solicitudes a Cloud KMS relacionadas con un recurso determinado y se almacenan las claves criptográficas correspondientes.

Hay una ubicación especial para los recursos de Cloud KMS llamada global. Cuando creas recursos de Cloud KMS en la ubicación global, estos están disponibles en varios centros de datos.

Consulta Ubicaciones para Cloud KMS a fin de obtener más información sobre las implicaciones de rendimiento de red de las ubicaciones en las que eliges alojar los recursos de Cloud KMS.

Llavero de claves

Recursos

Los llaveros de claves son agrupaciones de claves con fines organizativos. Un llavero de claves pertenece a un proyecto de Google Cloud y reside en una ubicación específica. Las claves heredan sus permisos del llavero de claves que las contienen. Si agrupas las claves que tienen permisos relacionados en un llavero de claves, puedes otorgar, revocar o modificar los permisos de ellas en el nivel del llavero de claves sin tener que realizar acciones en cada una de ellas.

ID de recurso del llavero de claves

Algunas llamadas a la API y comandos de la herramienta de línea de comandos gcloud pueden requerir el ID de recurso del llavero de claves, que es el nombre KeyRing completamente calificado. Este valor distingue entre mayúsculas y minúsculas y tiene el siguiente formato:

projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING

Puedes recuperar el ID de recurso del llavero de claves con Cloud Console:

  1. Abre la página Claves criptográficas en Cloud Console.

    Abrir la página Claves criptográficas

  2. Busca el llavero de claves con el ID del recurso que quieres recuperar y haz clic en el ícono Más (3 puntos verticales).

  3. Haz clic en Copiar ID de recurso. El ID de recurso del llavero de claves se copiará al portapapeles.

Key

Una clave es un objeto que tiene un nombre y que representa una clave criptográfica con un propósito específico. El material de la clave, los bits reales que se usan para la encriptación, puede cambiar con el tiempo a medida que se crean versiones de clave nuevas.

Las claves se usan para proteger algunos corpus de datos. Si encriptas un grupo de archivos con la misma clave, quienes tengan permisos de desencriptación en esa clave podrán desencriptarlos.

ID de recurso de la clave

Algunas llamadas a la API y la herramienta de gcloud pueden requerir el ID de recurso de la clave, que es el nombre completamente calificado de CryptoKey. Este valor distingue entre mayúsculas y minúsculas y tiene el siguiente formato:

projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY

Puedes recuperar el ID de recurso de la clave con Cloud Console:

  1. Abre la página Claves criptográficas en Cloud Console.

    Abrir la página Claves criptográficas

  2. Haz clic en el nombre del llavero de claves que contiene la clave.

  3. Busca el llavero de claves con el ID del recurso que quieres recuperar y haz clic en el ícono Más (3 puntos verticales).

  4. Haz clic en Copiar ID de recurso. Se copiará al portapapeles el ID de recurso de la clave.

Versión de clave

Una versión de clave representa el material de clave asociado con una clave en un momento determinado. Cada clave puede tener varias versiones, pero debe tener al menos una. A las versiones se les asigna un número de manera secuencial, que comienza con 1.

Volvamos al ejemplo del conjunto de archivos encriptados. Los archivos encriptados con la misma clave se pueden encriptar con versiones de clave distintas. Algunos de los archivos se podrían encriptar con la versión 1 y otros, con la versión 2. Cuando solicitas que Cloud KMS desencripte alguno de esos archivos, debes especificar el nombre de la clave (no una versión específica) que se usó para encriptarlo. Cloud KMS identifica de manera automática la versión que se usó para la encriptación y desencripta el archivo con ella si sigue habilitada.

El material de clave asociado con una versión de clave tiene un tipo, que indica la longitud de la clave y el algoritmo que se debe usar con ella. En la actualidad, todas las claves son del tipo Estándar de encriptación avanzada de 256 bits (AES-256) en modo Galois/contador (GCM). Cloud KMS usa encriptación probabilística, por lo que si encriptas el mismo texto sin formato con la misma versión de clave dos veces, el texto cifrado no será el mismo. Actualmente, nuestra API no expone los modos de clave.

Cada versión de clave tiene un estado, que puede ser habilitada, inhabilitada, programada para su destrucción o destruida. Se puede usar cualquier versión de clave para la desencriptación hasta que se coloque de manera explícita en los estados inhabilitada, destruida o programada para su destrucción.

Por motivos de seguridad, no se puede visualizar ni exportar el material de clave criptográfica sin procesar que representa una versión de clave. Solo se puede usar para encriptar o desencriptar los datos cuando un usuario o aplicación autorizada invoca al servicio de Cloud KMS.

Las claves simétricas siempre tendrán una versión de clave primaria. Esta es la versión que usará Cloud KMS para encriptar los datos. Si creas una versión de clave nueva y la conviertes en la versión primaria, puedes rotar una clave simétrica sin perder el acceso a los datos encriptados con versiones anteriores. Las claves asimétricas no tienen una versión primaria. Además, estas tienen consideraciones de rotación distintas en comparación con las claves simétricas.

ID de recurso de la versión de clave

Algunas llamadas a la API y la herramienta de gcloud pueden requerir el ID de recurso de la versión de la clave, que es el nombre completamente calificado de CryptoKeyVersion. Este valor distingue entre mayúsculas y minúsculas y tiene el siguiente formato:


projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY/cryptoKeyVersions/VERSION

Puedes recuperar el ID de recurso de la versión de clave con Cloud Console:

  1. Abre la página Claves criptográficas en Cloud Console.

    Abrir la página Claves criptográficas

  2. Haz clic en el nombre del llavero de claves que contiene la clave.

  3. Haz clic en el nombre de la clave que contiene la versión de clave.

  4. Busca el llavero de claves con el ID del recurso que quieres recuperar y haz clic en el ícono Más (3 puntos verticales).

  5. Haz clic en Copiar ID de recurso. El ID de recurso de la versión de clave se copiará al portapapeles.

Jerarquías de ejemplo

El tipo de jerarquía que elijas depende de factores como tu caso práctico, tus aplicaciones y los controles de seguridad deseados.

Ejemplo:1

Una empresa tiene múltiples aplicaciones, cada una de las cuales contiene datos secretos protegidos por Cloud KMS. La jerarquía podría contener un llavero de claves para cada entorno de desarrollo, como prod, test y dev. Cada llavero de claves podría contener una clave por aplicación.

La jerarquía tendría la siguiente configuración:

  • Llaveros de claves (uno por entorno): prod, test, dev

  • Claves para el llavero de claves prod (uno por aplicación): Payroll , Expense_reports, Insurance_claims.
    Los otros llaveros de claves tendrían un conjunto similar de claves para cada aplicación que protejan.

  • Cada clave se puede rotar de forma independiente, según las necesidades empresariales

Ejemplo:2

Una empresa tiene muchos conjuntos de datos protegidos por Cloud KMS. La jerarquía podría contener un llavero de claves para cada clasificación de datos, p ej., confidencial, sensible y restringida. Cada llavero de claves podría contener una clave por conjunto de datos.

La jerarquía tendría la siguiente configuración:

  • Llaveros de claves (uno por nivel de clasificación): confidencial, sensible, restringido

  • Claves para el llavero de claves confidencial (uno por conjunto de datos): dataset_1, dataset_2, dataset_3, etc.
    Los otros llaveros de claves tendrían un conjunto similar de claves para los conjuntos de datos que protegen.

  • Cada clave se puede rotar de forma independiente, según las necesidades empresariales

Ciclo de vida de los objetos

No se pueden borrar claves, llaveros de claves ni 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 para esa versión.

Puedes almacenar una cantidad ilimitada de llaveros de claves, claves habilitadas o inhabilitadas y versiones de claves habilitadas o inhabilitadas. Para obtener más información, consulta Precios y Cuotas.

Consulta Destruye y restablece versiones de clave para obtener información sobre cómo destruir versiones 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.