Encriptar um volume Block Storage com LUKS
Saiba como encriptar um volume Block Storage com LUKS e utilizar a sua própria chave de encriptação (CMK) armazenada no OKMS
Objetivo
Os volumes Block Storage OVHcloud podem ser encriptados em repouso através do LUKS. A chave de encriptação — designada chave de serviço, ou "Service Key" na Área de Cliente — é gerada e armazenada no OVHcloud Key Management Service (OKMS).
Por predefinição, esta chave de serviço é inteiramente gerada e gerida pela OVHcloud: basta encomendar um tipo de volume encriptado (-luks) e a OVHcloud trata do resto. Em alternativa, pode utilizar uma chave gerida pelo cliente (CMK, ou Customer-Managed Key): uma chave de serviço que o próprio cria e controla no seu domínio OKMS, incluindo a respetiva suspensão e eliminação.
Este manual explica primeiro o funcionamento da encriptação LUKS predefinida (gerida pela OVHcloud) e, em seguida, como passar para uma chave gerida pelo cliente (CMK).
Os volumes encriptados (LUKS) têm um impacto no desempenho de cerca de 10% em relação a volumes equivalentes não encriptados.
Encriptação predefinida (chave gerida pela OVHcloud)
Para encriptar um volume Block Storage com a chave predefinida gerida pela OVHcloud, encomende a variante encriptada de qualquer tipo de volume (classic-luks, high-speed-luks, high-speed-gen2-luks), a partir da Área de Cliente ou com as ferramentas descritas no manual Criar e configurar um disco suplementar numa instância. A OVHcloud gera e gere automaticamente a chave de serviço no OKMS: não existe nenhum domínio OKMS a criar, nenhuma chave de serviço a gerir e nenhuma política IAM a configurar.
Assim que estiver associado à sua instância, um volume encriptado comporta-se como um volume padrão: a encriptação e o desbloqueio são totalmente automatizados pela infraestrutura da OVHcloud. Consulte o manual Migrating a Block Storage volume to an encrypted LUKS volume caso necessite de encriptar um volume existente não encriptado.
Não modifique nem elimine a chave gerada automaticamente e associada a um volume -luks. Fazê-lo tornaria os dados desse volume, bem como todos os seus snapshots, definitivamente irrecuperáveis.
O restante deste manual aborda a alternativa da chave gerida pelo cliente (CMK).
Utilizar uma chave gerida pelo cliente (CMK)
A maioria das etapas abaixo está documentada de 2 formas:
- a partir da Área de Cliente OVHcloud, já disponível para as operações OKMS e IAM;
- através da API OVHcloud ou da CLI OpenStack, os únicos meios atualmente disponíveis para criar o próprio volume Block Storage encriptado. O suporte da criação de volumes com uma CMK a partir da Área de Cliente estará disponível em breve.
Requisitos
Estes requisitos dizem respeito exclusivamente ao mecanismo de chave gerida pelo cliente (CMK) descrito abaixo.
- Dispor de uma conta de cliente OVHcloud ativa com as permissões necessárias para gerir IAM, OKMS e Block Storage.
- Dispor de um acesso à API com credenciais válidas: um token Bearer (OAuth2 através de uma conta de serviço IAM) ou a autenticação clássica por chave de aplicação / assinatura. Consulte o manual Primeiros passos com as API OVHcloud.
- Opcionalmente, ter instalado e configurado a CLI OpenStack para a região de destino, como alternativa à API OVHcloud para criar o volume. Consulte o manual Preparar o ambiente para utilizar a API OpenStack.
- Dispor das permissões IAM adequadas para criar políticas e associá-las aos NIC OVHcloud, em especial a ação
account:apiovh:iam/policy/create.
Acesso à Área de Cliente OVHcloud
Políticas:
- Ligação direta:
- Caminho de navegação:
Identidade, Segurança e Operações>Políticas
Key Management Service:
- Ligação direta:
- Caminho de navegação:
Identidade, Segurança e Operações>Key Management Service> Selecione o seu domínio OKMS
Instruções
Cada uma das etapas abaixo apresenta as interfaces disponíveis sob a forma de separadores: Área de Cliente OVHcloud, API OVHcloud ou CLI OpenStack.
Para as chamadas à API, o URL de base é https://api.eu.ovhcloud.com na Europa e https://api.ca.ovhcloud.com no Canadá, servindo cada um deles tanto os endpoints /v1/* como os /v2/*.
Etapa 1: criar um domínio OKMS
Um domínio OKMS é um espaço de nomes lógico dentro do OKMS que contém as suas chaves de serviço. Cada domínio está associado a uma região específica.
Um domínio OKMS é encomendado como um serviço a partir da Área de Cliente OVHcloud; a API OVHcloud serve depois para obter o respetivo identificador.
Para encomendar um domínio OKMS, siga a secção "Encomendar o seu KMS" do manual Primeiros passos com OVHcloud Key Management Service (KMS).
Anote o identificador do seu domínio OKMS (okms_domain_id / domainId). Vai precisar dele durante a criação do volume LUKS na etapa 4.
Etapa 2: criar uma chave de serviço
Uma chave de serviço é uma chave criptográfica armazenada no seu domínio OKMS. O serviço Block Storage utiliza-a para gerar e proteger as chaves de encriptação de dados (DEK) que encriptam os seus volumes.
Para criar a chave de serviço, siga a secção "Criar uma chave de encriptação" do manual Primeiros passos com OVHcloud Key Management Service (KMS) e configure os seguintes parâmetros:
Depois de criada, anote o identificador da chave de serviço (okms_servicekey_id / serviceKeyId).
Porquê wrap / unwrap? O serviço Block Storage utiliza a chave de serviço para encapsular (wrap, encriptar) a chave de encriptação de dados (DEK) gerada antes de a armazenar, e para a desencapsular (unwrap, desencriptar) quando é necessário aceder ao volume. A própria chave de serviço nunca sai do OKMS.
BYOK. Em vez de deixar o OKMS gerar a chave de serviço, pode importar o seu próprio material de chave através do Bring Your Own Key (BYOK), que encapsula a chave com um par de chaves de transporte RSA para que nunca circule em claro.
Etapa 3: delegar o acesso através de uma política IAM
Para permitir que os serviços OpenStack da OVHcloud criem e utilizem volumes LUKS com a sua chave, deve conceder permissões IAM específicas ao NIC OVHcloud associado ao serviço Block Storage na sua região.
3.1 Identificar o NIC OVHcloud da sua região
Cada região OVHcloud dispõe de um NIC interno dedicado que o serviço Block Storage utiliza para interagir com o OKMS:
Se a sua região não constar desta lista, contacte o suporte da OVHcloud para obter o NIC correto.
3.2 Criar a política IAM
Crie uma nova política IAM a partir da Área de Cliente, conforme descrito no manual Como utilizar as políticas IAM a partir do seu Espaço Cliente, e configure-a com os seguintes valores:
3.3 Ações a autorizar
Em Key Management Service (OKMS) / Service Keys, na categoria OPERATE:
Etapa 4: criar o volume LUKS
A criação de volumes com uma CMK está atualmente disponível apenas através da API (API OVHcloud ou CLI OpenStack). O suporte a partir da Área de Cliente estará disponível em breve.
Crie o volume LUKS com a seguinte chamada à API:
Payload:
Etapa 5: utilizar o volume
Depois de criado, um volume encriptado LUKS com CMK comporta-se como um volume Block Storage OVHcloud padrão: pode associá-lo e desassociá-lo da mesma forma. A eliminação do volume não elimina a sua chave de serviço.
Disponibilidade da chave. Se a sua chave de serviço for eliminada no OKMS, um volume atualmente associado continua a funcionar: a chave só volta a ser necessária no momento em que o volume é desassociado, ou quando a instância é migrada (pela OVHcloud ou por si), e nessa altura o volume fica definitivamente inacessível. Suspender uma chave, pelo contrário, é reversível: anular a suspensão restaura o acesso sem perda de dados. Certifique-se sempre de que a gestão do ciclo de vida da sua chave está alinhada com as suas necessidades de acesso aos dados.
Limitações
A conversão de um volume em imagem não é suportada nos volumes LUKS, quer a versão encriptada utilize uma CMK, quer utilize a chave predefinida gerida pela OVHcloud. Esta restrição aplica-se independentemente da ferramenta utilizada: Área de Cliente, API OVHcloud, CLI OpenStack ou Terraform.
Resumo
Quer saber mais?
Criar e configurar um disco suplementar numa instância
Migrating a Block Storage volume to an encrypted LUKS volume
Primeiros passos com OVHcloud Key Management Service (KMS)
Como utilizar as políticas IAM a partir do seu Espaço Cliente
Fale com a nossa comunidade de utilizadores.