Introdução a chaves de Criptografia Gerenciadas pelo Cliente

Saiba mais sobre chaves de Criptografia Gerenciadas pelo Cliente para ambientes dedicados.

Visão Geral de Chaves de Criptografia Gerenciada pelo Cliente

O Oracle NoSQL Database Cloud Service (NDCS) protege os dados contra violações de segurança criptografando dados em repouso usando chaves de criptografia de dados. As chaves de encriptação de dados são então criptografadas usando uma chave de encriptação mestra. Por padrão, o NDCS usa uma chave de criptografia mestra gerenciada pela Oracle.

O NDCS também permite criptografar chaves de criptografia de dados com sua própria chave de criptografia mestra, denominada Chave de Criptografia Gerenciada pelo Cliente (CMEK). Os CMEKs devem ser habilitados em um ambiente dedicado antes de usar essa funcionalidade. Quando você cria um ambiente dedicado configurado para CMEKs, o Oracle NoSQL Database usa volumes em blocos do OCI para armazenar e criptografar dados do banco de dados usando uma chave de criptografia mestra que você controla. Além disso, os backups dos dados do seu ambiente residem no OCI Object Storage e também são criptografados usando sua chave mestra. Para gerar um ticket de serviço, consulte Solicitando um ambiente hospedado Dedicado.

Você cria e gerencia suas próprias chaves de criptografia mestras. O NDCS usa o OCI Key Management Service (KMS) para armazenar sua chave de criptografia mestra em vaults e gerenciar seus estados operacionais.

Terminologias

  • Chave de Criptografia Gerenciada pelo Cliente (CMEK): Uma chave de criptografia mestra usada para criptografar e decriptografar chaves do Block Volume e do Object Storage.
  • Dados em repouso: Refere-se aos dados armazenados no Oracle NoSQL Database.
  • Ambiente dedicado para CMEKs: Um ambiente Oracle NoSQL dedicado à sua tenancy e configurado para usar Chaves de Criptografia Gerenciadas pelo Cliente.
  • KMS (Key Management Service): Um serviço do OCI que armazena e gerencia chaves em vaults. O KMS fornece gerenciamento e controle centralizados das chaves de criptografia.
  • Rotação de chaves: O processo de substituir uma chave de criptografia antiga por uma nova chave para mitigar os riscos se a chave for comprometida.
  • Serviço Block Volume: Um serviço do OCI, que permite provisionar e gerenciar dinamicamente o armazenamento em blocos para atender aos requisitos necessários do aplicativo.
  • Serviço Object Storage: Um serviço do OCI, que fornece um armazenamento em nuvem totalmente programável, escalável e durável para dados.
  • Serviço OCI Vault: Um serviço OCI que fornece um local seguro e centralizado para gerenciar chaves e segredos de criptografia.

Como funciona o CMEK?

O serviço OCI Vault permite que você crie vaults em sua tenancy como contêineres para chaves de criptografia. Quando você cria o CMEK em um vault, um OCID (Oracle Cloud ID) exclusivo é designado a ele.

Você designa um CMEK ao seu ambiente dedicado por meio da console da OCI. O serviço Block Volume e o serviço Object Storage usam CMEK para criptografar chaves do serviço Block Volume e Object Storage.

O NDCS suporta rotação de chaves, permitindo que você designe um novo CMEK. Primeiro, crie uma nova chave no seu vault. Para acionar uma rotação, atualize a nova chave em seu ambiente dedicado na console do OCI. A rotação para um novo CMEK não criptografa novamente nenhum dado armazenado em Volumes em Blocos ou no Object Storage. Ele só criptografa novamente as chaves Block Volume e Object Storage.

O serviço Block Volume e o serviço Object Storage gerenciam todas as operações de dados.

Criação de CMEK

O Oracle NoSQL Database Cloud Service suporta integração exclusiva com o serviço OCI Vault para criar vaults e usa KMS para criar, armazenar e gerenciar CMEKs em vaults. Para obter mais detalhes sobre o vault, consulte o tópico OCI Vault na Documentação do Oracle Cloud Infrastructure.

Primeiro, você deve criar um vault na console do OCI e, em seguida, criar o CMEK no vault.

Para obter detalhes, consulte o tópico Criando um Vault na Documentação do Oracle Cloud Infrastructure.

Criação de CMEK:

Ao criar um CMEK, você especifica seu modo de proteção, algoritmo e comprimento.

Siga estas etapas para criar um CMEK. Para obter mais detalhes, consulte o tópico Criando uma Chave de Criptografia Principal na Documentação do Oracle Cloud Infrastructure.

Pré-requisitos
  • Criar um vault.
Procedimento
  1. Acesse a console do OCI.
  2. Abra o menu de navegação localizado no canto superior esquerdo, selecione Identidade e Segurança e, em seguida, selecione Vault.
  3. Selecione o Compartimento que contém o vault.
  4. Selecione o nome do vault no qual você deseja criar um CMEK.
  5. Em Recursos, selecione Chaves de Criptografia Principais e Criar Chave. Observe que as chaves podem ser criadas em um compartimento diferente do do vault.
  6. Para Modo de Proteção, selecione uma das seguintes opções: HSM ou Software.
  7. Informe um nome para identificar o CMEK.
  8. Para Forma da Chave: Algoritmo, selecione o algoritmo AES (Advanced Encryption Standard). O KMS suporta algoritmos AES, RSA e ECDSA. No entanto, o NDCS só permite uma forma de chave simétrica para CMEK. Portanto, você deve selecionar a opção AES, que gera uma chave simétrica.
  9. Para Forma da Chave: Tamanho, selecione o tamanho da chave como 256 bits.
  10. Se quiser importar uma chave externa, marque a caixa de seleção Importar Chave Externa e forneça os seguintes detalhes:
    • Algoritmo de Encapsulamento: Selecione RSA_OAEP_AES_SHA256. O OCI suporta esse algoritmo para importar uma chave encapsulada publicamente.
    • Origem de Dados da Chave Externa: Faça upload do arquivo que contém o material da chave RSA encapsulado.
  11. Selecione Create Key.

    Figura - Criação de CMEK no Vault



    Observação:

    O Oracle NoSQL Database Cloud Service suporta apenas chaves de versão única.
Acesso ao CMEK:

Depois de criar um CMEK, você o designa ao seu ambiente dedicado. O serviço Block Volume e o serviço Object Storage no ambiente dedicado acessam o CMEK internamente usando o OCID do CMEK.

Figura - Detalhes do CMEK



Ciclo de Vida do CMEK no Vault:

Um vault suporta as seguintes operações:

  • Criação: Você cria um CMEK em um vault.
  • Desativando/Ativando: Você pode desativar/ativar um CMEK para controlar seu uso.
  • Exclusão: Você pode excluir um CMEK do vault. A exclusão é um processo de duas etapas com um período de espera para evitar a exclusão acidental.

    Observação:

    O status do CMEK está desativado durante este período de espera.

Para obter detalhes sobre como ativar, desativar e excluir o CMEK, consulte Workflow de Gerenciamento de Chaves do CMEK.

Operações de Gerenciamento CMEK

O Oracle NoSQL Database Cloud Service gerencia as operações do CMEK em ambientes dedicados. Isso inclui a designação do CMEK a um ambiente dedicado, a rotação do CMEK, a remoção, a desativação no vault, a reativação e a exclusão.

A tabela a seguir descreve as tarefas envolvidas no gerenciamento do CMEK. Para obter detalhes sobre tarefas de gerenciamento de chaves CMEK, consulte Workflow de Gerenciamento de Chaves CMEK.

Tabela - Tarefas de Gerenciamento CMEK

Tarefas do usuário Tarefas NDCS

Designação CMEK: Você designa um CMEK ao seu ambiente dedicado na console do OCI.

  • Aciona a criptografia de chaves nos Volumes em Blocos e no Object Storage do ambiente dedicado.
  • Exibe uma notificação no início e na conclusão da atribuição CMEK.
Rotação CMEK: Você atualiza o CMEK em seu ambiente dedicado.
  • Aciona a recriptografia de chaves nos Volumes em Blocos e no Object Storage do ambiente dedicado.
  • Exibe uma notificação no início e na conclusão do processo de atualização.
Desativar CMEK: você desativa o CMEK do vault.
  • Verifica os metadados e o status atual do CMEK associado ao Ambiente dedicado.
  • Torna o ambiente dedicado indisponível. Todos os dados ou recursos que usam CMEK ficam inutilizáveis.
  • Desativa todos os alarmes no ambiente dedicado.
  • Exibe a notificação apropriada para informar que o CMEK foi desativado no vault.
Reativar CMEK: Você reativa o CMEK desativado do vault.
  • A restauração automática do serviço não é possível. Você deve gerar um ticket CAM solicitando a restauração do serviço.
  • A restauração do serviço só é possível solicitando-o explicitamente por meio de um ticket CAM.
Exclusão do CMEK: Você exclui o CMEK do vault.
  • Oferece suporte a um processo de exclusão em duas etapas. CMEK recebe o estado de exclusão pendente, que é equivalente ao estado desativado. Após a data de exclusão ser atingida, o CMEK é excluído permanentemente.
  • Torna o ambiente dedicado indisponível. Todos os dados criptografados com o CMEK excluído ficam permanentemente inacessíveis após a data de exclusão.
  • Exibe a notificação apropriada para informar a exclusão do CMEK no vault.
Remoção de CMEK: você cancela a atribuição de CMEK do seu ambiente dedicado.
  • Reverte o ambiente dedicado para chaves gerenciadas pela Oracle e aciona a recriptografia de chaves nos Volumes em Blocos e no Object Storage do ambiente dedicado.
  • Exibe uma notificação no início e na conclusão da remoção do CMEK.

Controle de Acesso CMEK

O Oracle NoSQL Database Cloud Service utiliza o Oracle Cloud Infrastructure Identity and Access Management (IAM) para oferecer acesso seguro à Oracle Cloud. O OCI IAM permite que você implemente o controle de acesso para usar a funcionalidade KMS.

Você deve criar políticas para acessar o CMEK no vault, no Block Volumes e no Object Storage para todas as operações necessárias. Para obter mais detalhes sobre políticas, consulte Como as Políticas Funcionam na Documentação do Oracle Cloud Infrastructure.

Estes são os requisitos básicos da política de IAM na sua tenancy para uso do CMEK:

  1. Para conceder acesso a Volumes em Blocos para usar o CMEK no compartimento necessário:
    allow service blockstorage to use keys in compartment <name_of_compartment> where target.key.id = <key-ocid>

    em que

    name_of_compartment: Nome do compartimento no seu ambiente dedicado.

    key-ocid: OCID do seu CMEK.

  2. Para conceder ao Object Storage em uma região e em um compartimento acesso para usar o CMEK:
    allow service objectstorage-<region> to use keys in compartment <name_of_compartment> where target.key.id = <key-ocid>

    em que

    region: Região em que o Object Storage reside.

    name_of_compartment: Nome do compartimento no seu ambiente dedicado.

    key-ocid: OCID do seu CMEK.

  3. Para conceder ao Oracle NoSQL Database Cloud Service acesso ao CMEK delegado por chave:

    Você adiciona uma permissão de delegação de chave quando deseja permitir que um serviço integrado, como o NDCS, use uma chave em um compartimento específico.
    allow service nosql-database-cloud to use key-delegate in compartment <name_of_compartment> where target.key.id = <key-ocid>

    em que

    name_of_compartment: Nome do compartimento no seu ambiente dedicado.

    key-ocid: OCID do seu CMEK.

  4. Para conceder ao Oracle NoSQL Database Cloud Service acesso para ler o CMEK:
    allow service nosql-database-cloud to read keys in compartment <name_of_compartment> where target.key.id = <keyocid>

    em que

    name_of_compartment: Nome do compartimento no seu ambiente dedicado.

    key-ocid: OCID do seu CMEK.

Figura - Políticas do CMEK



Monitoramento e Registro de CMEK

O Oracle NoSQL Database Cloud Service suporta o registro em log de todos os eventos relacionados ao CMEK em seu ambiente dedicado e alertas com notificações apropriadas.

Logs de Auditoria do OCI

O Oracle NoSQL Database Cloud Service usa os serviços OCI Audit para registrar todas as principais alterações de estado. As informações do log de auditoria incluem:

  • Timestamp de quando a alteração de estado foi detectada.
  • Estados anteriores e novos do CMEK. Para obter detalhes sobre o gerenciamento do ciclo de vida do CMEK, consulte Workflow de Gerenciamento de Chaves do CMEK.
  • Ponto final afetado.
  • Ações especiais tomadas.

Alarmes da OCI

O Oracle NoSQL Database Cloud Service usa o serviço OCI Monitoring para monitorar de forma ativa e passiva seus recursos de nuvem usando os recursos de métricas e alarmes. Você pode configurar alarmes do OCI com base nestas métricas:

Tabela - Métricas e Alarmes do CMEK

Métrica Nome para exibição Unidade Descrição
EncryptionKeyStatus Status de Chave de Criptografia inteiro

O status da chave de criptografia visto pelo Oracle NoSQL Database Cloud Service.

Se o valor for 0, a chave de criptografia será desativada.

Se o valor for 1, a chave de criptografia será ativada e poderá executar a criptografia/descriptografia.

As chaves gerenciadas pela Oracle sempre retornam 1.

EncryptionKeyType Tipo de Chave de Criptografia inteiro

O tipo atual de chave de criptografia designada ao Oracle NoSQL Database Cloud Service.

Se o valor for 0, uma chave gerenciada pela Oracle será usada.

Se o valor for 1, um CMEK será usado.

Console do OCI

O Oracle NoSQL Database Cloud Service usa o serviço OCI Notification para exibir alertas críticos na Console do OCI para o ambiente dedicado afetado.

Você será notificado sobre os seguintes eventos relacionados ao CMEK:

  • O novo CMEK é atribuído a um ambiente dedicado.
  • O CMEK é alterado em um ambiente dedicado.
  • O CMEK é removido de um ambiente dedicado.
  • O CMEK está sendo excluído do vault e está em um período de espera.
  • CMEK foi excluído do vault.
  • O CMEK é reativado no vault.
  • O processo de criptografia é iniciado em um ambiente dedicado.
  • O processo de criptografia é concluído em um ambiente dedicado.

Os alertas incluem o seguinte:

  • Status atual do CMEK.
  • Se um ambiente dedicado estiver indisponível, motivo da indisponibilidade.

Disponibilidade do Serviço CMEK

O Oracle NoSQL Database Cloud Service monitora a disponibilidade do serviço CMEK no vault e impõe ações apropriadas quando o CMEK é desativado ou excluído. O NDCS fornece mensagens de erro e logs claros quando seu ambiente dedicado se torna indisponível ou irrecuperável devido a problemas de CMEK.

Se um CMEK estiver desativado, o Oracle NoSQL Database Cloud Service acionará as seguintes ações:

  • Desativa imediatamente todo o acesso ao ambiente dedicado.
  • Faz shutdown das instâncias no ambiente dedicado.
  • Desativa todo o monitoramento no ambiente dedicado.
  • Garante que os dados nos Volumes em Blocos e no Armazenamento de Objetos do ambiente dedicado não possam ser acessados.

Para obter detalhes sobre como desativar o CMEK, consulte Desativar o CMEK.

Se um CMEK for excluído, o Oracle NoSQL Database Cloud Service acionará as seguintes ações:

  • Imediatamente marca o ambiente dedicado como irrecuperável.
  • Faz shutdown das instâncias no ambiente dedicado.
  • Desativa todo o monitoramento no ambiente dedicado.
  • Programa o ambiente dedicado para desligamento permanente.

Para obter detalhes sobre como excluir o CMEK, consulte Exclusão do CMEK.

Se um CMEK for reativado, o Oracle NoSQL Database Cloud Service sugerirá as seguintes ações:

  • Você deve criar um ticket CAM para colocar o ambiente novamente on-line depois que seu CMEK tiver sido reativado no cofre.

Para obter detalhes sobre como reativar o CMEK, consulte Restauração do CMEK.