As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Atualizar seu modelo de dados
Nossa biblioteca de criptografia do lado do cliente foi renomeada para Database Encryption. AWS SDK Este guia do desenvolvedor ainda fornece informações sobre o DynamoDB Encryption Client. |
Ao configurar a criptografia AWS de banco de dados SDK para o DynamoDB, você fornece ações de atributos. Na criptografia, a criptografia AWS de banco de dados SDK usa as ações de atributos para identificar quais atributos criptografar e assinar, quais atributos assinar (mas não criptografar) e quais ignorar. Os atributos não assinados permitidos informam ao cliente quais atributos foram excluídos das assinaturas. Na descriptografia, a criptografia de AWS banco de dados SDK usa os atributos não assinados permitidos que você definiu para identificar quais atributos não estão incluídos nas assinaturas. As ações de atributos não são salvas no item criptografado e a Criptografia do AWS Banco de Dados SDK não atualiza suas ações de atributo automaticamente.
Escolha suas ações de atributos com cuidado. Em caso de dúvida, use Criptografar e assinar. Depois de usar a criptografia AWS de banco de dados SDK para proteger seus itens, você não poderá alterar um SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
atributo existente ENCRYPT_AND_SIGN
ou DO_NOTHING
a. SIGN_ONLY
No entanto, é possível fazer as alterações a seguir.
Considerações sobre a criptografia pesquisável
Antes de atualizar o modelo de dados, considere cuidadosamente como as atualizações podem afetar os beacons que você construiu a partir dos atributos. Depois de gravar novos registros com o beacon, não será possível atualizar a configuração do beacon. Não é possível atualizar as ações de atributos associadas aos atributos que você usou para construir beacons. Se você remover um atributo existente e o beacon associado, não poderá consultar registros existentes usando esse beacon. É possível criar novos beacons para novos campos adicionados ao registro, mas não é possível atualizar os beacons existentes para incluir o novo campo.
Considerações sobre atributos SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
Por padrão, as chaves de partição e classificação são o único atributo incluído no contexto de criptografia. Você pode considerar definir campos adicionais para que o fornecedor da ID da chave de filial do seu AWS KMS chaveiro hierárquico possa identificar qual chave de ramificação é necessária para a descriptografia a partir SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
do contexto de criptografia. Para obter mais informações, consulte fornecedor de ID de chave de filial. Se você especificar algum SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
atributo, os atributos de partição e classificação também deverão serSIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
.
nota
Para usar a ação SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
criptográfica, você deve usar a versão 3.3 ou posterior da Criptografia SDK de AWS Banco de Dados. Implante a nova versão para todos os leitores antes de atualizar seu modelo de dados para incluí-laSIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
.
Adicionar novos ENCRYPT_AND_SIGN
SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
atributos e SIGN_ONLY
Para adicionar um novoENCRYPT_AND_SIGN
, ou SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
atributoSIGN_ONLY
, defina o novo atributo em suas ações de atributo.
Você não pode remover um DO_NOTHING
atributo existente e adicioná-lo novamente como SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
atributo ENCRYPT_AND_SIGN
SIGN_ONLY
, ou.
Usar uma classe de dados anotada
Se você definiu as ações de atributo com um TableSchema
, adicione o novo atributo à sua classe de dados anotada com a anotação . Se você não especificar uma anotação de ação de atributo para o novo atributo, o cliente criptografará e assinará o novo atributo por padrão (a menos que o atributo faça parte da chave primária). Se quiser assinar apenas o novo atributo, você deve adicionar o novo atributo com a @DynamoDBEncryptionSignAndIncludeInEncryptionContext
anotação @DynamoDBEncryptionSignOnly
ou.
Usar um objeto de modelo
Se você definiu manualmente suas ações de atributo, adicione o novo atributo às ações de atributo em seu modelo de objeto e especifiqueENCRYPT_AND_SIGN
,SIGN_ONLY
, ou SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
como a ação do atributo.
Remover atributos existentes
Se você decidir que não precisa mais de um atributo, pode parar de gravar dados nesse atributo ou removê-lo formalmente das ações de atributo. Quando você para de gravar novos dados em um atributo, o atributo ainda aparece nas ações de atributo. Isso pode ser útil se você precisar começar a usar o atributo novamente no futuro. A remoção formal do atributo das ações do atributo não o remove do conjunto de dados. O conjunto de dados ainda conterá itens que incluem esse atributo.
Para remover formalmente um DO_NOTHING
atributo existenteENCRYPT_AND_SIGN
,SIGN_ONLY
, ouSIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
, atualize suas ações de atributo.
Se você remover um atributo DO_NOTHING
, não deverá remover esse atributo dos atributos não assinados permitidos. Mesmo que você não esteja mais gravando novos valores nesse atributo, o cliente ainda precisa saber que o atributo não está assinado para ler os itens existentes que contêm o atributo.
Usar uma classe de dados anotada
Se você definiu as ações de atributo com um TableSchema
, remova o novo atributo da classe de dados anotada.
Usar um objeto de modelo
Se você definiu manualmente as ações de atributo, remova o atributo das ações de atributo em seu modelo de objeto.
Alterar um ENCRYPT_AND_SIGN
atributo existente para SIGN_ONLY
ou SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
Para alterar um ENCRYPT_AND_SIGN
atributo existente para SIGN_ONLY
ouSIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
, você deve atualizar suas ações de atributo. Depois de implantar a atualização, o cliente poderá verificar e descriptografar valores existentes gravados no atributo, mas só assinará novos valores gravados no atributo.
nota
Considere cuidadosamente seus requisitos de segurança antes de alterar um ENCRYPT_AND_SIGN
atributo existente para SIGN_ONLY
ouSIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
. Qualquer atributo que possa armazenar dados confidenciais deve ser criptografado.
Usar uma classe de dados anotada
Se você definiu suas ações de atributo com umTableSchema
, atualize o atributo existente para incluir a @DynamoDBEncryptionSignAndIncludeInEncryptionContext
anotação @DynamoDBEncryptionSignOnly
ou em sua classe de dados anotada.
Usar um objeto de modelo
Se você definiu manualmente suas ações de atributo, atualize a ação de atributo associada ao atributo existente de ENCRYPT_AND_SIGN
para SIGN_ONLY
ou SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
em seu modelo de objeto.
Alterar um existente SIGN_ONLY
ou SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
atributo para ENCRYPT_AND_SIGN
Para alterar um atributo existente SIGN_ONLY
ou um SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
atributo paraENCRYPT_AND_SIGN
, você deve atualizar suas ações de atributo. Depois de implantar a atualização, o cliente poderá verificar os valores existentes gravados no atributo, mas só criptografará e assinará novos valores gravados no atributo.
Usar uma classe de dados anotada
Se você definiu suas ações de atributo com umTableSchema
, remova a @DynamoDBEncryptionSignAndIncludeInEncryptionContext
anotação @DynamoDBEncryptionSignOnly
ou do atributo existente.
Usar um objeto de modelo
Se você definiu manualmente suas ações de atributo, atualize a ação de atributo associada ao atributo de SIGN_ONLY
ou SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
para ENCRYPT_AND_SIGN
em seu modelo de objeto.
Adicionar um novo atributo DO_NOTHING
Você não pode remover um SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
atributo ou existente ENCRYPT_AND_SIGN
da sua classe de dados anotada e depois adicionar o atributo novamente como um DO_NOTHING
atributo. SIGN_ONLY
Só é possível adicionar atributos DO_NOTHING
totalmente novos.
As etapas que você executa para adicionar um novo atributo DO_NOTHING
dependem de você ter definido os atributos não assinados permitidos explicitamente em uma lista ou com um prefixo.
Uso de um prefixo de atributos não assinados permitido
Se você definiu suas ações de atributo com um TableSchema
, adicione o novo atributo DO_NOTHING
à sua classe de dados anotada com a anotação @DynamoDBEncryptionDoNothing
. Se você definiu manualmente as ações de atributo, atualize as ações de atributo para incluir o novo atributo. Certifique-se de configurar explicitamente o novo atributo com a ação do atributo DO_NOTHING
. Você deve incluir o mesmo prefixo distinto no nome do novo atributo.
Uso de uma lista de atributos não assinados permitido
-
Adicione o novo atributo
DO_NOTHING
à sua lista de atributos não assinados permitidos e implante a lista atualizada. -
Implante a alteração da Etapa 1.
Não é possível passar para a Etapa 3 até que a alteração tenha se propagado para todos os hosts que precisam ler esses dados.
-
Adicione o novo atributo
DO_NOTHING
às ações de atributo.-
Se você definiu suas ações de atributo com um
TableSchema
, adicione o novo atributoDO_NOTHING
à sua classe de dados anotada com a anotação@DynamoDBEncryptionDoNothing
. -
Se você definiu manualmente as ações de atributo, atualize as ações de atributo para incluir o novo atributo. Certifique-se de configurar explicitamente o novo atributo com a ação do atributo
DO_NOTHING
.
-
-
Implante a alteração da Etapa 3.
Alterar um atributo SIGN_ONLY
existente para SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
Para alterar um atributo SIGN_ONLY
existente para SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
, você deve atualizar suas ações de atributo. Depois de implantar a atualização, o cliente poderá verificar os valores existentes gravados no atributo e continuará assinando novos valores gravados no atributo. Novos valores gravados no atributo serão incluídos no contexto de criptografia.
Se você especificar algum SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
atributo, os atributos de partição e classificação também deverão serSIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
.
Usar uma classe de dados anotada
Se você definiu suas ações de atributo com umTableSchema
, atualize a ação de atributo associada ao atributo de @DynamoDBEncryptionSignOnly
para@DynamoDBEncryptionSignAndIncludeInEncryptionContext
.
Usar um objeto de modelo
Se você definiu manualmente as ações de atributo, atualize a ação do atributo correspondente ao atributo de SIGN_ONLY
ou SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
no modelo de objeto.
Alterar um atributo SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
existente para SIGN_ONLY
Para alterar um atributo SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
existente para SIGN_ONLY
, você deve atualizar suas ações de atributo. Depois de implantar a atualização, o cliente poderá verificar os valores existentes gravados no atributo e continuará assinando novos valores gravados no atributo. Novos valores gravados no atributo não serão incluídos no contexto de criptografia.
Antes de alterar um SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
atributo existente paraSIGN_ONLY
, considere cuidadosamente como suas atualizações podem afetar a funcionalidade do seu fornecedor de ID de chave de filial.
Usar uma classe de dados anotada
Se você definiu suas ações de atributo com umTableSchema
, atualize a ação de atributo associada ao atributo de @DynamoDBEncryptionSignAndIncludeInEncryptionContext
para@DynamoDBEncryptionSignOnly
.
Usar um objeto de modelo
Se você definiu manualmente as ações de atributo, atualize a ação do atributo correspondente ao atributo de SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
ou SIGN_ONLY
no modelo de objeto.