Recurso de REST: projects.locations.keyRings.cryptoKeys

Recurso: CryptoKey

Una CryptoKey representa una clave lógica que se puede usar en las operaciones criptográficas.

Una CryptoKey consta de una o más versions, que representan el material de clave real que se usa en las operaciones criptográficas.

Representación JSON

{
  "name": string,
  "primary": {
    object(CryptoKeyVersion)
  },
  "purpose": enum(CryptoKeyPurpose),
  "createTime": string,
  "nextRotationTime": string,
  "versionTemplate": {
    object(CryptoKeyVersionTemplate)
  },
  "labels": {
    string: string,
    ...
  },
  "rotationPeriod": string
}
Campos
name

string

Solo salida. El nombre de recurso de esta CryptoKey con el formato projects/*/locations/*/keyRings/*/cryptoKeys/*

primary

object(CryptoKeyVersion)

Solo salida. Una copia de la CryptoKeyVersion “primaria” que usará cryptoKeys.encrypt cuando esta CryptoKey se proporcione en el EncryptRequest.name

La versión primaria de la CryptoKey se puede actualizar mediante cryptoKeys.updatePrimaryVersion.

Todas las claves con el purpose ENCRYPT_DECRYPT tienen una versión primaria. Este campo se omite para las otras claves.

purpose

enum(CryptoKeyPurpose)

El propósito inmutable de esta CryptoKey

createTime

string (Timestamp format)

Solo salida. El momento en el que se creó esta CryptoKey.

Una marca de tiempo en el formato RFC3339 UTC "Zulu", con precisión de nanosegundos. Ejemplo: "2014-10-02T15:01:23.045123456Z".

nextRotationTime

string (Timestamp format)

Cuando llegue el nextRotationTime, Key Management Service completará las siguientes acciones de manera automática:

  1. Crear una versión nueva de esta CryptoKey
  2. Marcar la versión nueva como primaria

Las rotaciones de claves realizadas de forma manual mediante cryptoKeyVersions.create y cryptoKeys.updatePrimaryVersion no afectan al nextRotationTime.

Las claves con el purpose ENCRYPT_DECRYPT admiten la rotación automática. Este campo se debe omitir en las otras claves.

Una marca de tiempo en el formato RFC3339 UTC "Zulu", con precisión de nanosegundos. Ejemplo: "2014-10-02T15:01:23.045123456Z".

versionTemplate

object(CryptoKeyVersionTemplate)

Una plantilla que describe la configuración de las instancias nuevas de CryptoKeyVersion. Esta plantilla permite controlar las propiedades de las instancias nuevas de CryptoKeyVersion que se crearon mediante cryptoKeyVersions.create o rotación automática

labels

map (key: string, value: string)

Etiquetas con metadatos definidos por el usuario. Consulta Etiquetar claves para obtener más información.

rotationPeriod

string (Duration format)

El nextRotationTime se avanzará según este período cuando el servicio rote una clave de manera automática. Debe ser de un día como mínimo.

Si se configura el rotationPeriod, también se debe configurar el nextRotationTime

Las claves con el purpose ENCRYPT_DECRYPT admiten la rotación automática. Este campo se debe omitir en las otras claves.

Una duración en segundos con un máximo de nueve dígitos decimales, que termina con "s". Ejemplo: "3.5s".

CryptoKeyPurpose

El CryptoKeyPurpose describe las funciones criptográficas de una CryptoKey. Una clave específica solo se puede usar para las operaciones que permite su propósito.

Enums
CRYPTO_KEY_PURPOSE_UNSPECIFIED No especificado.
ENCRYPT_DECRYPT Las CryptoKeys con este propósito se pueden usar con cryptoKeys.encrypt y cryptoKeys.decrypt.
ASYMMETRIC_SIGN Las CryptoKeys con este propósito se pueden usar con cryptoKeyVersions.asymmetricSign y cryptoKeyVersions.getPublicKey.
ASYMMETRIC_DECRYPT Las CryptoKeys con este propósito se pueden usar con cryptoKeyVersions.asymmetricDecrypt y cryptoKeyVersions.getPublicKey.

CryptoKeyVersionTemplate

Una CryptoKeyVersionTemplate especifica las propiedades que se deben usar cuando se crea una CryptoKeyVersion nueva, ya sea de forma manual con cryptoKeyVersions.create o automática como resultado de la rotación automática.

Representación JSON

{
  "protectionLevel": enum(ProtectionLevel),
  "algorithm": enum(CryptoKeyVersionAlgorithm)
}
Campos
protectionLevel

enum(ProtectionLevel)

El ProtectionLevel que se debe usar cuando se crea una CryptoKeyVersion con base en esta plantilla. Inmutable. La configuración predeterminada es SOFTWARE.

algorithm

enum(CryptoKeyVersionAlgorithm)

Obligatorio. El Algorithm que se debe usar cuando se crea una CryptoKeyVersion con base en esta plantilla.

Para garantizar la compatibilidad con versiones anteriores, GOOGLE_SYMMETRIC_ENCRYPTION está implícito si el campo se omite y el CryptoKey.purpose es ENCRYPT_DECRYPT.

Métodos

create

Permite crear una CryptoKey nueva dentro de un KeyRing.

decrypt

Permite desencriptar los datos protegidos mediante Encrypt.

encrypt

Permite encriptar datos, de manera que solo puedan recuperarse mediante una llamada a Decrypt.

get

Permite mostrar los metadatos de una CryptoKey específica, además de su primary CryptoKeyVersion.

getIamPolicy

Permite obtener la política de control de acceso de un recurso.

list

Permite mostrar una lista de CryptoKeys.

patch

Permite actualizar una CryptoKey.

setIamPolicy

Permite configurar la política de control de acceso en el recurso especificado.

testIamPermissions

Permite mostrar los permisos que tiene un emisor para un recurso específico.

updatePrimaryVersion

Permite actualizar la versión de una CryptoKey que se usará en Encrypt.
¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Documentación de Cloud KMS