Hierarquia de objetos

O Cloud Key Management Service armazena chaves criptográficas em uma estrutura hierárquica projetada para gerenciamento de controle de acesso útil e elegante. O acesso a recursos nesta estrutura é regido pelo Cloud IAM.

Os níveis desta hierarquia, de cima para baixo, são:

  1. Projeto
  2. Local
  3. Keyring
  4. Chave
  5. Versão de chave

Projeto

Os recursos do Cloud KMS pertencem a um projeto, assim como todos os outros recursos do Google Cloud Platform. Isso significa que as contas com papéis primitivos do IAM em qualquer projeto com recursos do Cloud KMS têm permissões correspondentes nesses recursos. Por esse motivo, execute o Cloud KMS em um projeto separado de qualquer outro recurso do GCP.

Local

Os recursos do Cloud KMS podem ser criados em diversos locais dentro de um projeto. Eles representam a localização geográfica do data center em que são processadas as solicitações para o Cloud KMS relativas a um determinado recurso e em que as chaves criptográficas correspondentes são armazenadas.

Há um local especial para os recursos do Cloud KMS chamado global. Quando criados no local global, seus recursos do Cloud KMS são disponibilizados em diversos data centers.

Para saber mais sobre as implicações no desempenho de rede dos locais escolhidos para hospedar os recursos do Cloud KMS, consulte Locais do Cloud KMS.

Keyring

Recursos

O keyring é um agrupamento de chaves para fins organizacionais. Ele pertence a um projeto do GCP e reside em um local específico. As chaves herdam as permissões do keyring que as contém. O agrupamento de chaves com permissões relacionadas em um keyring possibilita a concessão, revogação ou modificação de permissões nelas no nível do keyring, sem a necessidade de cuidar de cada uma separadamente.

Código de recurso do keyring

Algumas chamadas de API e comandos da ferramenta de linha de comando gcloud podem exigir o código de recurso do keyring, que é o nome totalmente qualificado de KeyRing. Este valor faz distinção entre maiúsculas e minúsculas e está no formato

projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING

Use o Console do GCP para recuperar o código de recurso do keyring:

  1. Abra a página Chaves criptográficas no console do GCP.

    Abrir a página "Chaves criptográficas".

  2. No keyring referente ao código de recurso que está sendo recuperado, clique no ícone Mais (três pontos verticais).

  3. Clique em Copiar código do recurso. Ele será copiado para a área de transferência.

Chave

A chave é um objeto nomeado que representa uma chave criptográfica usada para um propósito específico. O material da chave, ou seja, os bits efetivamente usados para criptografia, pode mudar com o tempo à medida que novas versões de chave são criadas.

A chave é usada para proteger algumas coletâneas de dados. É possível criptografar uma coleção de arquivos com a mesma chave. Quem tiver permissões de descriptografia nessa chave conseguirá descriptografar os arquivos.

Código de recurso da chave

Algumas chamadas de API e comandos da ferramenta de linha de comando gcloud podem exigir o código de recurso da chave, que é o nome totalmente qualificado de CryptoKey. Este valor faz distinção entre maiúsculas e minúsculas e está no formato:

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

Use o Console do GCP para recuperar o código de recurso da chave:

  1. Abra a página Chaves criptográficas no console do GCP.

    Abrir a página "Chaves criptográficas".

  2. Clique no nome do keyring que contém a chave.

  3. Na chave referente ao código de recurso que está sendo recuperado, clique no ícone Mais (três pontos verticais).

  4. Clique em Copiar código do recurso. Ele será copiado para a área de transferência.

Versão de chave

A versão de chave representa o material associado a uma chave em um dado momento. Cada chave pode ter arbitrariamente diversas versões, mas precisa ter pelo menos uma. As versões são numeradas sequencialmente, começando com 1.

Voltando ao exemplo de um conjunto de arquivos criptografados, a criptografia de arquivos que têm a mesma chave pode ser feita com versões de chave diferentes. Alguns dos arquivos são criptografados com a versão 1 e outros com a versão 2. Ao solicitar que o Cloud KMS descriptografe qualquer um desses arquivos, especifique o nome da chave que o criptografou, e não uma versão específica. O Cloud KMS identifica automaticamente qual versão foi usada para criptografia e a usa para descriptografar o arquivo caso a versão ainda esteja ativada.

O material de chave associado a uma versão tem um tipo, que indica o comprimento da chave e o algoritmo a ser usado com ele. No momento, todas as chaves têm o Padrão de criptografia avançada em 256 bits (AES-256, na sigla em inglês), usadas no modo de contador Galois (GCM, na sigla em inglês). O Cloud KMS usa a criptografia probabilística. Assim, o mesmo texto simples criptografado duas vezes com a mesma versão de chave não será criptografado com o mesmo texto cifrado. Os modos das chaves não são atualmente expostos pela nossa API.

As versões de chave têm estados, como ativada, desativada, programada para destruição ou destruída. Qualquer versão de uma chave é usada para descriptografia, até que ela seja explicitamente transferida para um estado desativado, destruído ou programado para destruição.

Por questões de segurança, o material bruto da chave criptográfica representada por uma versão de chave nunca é exibido nem exportado. Ele só pode ser usado para criptografar ou descriptografar dados quando um usuário ou aplicativo autorizado invocar o serviço do Cloud KMS.

Uma chave simétrica sempre terá uma versão de chave primária. Essa é a versão usada pelo Cloud KMS para criptografar dados. Ao criar uma nova versão de chave e defini-la como principal, faça a rotação de uma chave simétrica sem perder o acesso a quaisquer dados criptografados com as versões anteriores. Chaves assimétricas não têm uma versão principal. As chaves assimétricas também têm considerações de rotação diferentes em relação às chaves simétricas.

Código de recurso da versão de chave

Algumas chamadas de API e comandos da ferramenta de linha de comando gcloud podem exigir o código de recurso da versão de chave, que é o nome totalmente qualificado de CryptoKeyVersion. Este valor faz distinção entre maiúsculas e minúsculas e está no formato:


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

Use o Console do GCP para recuperar o código de recurso da versão de chave:

  1. Abra a página Chaves criptográficas no console do GCP.

    Abrir a página "Chaves criptográficas".

  2. Clique no nome do keyring que contém a chave.

  3. Clique no nome da chave que contém a versão dela.

  4. Na versão de chave referente ao código de recurso que está sendo recuperado, clique no ícone Mais (três pontos verticais).

  5. Clique em Copiar código de recurso. Ele será copiado para a área de transferência.

Exemplo de hierarquias

O tipo de hierarquia escolhido depende de fatores como seu caso de uso, aplicativos e controles de segurança desejados.

Exemplo 1

Uma empresa tem vários aplicativos, e cada aplicativo contém dados secretos protegidos pelo Cloud KMS. A hierarquia pode conter um conjunto de chaves para cada ambiente de desenvolvimento, como prod, test e dev. Cada keyring pode conter uma chave por aplicativo.

A hierarquia teria a seguinte configuração:

  • Keyrings (um por ambiente): prod, test, dev.

  • Chaves do keyring prod (um por aplicativo): Payroll, Expense_reports, Insurance_claims.
    Os outros keyrings teriam um conjunto semelhante de chaves para cada aplicativo que eles protegem.

  • Cada chave pode ser alternada de maneira independente, com base nas necessidades do negócio.

Exemplo 2

Uma empresa tem muitos conjuntos de dados protegidos pelo Cloud KMS. A hierarquia pode conter um keyring para cada classificação de dados, por exemplo, confidencial, sensível e restrito. Cada keyring pode conter uma chave por conjunto de dados.

A hierarquia teria a seguinte configuração:

  • Keyrings (um por nível de classificação): confidential, sensitive, restricted.

  • Chaves do keyring confidential (um por conjunto de dados): dataset_1, dataset_2, dataset_3 etc.
    Os outros keyrings teriam um conjunto semelhante de chaves para os conjuntos de dados que eles protegem.

  • Cada chave pode ser alternada de maneira independente, com base nas necessidades do negócio.

Duração dos objetos

Para evitar conflitos com os nomes dos recursos, NÃO É POSSÍVEL excluir keyrings e recursos de chave. Isso também se aplica às versões de chave, mas o material delas pode ser destruído para que os recursos não sejam mais usados. Como não é possível excluir keyrings, chaves e versões de chave, o identificador de recurso de versão de chave aponta apenas para o material de chave original. Os keyrings e as chaves não têm custos faturáveis ou limitações de cota. Portanto, a existência deles não impacta os custos e os limites de produção.

Para saber mais sobre como destruir versões de chave, consulte Como destruir e restaurar versões de chave.

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

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…