Recurso REST: projects.locations.keyRings.cryptoKeys

Recurso: CryptoKey

Uma CryptoKey representa uma chave lógica que pode ser usada em operações criptográficas.

Uma CryptoKey é composta de uma ou mais versions, que representam o material da chave real usado nas operações criptográficas.

Representação JSON

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

string

Apenas saída. O nome do recurso desta CryptoKey no formato projects/*/locations/*/keyRings/*/cryptoKeys/*.

primary

object(CryptoKeyVersion)

Apenas saída. Uma cópia da CryptoKeyVersion "principal" a ser usada por cryptoKeys.encrypt quando esta CryptoKey é fornecida em EncryptRequest.name.

A versão principal da CryptoKey pode ser atualizada por cryptoKeys.updatePrimaryVersion.

Todas as chaves com purpose ENCRYPT_DECRYPT têm uma versão principal. Para outras chaves, esse campo será omitido.

purpose

enum(CryptoKeyPurpose)

O propósito imutável desta CryptoKey.

createTime

string (Timestamp format)

Apenas saída. O horário de criação desta CryptoKey.

Um carimbo de data/hora no formato UTC "Zulu" RFC3339 é medido com precisão de nanossegundos. Exemplo: "2014-10-02T15:01:23.045123456Z".

nextRotationTime

string (Timestamp format)

Em nextRotationTime, o Key Management Service executa automaticamente as seguintes ações:

  1. Criar uma nova versão desta CryptoKey.
  2. marcará a nova versão como principal.

As rotações de chaves realizadas manualmente por cryptoKeyVersions.create e cryptoKeys.updatePrimaryVersion não afetam nextRotationTime.

As chaves com purpose ENCRYPT_DECRYPT permitem a rotação automática. Para outras chaves, esse campo precisa ser omitido.

Um carimbo de data/hora no formato UTC “Zulu” RFC3339, medido com precisão de nanossegundos. Exemplo: "2014-10-02T15:01:23.045123456Z".

versionTemplate

object(CryptoKeyVersionTemplate)

Um modelo que descreve as configurações para novas instâncias de CryptoKeyVersion. As propriedades das novas instâncias de CryptoKeyVersion criadas por cryptoKeyVersions.create ou por rotação automática são controladas por esse modelo.

labels

map (key: string, value: string)

Rótulos com metadados definidos pelo usuário. Para saber mais, consulte Como colocar marcadores em chaves.

rotationPeriod

string (Duration format)

O nextRotationTime será adiantado por este período quando o serviço fizer a rotação de uma chave automaticamente. O período mínimo é de um dia.

Tanto rotationPeriod quanto nextRotationTime precisam ser configurados.

As chaves com purpose ENCRYPT_DECRYPT permitem a rotação automática. Para outras chaves, esse campo precisa ser omitido.

A duração em segundos com até nove dígitos fracionais, com terminação “s”. Exemplo: "3.5s".

CryptoKeyPurpose

CryptoKeyPurpose descreve os recursos criptográficos de uma CryptoKey. Uma determinada chave apenas pode ser usada nas operações permitidas pela finalidade dela.

Enums
CRYPTO_KEY_PURPOSE_UNSPECIFIED Não especificado.
ENCRYPT_DECRYPT CryptoKeys com esse propósito podem ser usados com cryptoKeys.encrypt e cryptoKeys.decrypt.
ASYMMETRIC_SIGN CryptoKeys com esse propósito podem ser usados com cryptoKeyVersions.asymmetricSign e cryptoKeyVersions.getPublicKey.
ASYMMETRIC_DECRYPT CryptoKeys com esse propósito podem ser usados com cryptoKeyVersions.asymmetricDecrypt e cryptoKeyVersions.getPublicKey.

CryptoKeyVersionTemplate

Um CryptoKeyVersionTemplate especifica as propriedades a serem usadas ao criar uma nova CryptoKeyVersion, manualmente com cryptoKeyVersions.create ou automaticamente como resultado da rotação automática.

Representação JSON

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

enum(ProtectionLevel)

ProtectionLevel para usar ao criar uma CryptoKeyVersion com base nesse modelo. Imutável. Padrões para SOFTWARE.

algorithm

enum(CryptoKeyVersionAlgorithm)

Obrigatório. Algorithm para usar ao criar uma CryptoKeyVersion com base nesse modelo.

Para compatibilidade com versões anteriores, o GOOGLE_SYMMETRIC_ENCRYPTION estará implícito se ambos os campos forem omitidos e CryptoKey.purpose for ENCRYPT_DECRYPT.

Métodos

create

Cria uma nova CryptoKey em um KeyRing.

decrypt

Descriptografa dados que foram protegidos por Encrypt.

encrypt

Criptografa dados para que só possam ser recuperados por uma chamada a Decrypt.

get

Retorna metadados para determinada CryptoKey e a respectiva primary CryptoKeyVersion.

getIamPolicy

Busca a política de controle de acesso de um recurso.

list

Lista as CryptoKeys.

patch

Atualiza uma CryptoKey.

setIamPolicy

Define a política de controle de acesso no recurso especificado.

testIamPermissions

Retorna permissões do autor da chamada no recurso especificado.

updatePrimaryVersion

Atualiza a versão de uma CryptoKey que será usada em Encrypt.
Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Cloud KMS