Por predefinição, o Filestore encripta o conteúdo do cliente em repouso. O Filestore processa a encriptação por si sem ações adicionais da sua parte. Esta opção chama-se Encriptação predefinida da Google.
Se quiser controlar as suas chaves de encriptação, pode usar chaves de encriptação geridas pelo cliente (CMEK) no Cloud KMS com serviços integrados com CMEK, incluindo o Filestore. A utilização de chaves do Cloud KMS dá-lhe controlo sobre o respetivo nível de proteção, localização, programação de rotação, utilização e autorizações de acesso, bem como limites criptográficos. A utilização do Cloud KMS também permite ver registos de auditoria e controlar os ciclos de vida das chaves. Em vez de a Google possuir e gerir as chaves de encriptação de chaves (KEKs) simétricas que protegem os seus dados, controla e gere estas chaves no Cloud KMS.
Depois de configurar os seus recursos com CMEKs, a experiência de acesso aos recursos do Filestore é semelhante à utilização da encriptação predefinida da Google. Para mais informações acerca das suas opções de encriptação, consulte o artigo Chaves de encriptação geridas pelo cliente (CMEK).
As CMEKs são suportadas para utilização com instâncias do Filestore e cópias de segurança.
Opções de CMEK
O Filestore suporta CMEKs armazenadas como chaves de software, como chaves de hardware num cluster de HSM e como chaves armazenadas externamente no Cloud External Key Manager (Cloud EKM).
Para mais informações, consulte o Serviço de gestão de chaves na nuvem.
Interrupções no serviço de GCE
Por definição, as chaves externas são geridas por terceiros. Nestas circunstâncias, a Google Cloud não é responsável pela disponibilidade das chaves.
Se o Cloud Key Management Service (Cloud KMS)
for notificado pelo External Key Manager (EKM)
de que uma chave externa está inacessível, os utilizadores recebem uma ekm_key_unreachable_detected
notificação. Durante um máximo de uma hora, os utilizadores têm acesso limitado às operações na instância. Após uma hora, se o estado da chave permanecer inalterado, aplicam-se as seguintes ações:
- A chave está desativada.
- Todas as operações de encriptação e desencriptação falham.
- A instância do Filestore está suspensa.
Em alguns casos, como um evento não planeado, como o reinício de uma VM, o acesso à instância pode ser interrompido antes de uma hora.
Pode ver as notificações de chaves inacessíveis na página de detalhes da instância do Filestore:
Aceda à página de instâncias do Filestore
Os utilizadores também recebem ekm_key_unreachable_detected notificações em qualquer uma das seguintes operações se forem realizadas no prazo de uma hora após a primeira notificação comunicada:
- Reverta um resumo
- Crie uma cópia de segurança da instância
- Elimine uma cópia de segurança
- Restaure uma instância a partir de uma cópia de segurança
- Atualize ou aplique uma correção a uma instância
Níveis suportados
A tabela seguinte mostra os níveis de serviço do Filestore que suportam CMEKs:
| Nível | Suporte de CMEK |
|---|---|
| HDD básico | Não |
| SSD básico | Não |
| Zonal | Sim |
| Regional | Sim |
| Enterprise | Sim |
Crie um conjunto de chaves e uma chave para usar com a sua instância
O conjunto de chaves e a chave podem estar num projeto diferente da instância do Filestore, mas têm de estar na mesma localização. Se já tiver um conjunto de chaves e uma chave do Cloud KMS que quer usar com o Filestore, avance para a secção seguinte. Caso contrário, siga as instruções em Criar chaves de encriptação simétricas para criar um conjunto de chaves e uma chave.
Conceda autorização de acesso à chave à conta de serviço do Filestore
Antes de poder criar uma instância do Filestore que use uma CMEK, a conta de serviço do Filestore tem de ter a função de encriptar/desencriptar do CryptoKey do Cloud KMS (roles/cloudkms.cryptoKeyEncrypterDecrypter).
É criada uma conta de serviço do Filestore quando cria uma instância do Filestore no projeto pela primeira vez. Se ainda não tiver uma conta de serviço do Filestore, execute o seguinte comando
services identity create:gcloud beta services identity create --service=file.googleapis.com --project=INSTANCE_PROJECT_NUMBER_OR_IDSubstitua INSTANCE_PROJECT_NUMBER_OR_ID pelo número do projeto ou pelo ID do projeto onde quer criar a instância do Filestore.
Atribua à conta de serviço do Filestore a função de encriptador/desencriptador de CryptoKey do Cloud KMS executando o comando
projects add-iam-policy-binding:gcloud projects add-iam-policy-binding KMS_PROJECT_NUMBER_OR_ID \ --member serviceAccount:service-INSTANCE_PROJECT_NUMBER@cloud-filer.iam.gserviceaccount.com \ --role roles/cloudkms.cryptoKeyEncrypterDecrypterSubstitua o seguinte:
- KMS_PROJECT_NUMBER_OR_ID com o número ou o ID do projeto que contém a chave do Cloud KMS que quer usar.
- INSTANCE_PROJECT_NUMBER com o número do projeto (não o ID do projeto) do projeto onde quer criar a instância do Filestore.
Crie uma instância que use a sua chave do Cloud KMS
Google Cloud consola
Para criar uma instância que use a sua chave do Cloud KMS para encriptação de dados:
Na Google Cloud consola, aceda à página Instâncias do Filestore.
Clique em Criar instância
Selecione um nível de instância que suporte CMEKs e preencha todos os outros campos obrigatórios e opcionais como faria normalmente.
Clique em Mostrar opções avançadas.
Selecione a caixa de verificação Usar uma chave de encriptação gerida pelo cliente (CMEK).
Selecione a chave do Cloud KMS que quer usar para a instância.
Clique em Criar.
CLI gcloud
Para criar uma instância do Filestore que use a sua chave do Cloud KMS para encriptação de dados, especifique a flag --kms-key no comando filestore instances create:
gcloud filestore instances create nfs-server \
--tier=<var>TIER</var> \
--location=us-central1 \
--file-share=name="vol1",capacity=1TiB \
--network=name="default" \
--kms-key=KMS_KEY
Substitua o seguinte:
- TIER com um nível do Filestore que suporta CMEKs.
- KMS_KEY com o nome totalmente qualificado da chave do Cloud KMS que quer usar. Em alternativa, pode especificar cada argumento separadamente no formato: