Por padrão, o Google Cloud Managed Lustre criptografa o conteúdo do cliente em repouso. O Lustre gerenciado executa a criptografia, e você não precisa fazer nada. Essa opção é chamada de criptografia padrão do Google.
Se você quiser controlar suas chaves de criptografia, use chaves de criptografia gerenciadas pelo cliente (CMEKs) no Cloud KMS com serviços integrados a CMEKs, incluindo o Managed Lustre. 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 acesso e os limites criptográficos. Ao usar o Cloud KMS, é possível também monitorar o uso de chaves, ver 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 seus dados, você controla e gerencia essas chaves no Cloud KMS.
Depois de configurar os recursos com CMEKs, a experiência de acesso aos recursos do Managed Lustre é semelhante à criptografia padrão do Google. Para saber mais sobre suas opções de criptografia, consulte Chaves de criptografia gerenciadas pelo cliente (CMEK).
Os seguintes dados do Managed Lustre são protegidos pela CMEK:
- Dados de arquivo
- Metadados do sistema de arquivos, como nomes de arquivos
Limitações
O provisionamento dinâmico de instâncias gerenciadas do Lustre protegidas por CMEK não é compatível com o Google Kubernetes Engine, mas o provisionamento estático é.
O Cluster Toolkit não é compatível com instâncias gerenciadas do Lustre protegidas por CMEK.
O VPC Service Controls não é compatível com instâncias gerenciadas do Lustre protegidas por CMEK. Se você tentar criar uma instância protegida por CMEK em um perímetro do VPC Service Controls, a operação de criação da instância vai falhar.
Criar uma chave do Cloud KMS
Antes de criar uma instância do Lustre habilitada para CMEK, é preciso ter um keyring e uma chave do Cloud KMS.
O Managed Lustre oferece suporte a três níveis de proteção:
- Software (
SOFTWARE) - Hardware (
HSM) - Externo pela Internet (
EXTERNAL)
Ao criar a chave, recomendamos que você crie a chave do Cloud KMS em um projeto diferente daquele que contém a instância do Managed Lustre. Consulte Separação de deveres.
A chave do Cloud KMS precisa ser criada na mesma região da instância gerenciada do Lustre que você está criando.
Para criar uma chave:
- Se você ainda não tiver um, crie um keyring.
- Criar uma chave do Cloud KMS.
Conceder permissões do IAM ao agente de serviço do Lustre gerenciado
O Managed Lustre usa um agente de serviço para acessar seus recursos e realizar ações em seu nome. Você concede ao agente de serviço papéis do IAM para gerenciar o acesso dele. O agente de serviço do Lustre gerenciado é criado automaticamente quando você cria uma instância do Lustre gerenciado.
A identidade do agente de serviço tem o formato
service-PROJECT_NUMBER@gcp-sa-lustre.iam.gserviceaccount.com.
Se você for criar seu Managed Lustre protegido por CMEK usando o console Google Cloud , pule esta seção. O console Google Cloud concede as permissões necessárias como parte do fluxo de criação de instâncias.
Acesse Criar uma instância do Managed Lustre com CMEK ativada.
Criar ou recuperar o agente de serviço
Se você ainda não tiver um agente de serviço do Managed Lustre
Se você nunca criou uma instância gerenciada do Lustre no projeto, execute o comando a seguir para criar o agente de serviço manualmente:
gcloud beta services identity create \
--service=lustre.googleapis.com \
--project=PROJECT_NUMBER_OR_ID
Substitua PROJECT_NUMBER_OR_ID pelo número ou ID do projeto em que você quer criar a instância do Lustre gerenciado. O resultado será o seguinte:
Service identity created: service-1234567890@gcp-sa-lustre.iam.gserviceaccount.com
Copie o valor da identidade do agente de serviço para usar na próxima etapa.
Se você já criou uma instância do Managed Lustre
Para construir a identidade do agente de serviço, obtenha o número do projeto. Um PROJECT_NUMBER não é o mesmo que um ID do projeto:
- Um ID do projeto é uma string exclusiva que pode ser uma combinação de letras, números e hifens. Você especifica um ID do projeto ao criar seu projeto. Por exemplo,
example-project-123. - O número do projeto é um identificador exclusivo gerado automaticamente para seu projeto, composto apenas por números. Por exemplo,
1234567890.
Para obter o PROJECT_NUMBER de um determinado ID do projeto, use o comando
gcloud projects describe:gcloud projects describe PROJECT_ID --format="value(projectNumber)"- Um ID do projeto é uma string exclusiva que pode ser uma combinação de letras, números e hifens. Você especifica um ID do projeto ao criar seu projeto. Por exemplo,
Copie o número do projeto retornado na identidade do agente de serviço:
service-PROJECT_NUMBER@gcp-sa-lustre.iam.gserviceaccount.comCopie a identidade do agente de serviço para usar na próxima etapa.
Conceder permissões ao agente de serviço
O Lustre gerenciado precisa de autorização para realizar operações com sua chave.
Conceda ao agente de serviço do Lustre gerenciado o papel roles/cloudkms.cryptoKeyEncrypterDecrypter do IAM na chave do Cloud KMS.
Use o comando gcloud kms keys add-iam-policy-binding:
gcloud kms keys add-iam-policy-binding KEY_NAME \
--keyring=KEY_RING \
--location=REGION \
--project=KMS_PROJECT_ID \
--member=serviceAccount:service-SERVICE_AGENT_IDENTITY \
--role=roles/cloudkms.cryptoKeyEncrypterDecrypter
Substitua as seguintes variáveis:
- KEY_NAME: o nome da sua chave do Cloud KMS.
- KEY_RING: o nome do keyring que contém a chave.
- REGION: a região em que o keyring está localizado.
- KMS_PROJECT_ID: o ID do projeto que contém sua chave do Cloud KMS.
- SERVICE_AGENT_IDENTITY: a identidade do agente de serviço do Managed Lustre
da etapa anterior, no formato:
service-PROJECT_NUMBER@gcp-sa-lustre.iam.gserviceaccount.com.
Criar uma instância do Managed Lustre ativada para CMEK
Para criar uma instância do Managed Lustre protegida pela CMEK:
gcloud
Para criar uma instância protegida pela CMEK usando gcloud, siga as etapas em Criar uma instância. Especifique o identificador da chave como o valor de --kms-key-name, conforme mostrado abaixo:
gcloud lustre instance create INSTANCE_ID \
--filesystem=FILESYSTEM_NAME \
--per-unit-storage-throughput=PERF_TIER \
--capacity-gib=CAPACITY_GIB \
--location=ZONE \
--network=NETWORK_NAME \
--project=PROJECT_ID \
--kms-key-name=projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY_NAME
A chave do Cloud KMS precisa estar na mesma região que a instância gerenciada do Lustre que você está criando.
REST
Para criar uma instância protegida pela CMEK usando a API REST, siga as etapas em Criar uma instância. Especifique o identificador da chave como o valor de kmsKey, conforme mostrado abaixo:
POST https://lustre.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/instances?instanceId=INSTANCE_NAME
Authorization: Bearer AUTH_TOKEN
{
"filesystem": "FILESYSTEM_NAME",
"perUnitStorageThroughput": PERF_TIER,
"capacityGib": CAPACITY_GIB,
"network": "NETWORK_NAME",
"kmsKey": "projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY_NAME"
}
A chave do Cloud KMS precisa estar na mesma região da instância gerenciada do Lustre que você está criando.
Consulte a documentação de referência do recurso Instance para conferir uma lista completa de campos e descrições.
Console do Google Cloud
Para criar uma instância protegida pela CMEK usando o console Google Cloud , siga as etapas em Criar uma instância. Na página Criar instância do console do Google Cloud :
Na seção Criptografia, selecione Chave do Cloud KMS.
Selecione Cloud KMS como o tipo de gerenciamento de chaves e escolha sua chave. Se a chave estiver em um projeto diferente (recomendado), clique em Alternar projeto, selecione o projeto da chave e escolha a chave. A chave do Cloud KMS precisa estar na mesma região da instância gerenciada do Lustre que você está criando.
Se o agente de serviço do Managed Lustre não tiver as permissões necessárias para usar a CMEK, você vai receber uma solicitação para conceder o papel
cloudkms.cryptoKeyEncrypterDecrypter. Clique em Conceder para aplicar a função.
Se a chave do Cloud KMS não estiver disponível ou houver problemas de permissão
ao iniciar a operação de criação, ela vai falhar e retornar um erro
FAILED_PRECONDITION.
Gerenciamento de chaves
As chaves do Cloud Key Management Service podem ser rotacionadas, desativadas, reativadas ou destruídas. Eles podem ficar indisponíveis por vários motivos.
Alternar uma chave
É possível fazer a rotação da chave do Cloud KMS. Fazer a rotação de uma chave cria uma nova versão de chave.
A rotação de uma chave não recriptografa os dados na sua instância gerenciada do Lustre. O Managed Lustre não oferece suporte à descriptografia ou à recriptografia de dados.
A capacidade atual da sua instância do Managed Lustre continua sendo criptografada pela versão da chave em uso quando a instância foi criada.
Quando você aumenta a capacidade de armazenamento da instância, a nova capacidade é protegida pela versão da chave que é primária quando você faz a solicitação de aumento de capacidade, e todos os dados gravados nessa capacidade são protegidos por essa versão da chave.
Isso significa que você pode ter várias versões de chave criptografando sua instância do Lustre gerenciado se tiver aumentado a capacidade da instância após a rotação da versão da chave.
Desativar uma chave
É possível desativar uma versão de chave. Durante o período em que qualquer versão de chave usada pela instância do Managed Lustre estiver desativada, a instância será suspensa. Para retomar a instância, retorne todas as versões de chave que a protegem para um estado disponível. Consulte Chaves indisponíveis para informações sobre instâncias suspensas.
Consulte Ativar e desativar versões de chave para mais informações.
Reativar uma chave
Se uma versão de chave estiver desativada, você poderá reativá-la usando a API Cloud KMS. Consulte Ativar e desativar versões de chave.
Para retomar a instância do Lustre gerenciado, todas as versões da chave que estão criptografando a capacidade de armazenamento precisam ser ativadas ou restauradas.
Depois que todas as chaves necessárias retornarem ao estado ENABLED,
o Lustre gerenciado detectará automaticamente as mudanças de chave e reiniciará
a instância. O estado da instância se torna ACTIVE e o serviço Managed Lustre retoma a operação normal. Você pode
realizar E/S e todas as outras operações de longa duração.
Destruir uma chave
As versões de chave do Cloud KMS podem ser destruídas, o que significa que o material da chave é excluído permanentemente.
As chaves do Cloud KMS não podem ser destruídas imediatamente. Em vez disso, é necessário programar a destruição de uma versão da chave. Durante o período programado, é possível restaurar uma versão de chave para cancelar a destruição. Consulte Destruir e restaurar versões de chave para mais detalhes.
Uma versão de chave programada para destruição fica indisponível, e todas as instâncias gerenciadas do Lustre protegidas por ela são suspensas. Consulte Chaves indisponíveis para informações sobre instâncias suspensas.
Depois que uma versão de chave é destruída, não é possível restaurá-la. Sua instância permanece suspensa permanentemente. A única operação disponível na instância do Managed Lustre é a exclusão dela.
Chaves indisponíveis
Uma chave pode ficar indisponível pelos seguintes motivos:
- A chave está desativada.
- A chave é destruída ou programada para destruição.
- As permissões necessárias são removidas do agente de serviço.
- O faturamento está desativado no projeto da chave do Cloud KMS e permanece desativado por mais de uma hora.
- Uma chave externa permanece inacessível por mais de uma hora.
Nesses casos, em alguns minutos após o evento, a instância gerenciada do Lustre é desligada e o estado dela é definido como SUSPENDED.
Uma instância SUSPENDED pode ser recuperada disponibilizando a chave novamente.
Os possíveis motivos para suspensão são:
| Ação na chave | Estado da instância | Motivo da suspensão | Pode ser reativado |
|---|---|---|---|
| Desativar | SUSPENDED |
KEY_DISABLE |
Sim |
| Programar para destruição | SUSPENDED |
KEY_DESTROY_SCHEDULED |
Sim |
| Destruir | SUSPENDED |
KEY_DESTROY |
Não |
| Remover permissão | SUSPENDED |
PERMISSION_DENIED |
Sim |
| Desativar o faturamento por uma hora | SUSPENDED |
BILLING_DISABLED |
Sim |
| Chave do EKM inacessível por 1 hora | SUSPENDED |
EKM_KEY_UNREACHABLE |
Sim |
Quando uma instância é suspensa:
- Operações de longa duração, como atualizações de instâncias e importação/exportação,
são bloqueadas e retornam um erro
FAILED_PRECONDITION. - As operações de E/S param de responder até que os nós do servidor sejam desligados. Isso ocorre em até 30 minutos.
- A única operação de longa duração permitida é
DeleteInstance.
As instâncias suspensas por mais de quatro meses podem não ser retomadas.
Faturamento de instâncias suspensas
Se uma instância gerenciada do Lustre entrar no estado SUSPENDED devido à indisponibilidade da chave, você vai continuar acumulando cobranças pela instância. O estado de suspensão não pausa o faturamento. Para interromper as cobranças da instância, é necessário excluí-la.
Você também recebe uma cobrança separada do Cloud KMS por todas as versões de chave em uso.
Ver uso da chave e listar versões da chave
É possível conferir os recursos Google Cloud na sua organização que são protegidos pelas chaves do Cloud KMS. Consulte Conferir o uso da chave para mais detalhes.
Para conferir a lista completa de versões de chaves usadas pela sua instância do Managed Lustre, use o comando gcloud kms inventory search-protected-resources:
gcloud kms inventory search-protected-resources \
--keyname=projects/KMS_PROJECT_ID/locations/REGION/keyRings/KEY_RING/cryptoKeys/KEY_NAME \
--scope=organizations/ORGANIZATION_ID \
--filter="name:projects/PROJECT_ID/locations/REGION/instances/INSTANCE_ID" \
--flatten="cryptoKeyVersions" \
--format="value(cryptoKeyVersions)"
Em que:
- ORGANIZATION_ID é o ID numérico da sua organização. Consulte Como conseguir o ID do recurso da sua organização.
Você também pode conferir informações importantes na página Inventário de chaves.
Acessar o inventário de chaves