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_ID
Substitua 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.cryptoKeyEncrypterDecrypter
Substitua 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:
--kms-key=KMS_KEY : --kms-keyring=KEY_RING --kms-location=KMS_REGION --kms-project=KMS_PROJECT_NUMBER_OR_ID
Substitua o seguinte:
- KMS_KEY com o nome da chave do Cloud KMS.
- KMS_PROJECT_NUMBER_OR_ID com o número ou o ID do projeto onde a chave é criada.
- KMS_KEY_RING com o nome do conjunto de chaves.
- KMS_REGION com a região do conjunto de chaves. O conjunto de chaves e a instância têm de estar localizados na mesma região.
Obtenha uma lista de chaves
Pode obter uma lista de chaves executando o comando kms keys list
:
gcloud kms keys list \
--project=KMS_PROJECT_NUMBER_OR_ID \
--keyring=KEY_RING \
--location=KMS_REGION
Substitua o seguinte:
- KMS_PROJECT_NUMBER_OR_ID com o número ou o ID do projeto onde a chave é criada.
- KEY_RING com o nome do conjunto de chaves.
- KMS_REGION com a região do conjunto de chaves.
A coluna Name da saída indica o nome totalmente qualificado das chaves existentes. Por exemplo:
projects/example-project/locations/us-central1/keyRings/example-ring/cryptoKeys/example-key
Obtenha informações importantes sobre a chave da instância
As secções seguintes abordam a forma de obter informações sobre a chave de instância.
Crie uma lista das instâncias que usam uma chave do Cloud KMS específica
Pode listar as instâncias do Filestore que usam uma chave específica executando o comando instances list
:
gcloud filestore instances list --filter="kmsKeyName=KMS_KEY"
Substitua KMS_KEY pelo nome totalmente qualificado da chave que quer usar.
Exemplo:
gcloud filestore instances list \
--filter="kmsKeyName=projects/example-project/locations/us-central1/keyRings/example-ring/cryptoKeys/example-key"
O resultado tem o seguinte aspeto:
INSTANCE_NAME LOCATION TIER CAPACITY_GB FILE_SHARE_NAME IP_ADDRESS STATE CREATE_TIME
nfs-server us-central1 ENTERPRISE 1024 vol1 10.166.108.2 READY 2021-08-12T11:38:56
Obtenha informações da chave do Cloud KMS para uma instância
Use um dos seguintes métodos para obter informações sobre a chave do Cloud KMS para uma instância do Filestore:
Google Cloud consola
Aceda à página de instâncias do Filestore.
Clique no ID da instância para abrir a página de detalhes da instância.
Clique no separador Vista geral.
Se a instância encriptar dados com uma chave do Cloud KMS em vez de uma Google-owned and Google-managed encryption key, o nome da chave é apresentado no campo Chave de encriptação.
CLI gcloud
Execute o seguinte comando:instances describe
gcloud filestore instances describe INSTANCE_ID \
--location=INSTANCE_LOCATION
Substitua o seguinte:
- INSTANCE_ID com o ID da instância do Filestore sobre a qual quer obter informações.
- INSTANCE_LOCATION com a região ou a zona onde a instância está localizada.
O resultado tem o seguinte aspeto:
createTime: '2021-08-12T11:38:56.851157387Z'
fileShares:
- capacityGb: '1024'
name: vol1
kmsKeyName: projects/example-project/locations/us-central1/keyRings/example-ring/cryptoKeys/example-key
labels:
key: val
name: projects/consumer-project/locations/us-central1/instances/nfs-server
networks:
- ipAddresses:
- 10.0.100.2
modes:
- MODE_IPV4
network: network
reservedIpRange: 10.166.108.0/23
state: READY
tier: ENTERPRISE
Desative ou destrua uma chave do Cloud KMS usada por uma instância
Se for detetada uma alteração no estado da chave do Cloud KMS, a instância para automaticamente de publicar dados. Alguns exemplos incluem o seguinte:
- Desativar uma chave ou uma versão da chave.
- Destruir uma chave ou uma versão da chave.
- Modificar as autorizações de uma chave.
Normalmente, esta deteção ocorre no prazo de alguns minutos após a alteração do estado da chave, mas, em alguns casos, pode demorar até uma hora.
Quando uma instância é interrompida, todo o acesso aos dados de partilha de ficheiros e a todas as capturas de ecrã é bloqueado. As instâncias paradas continuam a ser faturadas até serem eliminadas.
Iniciar uma instância parada
Se uma instância do Filestore parada usar uma chave do Cloud KMS para a encriptação de dados, todas as versões da chave têm de estar ativadas ou restauradas antes de reiniciar a instância.
Assim que o estado da chave do Cloud KMS estiver ativado, a instância deteta automaticamente as alterações à chave e é reiniciada sem qualquer ação adicional, normalmente no prazo de 20 minutos.
Suporte de CMEK para cadeias de cópias de segurança
Pode usar CMEKs para encriptar não só as suas instâncias do Filestore, mas também as suas cadeias de cópias de segurança.
O suporte de CMEK não está disponível para cópias de segurança de nível básico.
As cadeias de cópias de segurança residem num único contentor e região. Para armazenar e encriptar dados de cópia de segurança numa região fora da instância de origem, os utilizadores têm de aplicar dois CMEKs separados: um para a instância e outro para a cadeia de cópias de segurança. Aplicam-se alguns requisitos:
- Uma CMEK tem de residir na mesma região que a cadeia de cópias de segurança que encripta.
- É aplicada uma única CMEK ao contentor onde a cadeia de cópias de segurança está armazenada e não pode ser combinada nem substituída.
Limitações da rotação de chaves
Durante a rotação de chaves, são criadas novas chaves de encriptação para substituir as chaves existentes. As seguintes ações relacionadas com a rotação de chaves podem impedir a restauração de uma cadeia de cópias de segurança:
- Desativar uma chave ou uma versão da chave.
- Destruir uma chave ou uma versão de chave.
- Modificar autorizações de chaves.
Estas ações não impedem a criação de cópias de segurança na cadeia.
Se não conseguir restaurar a cadeia de cópias de segurança, siga estes passos:
- Elimine todas as cópias de segurança.
- Inicie uma nova cadeia. Pode usar qualquer uma das seguintes opções:
- Crie a sua cópia de segurança numa localização diferente com a mesma CMEK.
- Crie a sua cópia de segurança na mesma localização com uma nova CMEK.
Para mais informações, consulte o artigo Vista geral das cópias de segurança.
O que se segue?
- Saiba como aplicar uma política da organização CMEK.
- Saiba mais acerca das CMEK.
- Saiba mais sobre a encriptação em trânsito no Google Cloud.