

# Oracle Transparent Data Encryption
<a name="Appendix.Oracle.Options.AdvSecurity"></a>

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:
+ [Introduction to Transparent Data Encryption](https://docs.oracle.com/en/database/oracle/oracle-database/19/asoag/introduction-to-transparent-data-encryption.html#GUID-62AA9447-FDCD-4A4C-B563-32DE04D55952) na documentação do banco de dados Oracle
+ [Oracle advanced security](https://www.oracle.com/security/database-security/) na documentação do Oracle Database.
+ [Oracle advanced security Transparent Data Encryption best practices](https://www.oracle.com/br/a/tech/docs/technical-resources/twp-transparent-data-encryption-bestpractices.pdf), que é um whitepaper da Oracle.

Para ter mais informações sobre como usar o TDE com o RDS para Oracle, consulte os seguintes blogs:
+ [Oracle Database Encryption Options on Amazon RDS](https://aws.amazon.com/blogs/apn/oracle-database-encryption-options-on-amazon-rds/)
+ [Migrate a cross-account TDE-enabled Amazon RDS for Oracle DB instance with reduced downtime using AWS DMS](https://aws.amazon.com/blogs/database/migrate-a-cross-account-tde-enabled-amazon-rds-for-oracle-db-instance-with-reduced-downtime-using-aws-dms/)

## Modos de criptografia do TDE
<a name="Appendix.Oracle.Options.AdvSecurity.Modes"></a>

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 name="Appendix.Oracle.Options.Timezone.Restrictions"></a>

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](USER_ShareSnapshot.md).

Para ter mais informações sobre opções persistentes e permanentes, consulte [Opções persistentes e permanentes](USER_WorkingWithOptionGroups.md#Overview.OptionGroups.Permanent).

## Determinar se a instância de banco de dados está usando a TDE
<a name="Appendix.Oracle.Options.AdvSecurity.Querying"></a>

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](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html) da AWS CLI ou a operação [DescribeDBInstances](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstances.html) da API.

## Adicionar a opção TDE
<a name="Appendix.Oracle.Options.AdvSecurity.Add"></a>

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.

1. Realize uma destas tarefas:
   + Crie um grupo de opções do zero. Para obter mais informações, consulte [Criar um grupo de opções](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create).
   + Copie um grupo de opções existente usando a AWS CLI ou a API. Para obter mais informações, consulte [Copiar um grupo de opções](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Copy).
   + 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.

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

1. 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.

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

### Console
<a name="Appendix.Oracle.Options.TDE.Console"></a>

**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**.

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

1. Escolha **Add option (Adicionar opção)**.

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

1. 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](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption).

1. 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](USER_CreateDBInstance.md). 
   + 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. A instância de banco de dados não é reiniciada como parte dessa operação. Para obter mais informações, consulte [Modificar uma instância de banco de dados do Amazon RDS](Overview.DBInstance.Modifying.md). 

### AWS CLI
<a name="Appendix.Oracle.Options.TDE.CLI"></a>

No exemplo a seguir, você usa o comando da AWS CLI [add-option-to-option-group](https://docs.aws.amazon.com/cli/latest/reference/rds/add-option-to-option-group.html) 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](https://docs.aws.amazon.com/managed-flink/latest/java/earlier.html#getting-started-1-13).

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
<a name="Appendix.Oracle.Options.AdvSecurity.Remove"></a>

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. 

1.  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. 

1.  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
<a name="Appendix.Oracle.Options.AdvSecurity.Pump"></a>

É 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 obter mais informações, consulte [Importar usando o Oracle Data Pump](Oracle.Procedural.Importing.DataPump.md). 