Sobre a criptografia de disco


Por padrão, o Compute Engine criptografa o conteúdo do cliente em repouso. O Compute Engine processa a criptografia para você sem que você precise fazer nada. Essa opção é chamada de Criptografia padrão do Google.

No entanto, é possível personalizar a criptografia usada pelo Compute Engine para seus recursos fornecendo chaves de criptografia de chaves (KEKs). Essas chaves não criptografam diretamente seus dados, mas sim as chaves geradas pelo Google que o Compute Engine usa para criptografá-los.

Você tem duas opções para fornecer chaves de criptografia de chaves:

  • Recomendado. Use chaves de criptografia gerenciadas pelo cliente (CMEKs) no Cloud KMS com o Compute Engine. O uso de chaves do Cloud KMS permite controlar o nível de proteção, o local, a programação de rotação, as permissões de uso e acesso e os limites criptográficos. O uso do Cloud KMS também permite monitorar o uso de chaves, visualizar registros de auditoria e controlar ciclos de vida importantes. Em vez de o Google ser proprietário e gerente de chaves de criptografia de chaves (KEKs) simétricas que protegem seus dados, você controla e gerencia essas chaves no Cloud KMS.

    É possível criar CMEKs manualmente ou usar a chave automática do Cloud KMS para que elas sejam criadas automaticamente em seu nome.

    Na maioria dos casos, depois de criar um disco criptografado por CMEK, não é necessário especificar a chave ao trabalhar com ele.

  • É possível gerenciar suas próprias chaves de criptografia de chaves fora do Compute Engine e fornecê-las sempre que criar ou gerenciar um disco. Essa opção é conhecida como Chaves de criptografia fornecidas pelo cliente (CSEKs, na sigla em inglês). Ao gerenciar recursos criptografados por CSEKs, é preciso sempre especificar a chave usada ao criptografar o recurso.

Para mais informações sobre cada tipo de criptografia, consulte Chaves de criptografia gerenciadas pelo cliente e Chaves de criptografia fornecidas pelo cliente.

Para adicionar uma camada extra de segurança aos discos Hyperdisk Balanced, ative o Modo confidencial. O modo confidencial adiciona criptografia baseada em hardware aos discos Hyperdisk Balanced.

Tipos de disco compatíveis

Esta seção lista os tipos de criptografia compatíveis com discos e outras opções de armazenamento oferecidas pelo Compute Engine.

CMEK com o Cloud KMS Autokey

Se você optar por usar chaves do Cloud KMS para proteger seus recursos do Compute Engine, poderá criar CMEKs manualmente ou usar o Autokey do Cloud KMS. Com o Autokey, keyrings e chaves são gerados sob demanda como parte da criação de recursos no Compute Engine. Os agentes de serviço que usam as chaves para operações de criptografia e descriptografia são criados se ainda não existirem e receberem os papéis necessários do Identity and Access Management (IAM). Para mais informações, consulte a Visão geral das chaves automáticas.

Para saber como usar as CMEKs criadas pelo Autokey do Cloud KMS para proteger seus recursos do Compute Engine, consulte Usar o Autokey com recursos do Compute Engine.

Snapshots

Ao usar o Autokey para criar chaves para proteger seus recursos do Compute Engine, o Autokey não cria novas chaves para snapshots. É necessário criptografar um snapshot com a mesma chave usada para criptografar o disco de origem. Se você criar um snapshot usando o console do Google Cloud, a chave de criptografia usada pelo disco será aplicada automaticamente ao snapshot. Se você criar um snapshot usando a CLI gcloud, o Terraform ou a API Compute Engine, será necessário receber o identificador de recurso da chave usada para criptografar o disco e, em seguida, usar essa chave para criptografar o snapshot.

Criptografar discos com chaves de criptografia gerenciadas pelo cliente

Para mais informações sobre como usar chaves de criptografia gerenciadas pelo cliente (CMEK) criadas manualmente para criptografar discos e outros recursos do Compute Engine, consulte Proteger recursos usando chaves do Cloud KMS.

Criptografar discos com chaves fornecidas pelo cliente

Para saber como usar Chaves de criptografia fornecidas pelo cliente (CSEK) para criptografar discos e outros recursos do Compute Engine, consulte Como criptografar discos com Chaves de criptografia fornecidas pelo cliente.

Ver informações sobre a criptografia de um disco

Os discos no Compute Engine são criptografados com chaves de criptografia gerenciadas pelo Google, gerenciadas pelo cliente ou fornecidas pelo cliente. A criptografia gerenciada pelo Google é o padrão.

Para ver o tipo de criptografia de um disco, use a gcloud CLI, o console do Google Cloud ou a API Compute Engine.

Console

  1. No console do Google Cloud, acesse a página Discos.

    Acessar "Discos"

  2. Na coluna Nome, clique no nome do disco.

  3. Na tabela Properties, a linha com o rótulo Criptografia indica o tipo de criptografia: Gerenciada pelo Google e Gerenciada pelo cliente ou Fornecida pelo cliente.

gcloud

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. Use o comando gcloud compute disks describe:

        gcloud compute disks describe DISK_NAME \
          --zone=ZONE \
          --format="json(diskEncryptionKey)"
      

    Substitua:

    • PROJECT_ID: o ID do projeto.
    • ZONE: zona em que o disco está.
    • DISK_NAME: o nome do disco.

      Resposta ao comando

      Se a saída for null, o disco usará a criptografia gerenciada pelo Google, que é o padrão.

      Caso contrário, a saída será um objeto JSON.

      Se o objeto JSON tiver um campo chamado diskEncryptionKey, o disco será criptografado. O objeto diskEncryptionKey contém informações indicando se o disco é criptografado por CMEKs ou CSEKs:

      • Se a property diskEncryptionKey.kmsKeyName estiver presente, o disco será criptografado por CMEKs. A property kmsKeyName indica o nome da chave específica usada para criptografar o disco:
        {
          "diskEncryptionKey": {
            "kmsKeyName": "projects/my-proj/.."
          }
        }
        
      • Se a property diskEncryptionKey.sha256 estiver presente, o disco será criptografado por CSEKs. A property sha256 é o hash SHA-256 da chave de criptografia fornecida pelo cliente que protege o disco.
          {
            "diskEncryptionKey": {
              "sha256": "abcdefghijk134560459345dssfd"
            }
          }
            

API

Faça uma solicitação POST ao método compute.disks.get.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME

Substitua:

  • PROJECT_ID: o ID do projeto.
  • ZONE: zona em que o disco está.
  • DISK_NAME: o nome do disco.

Resposta da solicitação

Se a resposta for null, o disco usará a criptografia gerenciada pelo Google, que é o padrão.

Caso contrário, a resposta será um objeto JSON.

Se o objeto JSON tiver um campo chamado diskEncryptionKey, o disco será criptografado. O objeto diskEncryptionKey contém informações indicando se o disco é criptografado por CMEKs ou CSEKs:

  • Se a property diskEncryptionKey.kmsKeyName estiver presente, o disco será criptografado por CMEKs. A property kmsKeyName indica o nome da chave específica usada para criptografar o disco:
    {
      "diskEncryptionKey": {
        "kmsKeyName": "projects/my-proj/.."
      }
    }
    
  • Se a property diskEncryptionKey.sha256 estiver presente, o disco será criptografado por CSEKs. A property sha256 é o hash SHA-256 da chave de criptografia fornecida pelo cliente que protege o disco.
      {
        "diskEncryptionKey": {
          "sha256": "abcdefghijk134560459345dssfd"
        }
      }
        

Quando o disco usa criptografia por CMEKs, é possível encontrar informações detalhadas sobre a chave, o keyring e o local seguindo as etapas em Ver chaves por projeto.

Se o disco usar criptografia por CSEKs, entre em contato com o administrador da organização para mais detalhes sobre a chave. Usando a CMEK, você também pode conferir quais recursos a chave protege com o rastreamento de uso da chave. Para mais informações, consulte Conferir o uso da chave.

Modo confidencial para Hyperdisk equilibrado

Se você usa a Computação confidencial, ative o modo confidencial para estender a criptografia baseada em hardware aos seus volumes do Hyperdisk equilibrado.

O modo confidencial para seus volumes do Hyperdisk equilibrado permite ativar mais segurança sem precisar refatorar o aplicativo. O modo confidencial é uma propriedade que pode ser especificada ao criar um novo volume do Hyperdisk Balanced.

Os volumes do Hyperdisk equilibrado no modo confidencial só podem ser usados com VMs confidenciais.

Para criar um volume do Hyperdisk Balanced no modo confidencial, consulte Ativar o modo confidencial para volumes do Hyperdisk Balanced.

Tipos de máquina com suporte para volumes do Hyperdisk Balanced no modo confidencial

Os volumes do Hyperdisk equilibrado no modo confidencial só podem ser usados com VMs confidenciais que usam o tipo de máquina N2D.

Regiões com suporte para volumes do Hyperdisk Balanced no modo confidencial

O modo confidencial para volumes do Hyperdisk Balanced está disponível nas seguintes regiões:

  • europe-west4
  • us-central1
  • us-east4
  • us-east5
  • us-south1
  • us-west4

Limitações para volumes do Hyperdisk Balanced no modo confidencial

  • O Hyperdisk Extreme, o Hyperdisk Throughput, o Hyperdisk ML e o Hyperdisk Balanced High Availability não oferecem suporte ao modo confidencial.
  • Não é possível suspender ou retomar uma VM que usa volumes do Hyperdisk Balanced no modo Confidencial.
  • Não é possível usar pools de armazenamento de hiperdisco com volumes do Hyperdisk equilibrado no modo confidencial.
  • Não é possível criar uma imagem de máquina ou uma imagem personalizada em um volume do Hyperdisk Balanced no modo confidencial.

A seguir