Neste documento, fornecemos informações sobre como usar chaves do Cloud Key Management Service Cloud KMS criadas manualmente para criptografar discos e outros recursos relacionados ao armazenamento. As chaves gerenciadas no Cloud KMS são conhecidas como chaves de criptografia gerenciadas pelo cliente (CMEKs).
É possível usar as CMEKs para criptografar recursos do Compute Engine, como discos, imagens de máquina, snapshots instantâneos e snapshots padrão.
Para saber mais sobre o uso de chaves de criptografia fornecidas pelo cliente (CSEKs) para criptografar discos e outros recursos de armazenamento, consulte Como criptografar discos com chaves de criptografia fornecidas pelo cliente.
Saiba mais sobre a criptografia de disco.
Antes de começar
- Entenda discos, imagens, snapshots de disco permanente e instâncias de máquina virtual (VM, na sigla em inglês).
- Decida se você executará o Compute Engine e o Cloud KMS no mesmo projeto do Google Cloud ou em projetos diferentes. Para informações sobre os IDs de projeto e os números de projeto do Google Cloud, consulte Como identificar projetos.
- Para o projeto do Google Cloud que executa o Cloud KMS, faça o
seguinte:
-
Enable the Cloud KMS API.
-
-
Configure a autenticação, caso ainda não tenha feito isso.
A autenticação é
o processo de verificação da sua identidade para acesso a serviços e APIs do Google Cloud.
Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no
Compute Engine da seguinte maneira.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
KMS_PROJECT_ID
: ID do projeto do Cloud que executa o Cloud KMS, ainda que seja o mesmo projeto que executa o Compute Engine.PROJECT_NUMBER
: o número do projeto do Google Cloud (não o ID do projeto do Google Cloud) que executa os recursos do Compute Engine.Não é possível criptografar recursos atuais com CMEKs. Só é possível criptografar discos, imagens e snapshots com CMEKs quando você os cria.
Ao criar um disco a partir de um snapshot instantâneo criptografado por CMEK, é necessário especificar a chave usada para criptografar o disco de origem. Não é necessário especificar a chave ao trabalhar com outros recursos criptografados por CMEK, como clones de disco e snapshots padrão.
Não é possível usar suas próprias chaves com discos SSD locais porque elas são gerenciadas pela infraestrutura do Google Cloud e excluídas quando a VM é encerrada.
Os recursos regionais (discos) só podem ser criptografados por uma chave em um dos seguintes locais do Cloud KMS:
- Uma chave na mesma região do disco
- Uma chave multirregional no mesmo local geográfico do disco
- Uma chave no local global.
Por exemplo, um disco na zona
us-west1-a
pode ser criptografado por uma chave no local global, na regiãous-west1
ou na multirregiãous
.Os recursos globais (como imagens e snapshots) podem ser criptografados por chaves em qualquer local. Para mais informações, consulte Tipos de locais do Cloud KMS.
A criptografia de discos, snapshots ou imagens com uma chave é permanente. Não é possível remover a criptografia do recurso ou alterar a chave usada. A única maneira de remover as chaves de criptografia ou de alteração é criar uma cópia do recurso ao especificar uma nova opção de criptografia.
O modo confidencial para Hyperdisk Balanced herda as limitações atuais do hiperdisco e tem as seguintes limitações:
- Só é possível anexar discos do Hyperdisk Balanced no modo confidencial a VMs N2D com
VMs confidenciais ou nós confidenciais do Google Kubernetes Engine nas seguintes
regiões:
europe-west4
us-central1
us-east4
us-east5
us-south1
us-west4
- Não é possível suspender ou retomar uma instância de máquina virtual (VM) com o modo Confidencial anexado para discos Hyperdisk Balanced.
- Não é possível usar pools de armazenamento de hiperdisco com o modo confidencial para o Hyperdisk Balanced.
- Não é possível criar imagens personalizadas no modo confidencial para discos Hyperdisk Balanced.
- Só é possível anexar discos do Hyperdisk Balanced no modo confidencial a VMs N2D com
VMs confidenciais ou nós confidenciais do Google Kubernetes Engine nas seguintes
regiões:
- No console do Google Cloud, acesse a página Discos.
- Clique em Novo disco e insira as propriedades do novo disco.
- Em Criptografia, selecione Chave gerenciada pelo cliente.
- No menu suspenso, selecione a chave do Cloud KMS que você quer usar para criptografar o disco.
- Para criar o disco, clique em Criar.
DISK_NAME
: o nome do novo discoKMS_PROJECT_ID
: o projeto proprietário da chave do Cloud KMS.REGION
: a região em que a chave está localizada.KEY_RING
: o nome do keyring que inclui a chaveKEY
: o nome da chave usada para criptografar o discoPROJECT_ID
: o ID do projeto do Google Cloud que executa o Compute EngineZONE
: a zona em que a VM será criadaMACHINE_TYPE
: o tipo de máquina, por exemplo,c3-standard-4
.KMS_PROJECT_ID
: o projeto proprietário da chave do Cloud KMS.REGION
: a região onde o disco está localizado.KEY_RING
: o nome do keyring que inclui a chave.KEY
: o nome da chave usada para criptografar o disco.SOURCE_IMAGE
: a imagem a ser usada ao criar a VM, por exemplo,projects/debian-cloud/global/images/debian-11-bullseye-v20231115
.PROJECT_ID
: o ID do projeto do Google Cloud que executa o Compute EngineZONE
: a zona em que o disco será criadoSOURCE_IMAGE
: a imagem a ser usada ao criar o disco, por exemplo,projects/debian-cloud/global/images/debian-11-bullseye-v20231115
DISK_NAME
: um nome para o novo discoKMS_PROJECT_ID
: o projeto proprietário da chave do Cloud KMS.REGION
: a região onde o disco está localizado.KEY_RING
: o nome do keyring que inclui a chave.KEY
: o nome da chave usada para criptografar o disco.DISK_TYPE
: o tipo de disco a ser criado- No console do Google Cloud, acesse a página Discos.
- Clique em Novo disco e insira as propriedades do novo disco.
- Na seção Configurações de disco, escolha Hyperdisk Balanced como o tipo de disco.
- Opcional. Altere as configurações de Tamanho, IOPS provisionadas e Capacidade de processamento provisionada do disco padrão.
- Na seção Criptografia, selecione Chave do Cloud KMS.
- Na lista de chaves, selecione a chave do Cloud HSM que você quer usar para criptografar o disco.
- Na seção Computação confidencial, selecione Ativar serviços de Computação confidencial.
- Para criar o disco, clique em Criar.
DISK_NAME
: o nome do novo disco.KMS_PROJECT_ID
: o projeto proprietário da chave do Cloud HSM.REGION
: a região em que a chave está localizada.KEY_RING
: o nome do keyring que inclui a chaveKEY
: o nome da chave usada para criptografar o discoDISK_TYPE
: o tipo de disco a ser criado, por exemplo,hyperdisk-balanced
.PROJECT_ID
: o ID do projeto do Google Cloud que executa o Compute EngineZONE
: a zona em que a VM será criadaMACHINE_TYPE
: o tipo de máquina, por exemplo,n2d-standard-4
.KMS_PROJECT_ID
: o projeto proprietário da chave do Cloud HSM.REGION
: a região onde o disco está localizado.KEY_RING
: o nome do keyring que inclui a chaveKEY
: o nome da chave usada para criptografar o discoSOURCE_IMAGE
: a imagem que oferece suporte à VM confidencial a ser usada ao criar a VM, por exemplo,projects/debian-cloud/global/images/debian-11-bullseye-v20231115
.PROJECT_ID
: o ID do projeto do Google Cloud que executa o Compute EngineZONE
: a zona em que o disco será criadoSOURCE_IMAGE
: a imagem que oferece suporte à VM confidencial ao criar o disco, por exemplo,projects/debian-cloud/global/images/debian-11-bullseye-v20231115
.DISK_NAME
: um nome para o novo discoKMS_PROJECT_ID
: o projeto proprietário da chave do Cloud HSM.REGION
: a região onde o disco está localizado.KEY_RING
: o nome do keyring que inclui a chave.KEY
: o nome da chave usada para criptografar o disco.DISK_TYPE
: o tipo de disco a ser criado, por exemplo,hyperdisk-balanced
.- No console do Google Cloud, acesse a página Snapshots.
- Clique em Criar snapshot.
- Em disco de origem, escolha o disco de origem para o instantâneo. O snapshot é criptografado automaticamente com a mesma chave usada pelo disco de origem.
Para criar um snapshot no local padrão predefinido ou personalizado definido nas configurações do snapshot, use o comando
gcloud compute snapshots create
.gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk-zone=SOURCE_ZONE \ --source-disk=SOURCE_DISK_NAME \ --snapshot-type=SNAPSHOT_TYPE
-
Como alternativa, para substituir as configurações de snapshot e criar um snapshot em um local de armazenamento personalizado, inclua a flag
--storage-location
para indicar onde ele deve ser armazenado:gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk-zone=SOURCE_ZONE \ --source-disk=SOURCE_DISK_NAME \ --snapshot-type=SNAPSHOT_TYPE \ --storage-location=STORAGE_LOCATION
Substitua:
- SNAPSHOT_NAME: um nome para o snapshot.
- SOURCE_ZONE: a zona do disco de origem.
- SOURCE_DISK_NAME: o nome do volume de disco a partir do qual você quer criar um snapshot.
- SNAPSHOT_TYPE: o tipo de snapshot, que é STANDARD ou
ARCHIVE.
Se um tipo de snapshot não for especificado, um snapshot
STANDARD
será criado. -
STORAGE_LOCATION (opcional): a multirregião do Cloud Storage ou a região do Cloud Storage onde você quer armazenar o snapshot. É possível especificar apenas um local de armazenamento.
Use o parâmetro
--storage-location
somente quando quiser substituir o local de armazenamento padrão predefinido ou personalizado que está definido nas configurações de snapshot.
-
Para criar o snapshot no local padrão predefinido ou personalizado configurado nas configurações de snapshot, faça uma solicitação
POST
para o métodosnapshots.insert
.POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots { "name": "SNAPSHOT_NAME", "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/SOURCE_DISK_NAME", "snapshotEncryptionKey": { "kmsKeyName": "projects/KMS_PROJECT_ID/locations/KEY_REGION/keyRings/KEY_RING/cryptoKeys/SNAPSHOT_KEY" }, "snapshotType": "SNAPSHOT_TYPE" }
-
Como alternativa, para substituir as configurações de snapshot e criar um snapshot em um local de armazenamento personalizado, faça uma solicitação
POST
ao métodosnapshots.insert
e inclua nela a propriedadestorageLocations
:POST https://compute.googleapis.com/compute/v1/projects/DESTINATION_PROJECT_ID/global/snapshots { "name": "SNAPSHOT_NAME", "sourceDisk": "projects/SOURCE_PROJECT_ID/zones/SOURCE_ZONE/disks/SOURCE_DISK_NAME", "snapshotEncryptionKey": { "kmsKeyName": "projects/KMS_PROJECT_ID/locations/KEY_REGION/keyRings/KEY_RING/cryptoKeys/SNAPSHOT_KEY" }, "snapshotType": "SNAPSHOT_TYPE", "storageLocations": [ "STORAGE_LOCATION" ], }
- DESTINATION_PROJECT_ID: o ID do projeto em que você quer criar o snapshot.
- SNAPSHOT_NAME: um nome para o snapshot.
- SOURCE_PROJECT_ID: o ID do projeto de disco de origem.
- SOURCE_ZONE: a zona do disco de origem.
- SOURCE_DISK_NAME: o nome do disco a partir do qual você quer criar um snapshot.
- KMS_PROJECT_ID: o projeto que contém a chave de criptografia armazenada no Cloud Key Management Service.
- KEY_REGION: a região onde a chave do Cloud KMS está localizada.
- KEY_RING: o nome do keyring que contém a chave do Cloud KMS.
- SNAPSHOT_KEY: o nome da chave do Cloud KMS que você usou para criptografar o disco de origem.
- SNAPSHOT_TYPE: o tipo de snapshot, que é STANDARD ou
ARCHIVE.
Se um tipo de snapshot não for especificado, um snapshot
STANDARD
será criado. -
STORAGE_LOCATION (opcional): a multirregião do Cloud Storage ou a região do Cloud Storage onde você quer armazenar o snapshot. É possível especificar apenas um local de armazenamento.
Use o parâmetro
storageLocations
somente quando quiser substituir o local de armazenamento padrão predefinido ou personalizado que está definido nas configurações de snapshot. - No console do Google Cloud, acesse a página Imagens.
- Clique em Criar imagem.
- Em disco de origem, selecione o disco do qual quer criar uma imagem.
- Em Criptografia, selecione Chave gerenciada pelo cliente.
- No menu suspenso, selecione a chave do Cloud KMS que você quer usar para criptografar essa imagem.
- Continue com o processo de criação da imagem.
IMAGE_NAME
: o nome da imagem que você está criandoSOURCE_DISK
: o nome do disco para criar um snapshotKMS_PROJECT_ID
: o projeto que contém a chave do Cloud KMSREGION
: a região em que a chave do Cloud KMS está localizadaKEY_RING
: o keyring que contém a chave do Cloud KMSKEY
: o nome da chave a ser usada para criptografar o novo discoPROJECT_ID
: o projeto em que a imagem criptografada será criadaIMAGE_NAME
: o nome da imagem que você está criandoKMS_PROJECT_ID
: o projeto que contém a chave do Cloud KMSREGION
: a região em que a chave do Cloud KMS está localizadaKEY_RING
: o keyring que contém a chave do Cloud KMSKEY
: o nome da chave que você usou para criptografar o disco de origem- No console do Google Cloud, acesse a página Discos.
- Clique em Novo disco e insira as propriedades do novo disco.
- Em Tipo de origem, selecione o snapshot ou a imagem que você quer usar.
Opcional: para definir uma nova chave de criptografia, em Criptografia, especifique o tipo de chave a ser usada e forneça as informações da chave.
Se você quiser remover a chave de criptografia gerenciada ou fornecida pelo cliente, em Criptografar, use o valor padrão Chave de criptografia gerenciada pelo Google.
Continue com o processo de criação do disco permanente.
DISK_NAME
: o nome do novo discoSNAPSHOT_NAME
: o nome do snapshot criptografado.Para usar uma imagem em vez de um snapshot, substitua
--source-snapshot SNAPSHOT_NAME
por--image IMAGE_NAME
.KMS_PROJECT_ID
(opcional): o projeto que contém a chave do Cloud KMS.REGION
(opcional): a região em que a chave do Cloud KMS está localizadaKEY_RING
(opcional): o keyring que contém a chave do Cloud KMSKEY
(opcional): o nome da chave do Cloud KMS a ser usada para criptografar o novo discoPara criptografar o novo disco, siga um destes procedimentos:
- Para especificar uma nova chave de criptografia gerenciada pelo cliente, use a
flag
--kms-key
. - Para usar a chave padrão de propriedade e gerenciada pelo Google, não inclua a
flag
--kms-key
.
- Para especificar uma nova chave de criptografia gerenciada pelo cliente, use a
flag
PROJECT_ID
: o projeto em que o novo disco será criadoZONE
: a zona em que o novo disco será criadoDISK_NAME
: o nome do novo discoSNAPSHOT_PROJECT_ID
: o projeto que contém o snapshotSNAPSHOT_NAME
: o nome do snapshot criptografado.Para usar uma imagem em vez de um snapshot, substitua
sourceSnapshot
porsourceImage
.KMS_PROJECT_ID
(opcional): o projeto que contém a chave do Cloud KMS.REGION
(opcional): a região em que a chave do Cloud KMS está localizadaKEY_RING
(opcional): o keyring que contém a chave do Cloud KMSKEY
(opcional): o nome da chave do Cloud KMS a ser usada para criptografar o novo discoSe você incluir
diskEncryptionKey
, o disco será criptografado com a chave do Cloud KMS especificada. Se você não incluirdiskEncryptionKey
, o disco será criptografado usando uma chave de propriedade e gerenciada pelo Google.No console do Google Cloud, acesse a página Criar uma instância.
Especifique os detalhes da VM e, na seção Disco de inicialização, clique em Alterar. Em seguida, faça o seguinte:
- Clique em discos existentes.
- Na lista Disco, selecione um disco existente para anexar à VM.
- Clique em Selecionar.
Continue com o processo de criação da VM.
VM_NAME
: o nome da VM que você está criandoDISK_NAME
: o nome do disco criptografadoPROJECT_ID
: o projeto em que a nova VM será criada.ZONE
: zona em que a VM será criadaDISK_ALIAS
: um nome de dispositivo exclusivo a ser usado como o alias de disco no diretório/dev/disk/by-id/google-*
da VM que executa um sistema operacional Linux. Esse nome pode ser usado para fazer referência ao disco em operações como montagem ou redimensionamento na instância. Se você não especificar um nome de dispositivo, a VM escolherá um nome de dispositivo padrão para aplicar a esse disco, no formatopersistent-disk-x
, em quex
é um número atribuído pelo no Compute Engine. Esse campo só é aplicável a volumes do Persistent Disk.DISK_NAME
: o nome do disco criptografado- Crie um snapshot do disco de inicialização.
- Use o novo snapshot criptografado para criar um novo disco permanente.
- Faça a rotação da chave do Cloud KMS.
- Crie um snapshot do disco de inicialização.
- Use o novo snapshot para criar um novo disco com a chave girada na etapa anterior.
- Substitua o disco anexado à VM que usa a chave de criptografia antiga.
- VMs com discos anexados não podem ser inicializadas. Se você tiver ativado o encerramento da VM na revogação de chaves, as VMs com discos anexados que a chave ajuda a proteger serão desativadas.
- Os discos não podem ser anexados a VMs, nem podem ser criados snapshots para elas.
- Não é possível usar snapshots para criar um disco.
- Não é possível usar imagens para criar um disco.
- Comece a criar uma VM que inclua um disco protegido por uma chave do Cloud KMS.
- Abra a seção Rede, discos, segurança, gerenciamento, locação individual.
- Expanda a seção Gerenciamento.
- Em Política de revogação da chave de criptografia gerenciada pelo cliente (CMEK), selecione Encerrar.
- Comece a criar um novo modelo de instância que inclua um disco protegido por uma chave do Cloud KMS.
- Abra a seção Rede, discos, segurança, gerenciamento, locação individual.
- Expanda a seção Gerenciamento.
- Em Política de revogação da chave de criptografia gerenciada pelo cliente (CMEK), selecione Encerrar.
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.
Funções exigidas
Para garantir que o agente de serviço do Compute Engine tenha as permissões necessárias para proteger recursos usando as chaves do Cloud KMS, peça ao administrador para conceder ao agente de serviço do Compute Engine o Papel do IAM de criptografador/descriptografador de CryptoKey do Cloud KMS (
roles/cloudkms.cryptoKeyEncrypterDecrypter
) no seu projeto. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.O administrador também pode conceder ao agente de serviço do Compute Engine as permissões necessárias por meio de papéis personalizados ou outros papéis predefinidos.
O agente de serviço do Compute Engine tem o seguinte formato:
service-PROJECT_NUMBER@compute-system.iam.gserviceaccount.com
Use Google Cloud CLI para atribuir a função:
gcloud projects add-iam-policy-binding KMS_PROJECT_ID \ --member serviceAccount:service-PROJECT_NUMBER@compute-system.iam.gserviceaccount.com \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter
Substitua:
Especificações de criptografia
As chaves do Cloud KMS usadas para ajudar a proteger os dados no Compute Engine são chaves AES-256. Elas são chaves de criptografia de chaves que criptografam as chaves de criptografia de dados que criptografam seus dados, não os dados em si.
Os dados nos discos são criptografados com chaves de propriedade e gerenciadas pelo Google. Para conferir especificações relacionadas à criptografia padrão no Google Cloud, consulte Criptografia padrão em repouso na documentação de segurança.
Com o modo confidencial para Hyperdisk Balanced e Cloud HSM, a chave de criptografia de dados (DEK) tem propriedades de segurança adicionais com enclaves com suporte de hardware.
Limitações
Criação manual ou automatizada de chaves
É possível criar chaves do Cloud KMS manualmente ou usar a chave automática do Cloud KMS (pré-lançamento). O Autokey simplifica a criação e o gerenciamento de chaves do Cloud KMS automatizando o provisionamento e a atribuição. Com ele, não é preciso provisionar keyrings, chaves e contas de serviço com antecedência. Em vez disso, eles são gerados sob demanda como parte da criação de recursos do Compute Engine. Para ver mais informações, consulte a Visão geral das chaves automáticas.
Criar um keyring e uma chave manualmente
Para o projeto do Google Cloud que executa o Cloud KMS, crie um keyring e uma chave, conforme descrito em Como criar keyrings e chaves.
Criptografar um novo disco permanente com a CMEK
É possível criptografar um novo disco permanente fornecendo uma chave durante a criação de uma instância ou disco.
Console
gcloud
Crie um disco criptografado usando o comando
gcloud compute disks create
e especifique a chave usando a flag--kms-key
.gcloud compute disks create DISK_NAME \ --kms-key projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY
Substitua:
REST
Crie uma solicitação
POST
para o métodoinstances.insert
. Para criptografar um disco, use a propriedadediskEncryptionKey
com a propriedadekmsKeyName
. Por exemplo, é possível criptografar um novo disco durante a criação da VM com sua chave do Cloud KMS usando:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE", "disks": [ { "type": "PERSISTENT", "diskEncryptionKey": { "kmsKeyName": "projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY" }, "initializeParams": { "sourceImage": "SOURCE_IMAGE" }, "boot": true } ], ... }
Substitua:
Da mesma forma, use o método
disks.insert
para criar um novo Persistent Disk independente e criptografá-lo com a chave do Cloud KMS:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks?sourceImage=SOURCE_IMAGE { "name": "DISK_NAME", "diskEncryptionKey": { "kmsKeyName": "projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY" }, "type": "projects/PROJECT_ID/zones/ZONE/diskTypes/DISK_TYPE" }
Substitua:
Criar um volume do Hyperdisk Balanced no modo confidencial
Para criar um novo hiperdisco no modo confidencial com o console do Google Cloud, a CLI do Google Cloud ou o REST.
Console
gcloud
Criptografe um novo disco com o modo confidencial para o Hyperdisk Balanced usando o comando
gcloud compute disks create
. Ative o modo confidencial com a flag--confidential-compute
e especifique a chave usando a flag--kms-key
.gcloud compute disks create DISK_NAME \ --type=hyperdisk-balanced \ --kms-key projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY \ --confidential-compute
Substitua:
REST
Crie uma solicitação
POST
para o métodoinstances.insert
. Para criptografar um disco com o modo confidencial para o Hyperdisk Balanced, use a propriedadediskEncryptionKey
com a propriedadekmsKeyName
e defina a flagenableConfidentialCompute
. Por exemplo, é possível criptografar um novo disco durante a criação da VM com sua chave do Cloud HSM usando:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE", "disks": [ { "type": "DISK_TYPE", "diskEncryptionKey": { "kmsKeyName": "projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY" }, "initializeParams": { "sourceImage": "SOURCE_IMAGE", "enableConfidentialCompute": true }, "boot": true } ], "networkInterfaces": [ { "network": "global/networks/default" } ] }
Substitua:
Da mesma forma, use o método
disks.insert
para criar um novo modo confidencial para o Hyperdisk Balanced:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks?sourceImage=SOURCE_IMAGE { "name": "DISK_NAME", "diskEncryptionKey": { "kmsKeyName": "projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY" }, "type": "projects/PROJECT_ID/zones/ZONE/diskTypes/DISK_TYPE", "enableConfidentialCompute": true }
Substitua:
Criar um snapshot a partir de um disco criptografado com a CMEK
Para proteger um snapshot criado a partir de um disco criptografado com a CMEK, use a mesma chave de criptografia usada para criptografar o disco.
Não é possível criar um snapshot que use uma CMEK, a menos que o disco de origem também use CMEK. Além disso, não é possível converter discos ou snapshots criptografados por CMEKs para usar a criptografia padrão do Google Cloud, a menos que você crie uma imagem de disco completamente nova e um novo disco permanente.
Os snapshots de discos criptografados com CMEK são incrementais.
Console
gcloud
Para criptografia gerenciada pelo cliente, a chave do Cloud KMS que foi usada para criptografar o disco também é usada para criptografar o snapshot.
Crie o snapshot na política de local de armazenamento definida pelas configurações do snapshot ou usando um local de armazenamento alternativo de sua escolha. Para mais informações, consulte Escolher o local de armazenamento dos snapshots.
REST
Crie o snapshot na política de local de armazenamento definida pelas configurações do snapshot ou usando um local de armazenamento alternativo de sua escolha. Para mais informações, consulte Escolher o local de armazenamento dos snapshots.
Substitua:
Criptografar uma imagem importada com a CMEK
É possível criptografar uma nova imagem ao importar uma imagem personalizada para o Compute Engine. Antes de importar uma imagem, é necessário criar e compactar um arquivo de imagem de disco e fazer upload desse arquivo para o Cloud Storage.
Console
gcloud
Para importar e criptografar uma imagem, use o comando
gcloud compute images create
. Para criptografia gerenciada pelo cliente, especifique a chave do Cloud KMS para a imagem.gcloud compute images create IMAGE_NAME \ --source-disk=SOURCE_DISK \ --kms-key projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY
Substitua:
REST
Para criptografar uma imagem importada, crie uma solicitação
POST
para o métodoimages.insert
. Especifique o URI do arquivo compactado, adicione a propriedadeimageEncryptionKey
à solicitação de criação de imagem e especifique a chave para criptografar a imagem na propriedadekmsKeyName
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images { "rawDisk": { "source": "http://storage.googleapis.com/example-image/example-image.tar.gz" }, "name": "IMAGE_NAME", "sourceType": "RAW", "imageEncryptionKey": { "kmsKeyName": "projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY" } }
Substitua:
Criar um disco a partir de um snapshot criptografado com a CMEK
Para criar um novo disco permanente independente de um snapshot criptografado, faça o seguinte:
Console
gcloud
Use o comando
gcloud compute disks create
para criar um novo disco permanente independente de um snapshot criptografado.gcloud compute disks create DISK_NAME \ --source-snapshot SNAPSHOT_NAME \ --kms-key projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY
Substitua:
REST
Crie uma solicitação
POST
para o métodocompute.disks.insert
para criar um novo disco permanente independente de um snapshot criptografado. Use a propriedadesourceSnapshot
para especificar o snapshot.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks { "name": "DISK_NAME", "sourceSnapshot": "projects/SNAPSHOT_PROJECT_ID/global/snapshots/SNAPSHOT_NAME", "diskEncryptionKey": { "kmsKeyName": "projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY" } }
Substitua:
Como anexar um disco de inicialização criptografado com a CMEK a uma nova VM
Console
gcloud
Para anexar um disco criptografado ao criar uma nova VM, use o comando
gcloud compute instances create
. Use a flag--disk
para especificar o disco de inicialização criptografado, conforme mostrado no exemplo a seguir:gcloud compute instances create VM_NAME \ ... --disk name=DISK_NAME,boot=yes
Substitua:
REST
Crie uma solicitação
POST
para o métodocompute.instances.insert
. Use a propriedadedisks
para especificar o disco de inicialização criptografado, conforme mostrado no exemplo a seguir:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { ... "disks": [ { "deviceName": "DISK_ALIAS", "source": "projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME" } ] }
Substitua:
Remover a chave de criptografia do Cloud KMS de um disco permanente
É possível descriptografar o conteúdo de um disco criptografado e criar um novo disco que use a criptografia padrão do Compute Engine. Por padrão, o Google Cloud criptografa todos os dados em repouso.
Depois de criar o novo disco permanente, a criptografia padrão do Google Cloud será usada para proteger o conteúdo do disco. Todos os snapshots criados a partir desse disco também precisarão usar a criptografia padrão.
Fazer a rotação da chave de criptografia do Cloud KMS para um disco
Faça a rotação da chave utilizada para criptografar o disco criando um novo disco que use uma nova versão de chave do Cloud KMS. A rotação de chaves é uma prática recomendada para cumprir as práticas de segurança padronizadas. Para revezar suas chaves, faça o seguinte:
Quando você cria o novo disco, ele usa a nova versão de chave para criptografia. Todos os snapshots criados com base nesse disco usam a versão mais recente da chave primária.
Quando você faz a rotação de uma chave, os dados que foram criptografados com versões anteriores não são recriptografados automaticamente. Para mais informações, consulte Como recriptografar dados. Girar uma chave não desativa ou destrói automaticamente uma versão atual dela.
Impacto da desativação ou exclusão de CMEKs
Desativar ou excluir uma chave de criptografia tem os seguintes efeitos nestes recursos que são protegidos pela chave:
Se você desativar a chave, poderá reverter os efeitos anteriores ativando-a. Se você excluir a chave, não poderá reverter os efeitos anteriores.
Configurar o encerramento da VM na revogação de chave do Cloud KMS
Você pode configurar sua VM para ser encerrada automaticamente quando revogar a chave do Cloud KMS que está ajudando a proteger um disco permanente anexado à VM. É possível revogar uma chave desativando-a ou excluindo-a. Com essa configuração ativada, a VM é encerrada dentro de sete horas após a revogação da chave.
Se você ativar a chave novamente, reinicie a VM com o disco anexado que ela ajuda a proteger. A VM não é reiniciada automaticamente depois que você ativa a chave.
Console
Para configurar o encerramento da VM quando uma chave do Cloud KMS é revogada, faça o seguinte:
gcloud
Use o comando
gcloud compute instances create
para criar uma VM e inclua--key-revocation-action-type=stop
.gcloud compute instances create
VM_NAME
\ --imageIMAGE
\ --key-revocation-action-type=stopREST
Use o método
instances.insert
para criar uma VM e defina a propriedade"keyRevocationActionType"
como"STOP"
. O exemplo a seguir cria a VM a partir de uma imagem pública.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE", "name": "
VM_NAME
", "disks": [ { "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" }, "boot": true } ], "keyRevocationActionType": "STOP" }Também é possível configurar um modelo de instância para criar VMs que são encerradas na revogação de chave usando a CLI do Google Cloud ou REST.
Console
É possível usar um modelo de instância para criar VMs que são encerradas quando uma chave do Cloud KMS é revogada.
gcloud
Crie um modelo de instância usando o comando
gcloud compute instance-templates create
e inclua--key-revocation-action-type=stop
.gcloud compute instance-templates create
INSTANCE_TEMPLATE_NAME
\ --key-revocation-action-type=stopREST
Envie uma solicitação POST ao método
instanceTemplates.insert
. No corpo da solicitação, é preciso definir explicitamente todos os campos de configuração necessários. Se você quiser que as VMs criadas a partir deste modelo sejam encerradas na revogação da chave, especifique"keyRevocationActionType":"STOP"
. Por exemplo, um modelo de instância com o mínimo de campos obrigatórios que criará VMs que encerram na revogação da chave é semelhante ao seguinte:POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instanceTemplates { "name": "example-template", "properties": { "machineType": "e2-standard-4", "networkInterfaces": [ { "network": "global/networks/default", "accessConfigs": [ { "name": "external-IP", "type": "ONE_TO_ONE_NAT" } ] } ], "disks": [ { "type": "PERSISTENT", "boot": true, "mode": "READ_WRITE", "initializeParams": { "sourceImage": "projects/debian-cloud/global/images/family/debian-11" } } ], "keyRevocationActionType": "STOP" } }Depois de criar uma VM configurada para encerrar com a revogação do Cloud KMS, create e anexe um Persistent Disk criptografado com uma chave do Cloud KMS.
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2024-11-23 UTC.
-