Oracle Transparent Data Encryption - Amazon Relational Database Service

Oracle Transparent Data Encryption

O Amazon RDS oferece suporte para ao Oracle Transparent Data Encryption (TDE), um recurso da opção Oracle Advanced Security disponível no Oracle Enterprise Edition. Esse recurso criptografa os dados automaticamente antes de gravá-los no armazenamento e os descriptografa automaticamente quando os são lidos. A opção é compatível somente com o modelo traga a sua própria licença (BYOL).

A TDE é útil em situações nas quais é preciso criptografar dados confidenciais, caso os arquivos de dados e os backups sejam obtidos por um terceiro. Ela também é útil quando você precisa estar em conformidade com os regulamentos relacionados à segurança.

Uma explicação detalhada sobre a TDE no Oracle Database está além do escopo deste guia. Para ter informações, consulte os seguintes recursos do Oracle Database:

Para ter mais informações sobre como usar o TDE com o RDS para Oracle, consulte os seguintes blogs:

Modos de criptografia do TDE

O Oracle Transparent Data Encryption oferece suporte para dois modos de criptografia: a criptografia de espaço de tabela do TDE e a criptografia de coluna do TDE. A criptografia de espaço de tabela do TDE é usada para criptografar todas as tabelas de aplicativos. A criptografia de coluna do TDE é usada para criptografar elementos de dados individuais que contêm dados confidenciais. Você também pode aplicar uma solução de criptografia híbrida que use tanto a criptografia de espaço de tabela quanto a criptografia de coluna do TDE.

nota

O Amazon RDS gerencia a chave mestra do Oracle Wallet e do TDE para a instância de banco de dados. Você não precisa definir a chave de criptografia usando o comando ALTER SYSTEM set encryption key.

Depois de habilitar a opção TDE, será possível conferir o status do Oracle Wallet usando o seguinte comando:

SELECT * FROM v$encryption_wallet;

Para criar um espaço de tabela criptografado, use o seguinte comando:

CREATE TABLESPACE encrypt_ts ENCRYPTION DEFAULT STORAGE (ENCRYPT);

Para especificar o algoritmo de criptografia, use o seguinte comando:

CREATE TABLESPACE encrypt_ts ENCRYPTION USING 'AES256' DEFAULT STORAGE (ENCRYPT);

As declarações anteriores para criptografar um espaço de tabela são as mesmas que você usaria em um banco de dados Oracle on-premises.

Restrições para a opção TDE

A opção TDE é permanente e persistente. Após a associação da instância de banco de dados a um grupo de opções com a opção TDE habilitada, não é possível realizar as seguintes ações:

  • Desabilitar a opção TDE no grupo de opções atualmente associado.

  • Associar a instância de banco de dados a um grupo de opções diferente que não inclua a opção TDE.

  • Compartilhar um snapshot de banco de dados que usa a opção TDE. Para obter mais informações sobre como compartilhar snapshot de banco de dadoss, consulte Compartilhar um snapshot de banco de dados para o Amazon RDS.

Para ter mais informações sobre opções persistentes e permanentes, consulte Opções persistentes e permanentes.

Determinar se a instância de banco de dados está usando a TDE

Convém determinar se a instância de banco de dados está associada a um grupo de opções que tenha a opção TDE habilitada. Para visualizar o grupo de opções ao qual uma instância de banco de dados está associada, use o console do RDS, o comando describe-db-instance da AWS CLI ou a operação DescribeDBInstances da API.

Adicionar a opção TDE

Para adicionar a opção TDE à instância de banco de dados, siga estas etapas:

  1. (Recomendado) Crie um snapshot da instância de banco de dados.

  2. Realize uma destas tarefas:

    • Crie um grupo de opções do zero. Para ter mais informações, consulte Criar um grupo de opções.

    • Copie um grupo de opções existente usando a AWS CLI ou a API. Para ter mais informações, consulte Copiar um grupo de opções.

    • Reutilize um grupo de opções não padrão. Uma prática recomendada é usar um grupo de opções que não esteja atualmente associado a nenhuma instância de banco de dados ou snapshot.

  3. Adicione a nova opção ao grupo de opções da etapa anterior.

  4. Se o grupo de opções atualmente associado à instância de banco de dados tiver opções habilitadas, adicione essas opções ao novo grupo de opções. Essa estratégia evita que as opções existentes sejam desinstaladas ao habilitar a nova opção.

  5. Adicione o novo grupo de opções à instância de banco de dados.

Como adicionar a opção TDE a um grupo de opções e associá-la à instância de banco de dados
  1. No console do RDS, escolha Grupos de opções.

  2. Escolha o nome do grupo de opções ao qual você deseja adicionar a opção.

  3. Escolha Add option (Adicionar opção).

  4. Em Nome da opção, escolha TDE e defina as configurações da opção.

  5. Escolha Add option (Adicionar opção).

    Importante

    Se você adicionar a opção TDE a um grupo de opções que está anexado a uma ou mais instâncias de banco de dados, uma breve interrupção ocorrerá enquanto todas as instâncias de banco de dados são reiniciadas automaticamente.

    Para ter mais informações sobre a adição de opções, consulte Adicionar uma opção a um grupo de opções.

  6. Associe o grupo de opções a uma instância de banco de dados nova ou existente:

    • Para uma nova instância de banco de dados, aplique o grupo de opções ao executar a instância. Para obter mais informações, consulte Criar uma instância de banco de dados do Amazon RDS.

    • Para uma instância de banco de dados existente, aplique o grupo de opções modificando a instância e anexando o novo grupo de opções. Quando você adiciona a nova opção a uma instância de banco de dados existente, ocorre uma breve interrupção enquanto a instância de banco de dados é reiniciada automaticamente. Para ter mais informações, consulte Modificar uma instância de banco de dados do Amazon RDS.

No exemplo a seguir, você usa o comando da AWS CLI add-option-to-option-group para adicionar a opção TDE a um grupo de opções chamado myoptiongroup. Consulte mais informações em Getting started: Flink 1.13.2.

Para Linux, macOS ou Unix:

aws rds add-option-to-option-group \ --option-group-name "myoptiongroup" \ --options "OptionName=TDE" \ --apply-immediately

Para Windows:

aws rds add-option-to-option-group ^ --option-group-name "myoptiongroup" ^ --options "OptionName=TDE" ^ --apply-immediately

Copiar os dados para uma instância de banco de dados que não inclua a opção TDE

Não é possível remover a opção TDE de uma instância de banco de dados nem a associar a um grupo de opções sem a opção TDE. Para migrar os dados para uma instância que não inclua a opção TDE, faça o seguinte:

  1. Descriptografe os dados na instância de banco de dados.

  2. Copie os dados para uma nova instância de banco de dados que não esteja associada a um grupo de opções com a opção TDE habilitada.

  3. Exclua a instância de banco de dados original.

É possível usar o mesmo nome da instância de banco de dados anterior para a nova instância.

Considerações ao usar o TDE com o Oracle Data Pump

É possível usar o Oracle Data Pump para importar ou exportar arquivos de despejo criptografados. O Amazon RDS é compatível com modo de criptografia de senha (ENCRYPTION_MODE=PASSWORD) para o Oracle Data Pump. O Amazon RDS não é compatível com o modo de criptografia transparente (ENCRYPTION_MODE=TRANSPARENT) para o Oracle Data Pump. Para ter mais informações, consulte Importar usando o Oracle Data Pump.