Recursos do Cloud KMS

Neste tópico, discutimos cada tipo de recurso no Cloud KMS. Saiba mais sobre a hierarquia de recursos.

Chaves

Uma chave do Cloud KMS é um objeto nomeado que contém uma ou mais versões de chave, junto com os metadados da chave. Há uma chave em exatamente um keyring vinculado a um local específico.

É possível permitir e negar o acesso a chaves usando permissões e papéis do gerenciamento de identidade e acesso (IAM, na sigla em inglês). Não é possível gerenciar o acesso a uma versão de chave.

Desativar ou destruir uma chave também desativa ou destrói cada versão da chave.

As seções a seguir discutem as propriedades de uma chave.

Dependendo do contexto, as propriedades de uma chave são mostradas em um formato diferente.

  • Ao usar o SDK do Cloud ou a API do Cloud Key Management Service, a propriedade é mostrada como uma string de letras maiúsculas, como SOFTWARE.
  • Ao usar o Console do Google Cloud, a propriedade é mostrada como uma string com a capitalização inicial, como Software.

Nas seções abaixo, cada formato é mostrado onde é apropriado.

Tipo

O tipo de uma chave determina se a chave é usada para operações criptográficas simétricas ou assimétricas.

Na criptografia simétrica, toda a chave é necessária para criptografar ou descriptografar dados. Não é possível usar chaves simétricas para assinatura.

Na criptografia ou assinatura assimétrica, a chave consiste em uma chave pública e privada.

  • A chave privada é considerada dados confidenciais e é necessária para descriptografar dados ou para assinatura, dependendo da finalidade configurada da chave.
  • A chave pública não é considerada confidencial e é necessária para criptografar dados ou verificar uma assinatura, dependendo da finalidade configurada da chave.

    O tipo de chave não pode ser alterado depois que a chave é criada.

O tipo de chave é um componente da finalidade.

Finalidade

A finalidade de uma chave determina se ela pode ser usada para criptografia ou assinatura. Você escolhe a finalidade ao criar a chave, e todas as versões têm a mesma finalidade.

A finalidade de uma chave simétrica é sempre Criptografia/descriptografia simétrica.

A finalidade de uma chave assimétrica é Criptografia/descriptografia assimétrica ou Assinatura assimétrica.

A finalidade de uma chave não pode ser alterada depois que a chave é criada.

Versão principal

Uma chave tem várias versões, mas uma chave simétrica pode ter no máximo uma versão principal da chave. A versão primária da chave será usada para criptografar dados se você não especificar uma versão de chave.

Chaves assimétricas não têm versões primárias. você precisa especificar a versão ao usar a chave.

Para chaves simétricas e assimétricas, você pode usar qualquer versão de chave ativada para criptografar ou descriptografar dados, seja a versão principal ou não.

Versões de chave

Cada versão de uma chave contém o material de chave usado para criptografia ou assinatura. A versão de uma chave é representada por um número inteiro, começando em 1. Para descriptografar dados ou verificar uma assinatura, você precisa usar a mesma versão de chave usada para criptografar ou assinar os dados. Para encontrar e referenciar o código de recurso de uma versão de chave, consulte Como recuperar o código de recurso de uma chave.

É possível desativar ou destruir uma versão de chave sem afetar outras versões. Fazer a rotação de uma chave cria uma nova versão. Saiba mais sobre a rotação de chaves.

Desativar ou destruir uma chave também desativa ou destrói todas as versões dela. É possível desativar seletivamente uma versão de chave sem afetar outras versões de chave.

Não é possível gerenciar o acesso a uma versão de chave. Conceder acesso a uma chave também concede acesso a todas as versões ativadas.

Por motivos de segurança, nenhum membro do Google Cloud pode visualizar ou exportar o material bruto da chave criptográfica representado por uma versão de chave. Em vez disso, o Cloud KMS acessa o material de chave em seu nome.

As seções a seguir discutem as propriedades de uma versão de chave.

Estado

O estado de uma versão de chave é sempre um dos seguintes:

  • Ativado
  • Desativada
  • Programada para destruição
  • Destruída

Uma versão de chave só pode ser usada quando está ativada. Somente chaves ativadas e versões de chave geram custos.

Nível de proteção

O nível de proteção de uma versão de chave determina o ambiente de armazenamento da chave em repouso. O nível de proteção é um dos seguintes:

  • Software (SOFTWARE no SDK do Cloud e na API Cloud Key Management Service)
  • HSM
  • Externo (EXTERNAL no SDK do Cloud e na API Cloud Key Management Service)

Embora o nível de proteção seja uma propriedade de uma versão de chave, não é possível alterá-lo após a criação da chave.

Algoritmo

O algoritmo de uma versão de chave determina como o material da chave é criado e os parâmetros necessários para operações criptográficas. As chaves simétricas e assimétricas são compatíveis com diferentes algoritmos.

Se você não especificar um algoritmo ao criar uma nova versão de chave, o algoritmo da versão anterior será usado.

Independentemente do algoritmo, o Cloud KMS usa criptografia probabilística, para que o mesmo texto simples criptografado duas vezes com a mesma versão de chave não criptografe no mesmo texto criptografado.

Keyrings

Um keyring organiza chaves em um local específico do Google Cloud e permite gerenciar o controle de acesso em grupos de chaves. O nome do keyring não precisa ser exclusivo em um projeto do Google Cloud, mas precisa ser exclusivo em um determinado local. Após a criação, não é possível excluir um keyring. Os keyrings não geram custos de armazenamento.

Como recuperar o código de um recurso

Algumas chamadas de API e a ferramenta gcloud podem exigir que você faça referência a um keyring, uma chave ou uma versão de chave pelo código de recurso, que é uma string que representa o nome CryptoKeyVersion totalmente qualificado. Os códigos de recursos são hierárquicos, semelhantes a um caminho de sistema de arquivos. O código de recurso de uma chave também contém informações sobre o keyring e o local.

Objeto Formato de código do recurso
Keyring projects/project-id/locations/location/keyRings/keyring
Chave projects/project-id/locations/location/keyRings/keyring/cryptoKeys/key
Versão de chave projects/project-id/locations/location/keyRings/keyring/cryptoKeys/key/cryptoKeyVersions/version

Para saber mais, consulte Como conseguir um código de recurso do Cloud KMS.

Como organizar recursos

Ao planejar como organizar os recursos no seu projeto do Google Cloud, considere as regras de negócios e como você planeja gerenciar o acesso. É possível conceder acesso a uma única chave, a todas as chaves em um keyring ou a todas as chaves em um projeto. Os seguintes padrões de organização são comuns:

  • Por ambiente, como prod, test e develop.
  • Por área de trabalho, como payroll ou insurance_claims.
  • Por confidencialidade ou características dos dados, como unrestricted, restricted, confidential, top-secret.

Ciclos de vida de recursos

Os keyrings, as chaves e as versões da chave não podem ser excluídos. Isso garante que o identificador de recursos de uma versão de chave seja exclusivo e sempre aponte para o material da chave original dessa versão de chave. É possível armazenar um número ilimitado de keyrings, chaves ativadas ou desativadas e versões de chave ativadas ou desativadas. Para mais informações, consulte Preços e Cotas.

Para saber como destruir ou restaurar uma versão de chave, consulte Como destruir e restaurar versões de chave.

Se você programar o encerramento de um projeto do Google Cloud, não conseguirá acessar os recursos do projeto, incluindo os recursos do Cloud KMS, a menos que recupere o projeto seguindo as etapas para restaurar um projeto.

A seguir