Criptografar um disco de inicialização de VM de TPU com uma chave de criptografia gerenciada pelo cliente (CMEK)
Por padrão, o Cloud TPU criptografa o conteúdo do cliente em repouso. Ele lida com a criptografia e você não precisa fazer nada. Essa opção é chamada de criptografia padrão do Google.
Se você quiser controlar as chaves de criptografia, use chaves de criptografia gerenciadas pelo cliente (CMEKs) no Cloud KMS com serviços integrados a CMEKs, como o Cloud TPU. Ao usar chaves do Cloud KMS, é possível controlar o nível de proteção, o local, a programação de rotação, as permissões de uso e de acesso e os limites criptográficos. Com o Cloud KMS, também é possível visualizar registros de auditoria e controlar ciclos de vida de chaves. Em vez de o Google ser proprietário e responsável pelo gerenciamento das chaves de criptografia de chaves (KEKs) simétricas que protegem os dados, você controla e gerencia essas chaves no Cloud KMS.
Depois que você configurar os recursos com CMEKs, a experiência de acesso aos recursos do Cloud TPU vai ser semelhante ao uso da criptografia padrão do Google. Para saber mais sobre suas opções de criptografia, consulte Chaves de criptografia gerenciadas pelo cliente (CMEK).
Para usar uma CMEK, você precisa criar um keyring.
Crie-o no mesmo local em que você planeja criar
o Cloud TPU. Por exemplo, um Cloud TPU na zona us-central1-a só
pode usar uma chave na região us-central1.
Em seguida, crie uma chave no keyring. Depois de criar uma CMEK, você vai precisar conceder à conta de serviço do Compute Engine acesso a ela.
Conceder permissão para usar a chave
Conceda o papel do IAM Criptografador/descriptografador de CryptoKey
do Cloud KMS (roles/cloudkms.cryptoKeyEncrypterDecrypter) na
chave do Cloud KMS ao agente de serviço do Compute Engine
no projeto do Google Cloud . Ao conceder esse papel, o serviço do Compute
Engine pode acessar e usar a chave de criptografia.
Para conceder o papel roles/cloudkms.cryptoKeyEncrypterDecrypter ao
agente de serviço do Compute Engine, selecione uma das seguintes opções:
gcloud
Execute este comando:
gcloud kms keys add-iam-policy-binding KEY_NAME \
--location LOCATION \
--keyring RING_NAME \
--member serviceAccount:service-PROJECT_NUMBER@compute-system.iam.gserviceaccount.com \
--role roles/cloudkms.cryptoKeyEncrypterDecrypter \
--project KEY_PROJECT_ID
Substitua:
KEY_NAME: o nome da chave.LOCATION: o local em que você criou o keyring.RING_NAME: o nome do keyring.PROJECT_NUMBER: o número do projeto do Google Cloud .KEY_PROJECT_ID: o ID do projeto da chave.
Console
- No console do Google Cloud , acesse a página Gerenciamento de chaves.
Clique no nome do keyring que contém a chave.
Clique no nome da chave que você quer modificar.
Clique na guia Permissões.
Clique em Conceder acesso. O painel Conceder acesso à chave será aberto.
No campo Novos principais, insira o nome do agente de serviço do Compute Engine:
service-PROJECT_NUMBER@compute-system.iam.gserviceaccount.comSubstitua
PROJECT_NUMBERpelo número do projeto do Google Cloud.No menu Selecionar papel, escolha Criptografador/descriptografador de CryptoKey do Cloud KMS.
Clique em Salvar.
Criar uma VM de TPU com uma CMEK
É possível especificar uma CMEK ao criar uma VM de TPU usando a API TPU ou a API Queued Resources.
API TPU
Para especificar uma CMEK ao criar uma VM de TPU usando a API Cloud TPU, use o
argumento --boot-disk no comando tpu-vm create para especificar a chave
de criptografia a ser usada:
gcloud compute tpus tpu-vm create TPU_NAME \
--zone ZONE \
--boot-disk kms-key=projects/PROJECT_ID/locations/REGION/keyRings/RING_NAME/cryptoKeys/KEY_NAME \
--version=TPU_RUNTIME_VERSION \
--accelerator-type=ACCLERATOR_TYPE
Substitua:
TPU_NAME: o nome da VM de TPU.ZONE: a zona em que você planeja criar o Cloud TPU.PROJECT_ID: o ID do projeto do Google Cloud .REGION: a região em que você criou o keyring.RING_NAME: o nome do keyring.KEY_NAME: o nome da chave.TPU_RUNTIME_VERSION: a versão do software do Cloud TPU.ACCELERATOR_TYPE: o tipo de acelerador que você quer criar para o Cloud TPU. Para mais informações sobre os tipos de aceleradores disponíveis em cada versão da TPU, consulte Versões da TPU.
API Queued Resources
Para especificar uma CMEK ao criar uma VM de TPU usando a API Queued Resources, use
o argumento --bootdisk no comando queued-resources create para especificar
a chave de criptografia a ser usada:
gcloud compute tpus queued-resources create QUEUED_RESOURCE_ID \
--zone ZONE \
--node-id NODE_ID \
--boot-disk kms-key=projects/PROJECT_ID/locations/REGION/keyRings/RING_NAME/cryptoKeys/KEY_NAME \
--runtime-version=TPU_RUNTIME_VERSION \
--accelerator-type=ACCLERATOR_TYPE
Substitua:
QUEUED_RESOURCE_ID: o ID atribuído pelo usuário da solicitação de recurso em fila.ZONE: a zona em que você planeja criar o Cloud TPU.NODE_ID: o ID atribuído pelo usuário do Cloud TPU criado quando a solicitação de recurso em fila é alocada.PROJECT_ID: o ID do projeto do Google Cloud .REGION: a região em que você criou o keyring.RING_NAME: o nome do keyring.KEY_NAME: o nome da chave.TPU_RUNTIME_VERSION: a versão do software do Cloud TPU.ACCELERATOR_TYPE: o tipo de acelerador que você quer criar para o Cloud TPU. Para mais informações sobre os tipos de aceleradores disponíveis em cada versão da TPU, consulte Versões da TPU.
Para saber como criar VMs de TPU com CMEKs usando o GKE, consulte Usar chaves de criptografia gerenciadas pelo cliente na documentação do GKE.
CMEKs excluídas ou revogadas
Se uma CMEK for revogada ou excluída, as VMs de TPU que usarem um disco de inicialização criptografado com ela não serão desligadas automaticamente. Elas ainda poderão acessar os dados no disco de inicialização criptografado até que sejam desligadas ou reiniciadas. Com isso, é possível recuperar os dados caso você restaure o acesso a uma chave revogada ou excluída. Se você reativar uma chave, poderá iniciar ou reparar a VM de TPU e o disco de inicialização será descriptografado e carregado.