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á.
Criptografia pesquisável no DynamoDB
Para configurar suas tabelas do Amazon DynamoDB para criptografia pesquisável, você deve usar o token de autenticação hierárquico do AWS KMS para gerar, criptografar e descriptografar as chaves de dados usadas para proteger seus itens. Você também deve incluir o SearchConfig na configuração de criptografia da tabela.
nota
Se você estiver usando a biblioteca de criptografia Java do lado do cliente para o DynamoDB, deverá usar o SDK de criptografia de AWS banco de dados de baixo nível para a API do DynamoDB para criptografar, assinar, verificar e descriptografar os itens da tabela. O DynamoDB Enhanced Client e o DynamoDBItemEncryptor
de nível inferior não oferecem suporte à criptografia pesquisável.
Configuração de índices secundários com beacons
Depois de configurar os beacons, você deve configurar um índice secundário que reflete cada beacon antes de poder pesquisar nos atributos criptografados.
Quando você configura um beacon padrão ou composto, o SDK de criptografia AWS de banco de dados adiciona o aws_dbe_b_
prefixo ao nome do beacon para que o servidor possa identificar facilmente os beacons. Por exemplo, se você nomear um beacon composto, compoundBeacon
, o nome completo do beacon será aws_dbe_b_compoundBeacon
. Se você quiser configurar índices secundários que incluam um beacon padrão ou composto, deverá incluir o prefixo aws_dbe_b_
ao identificar o nome do beacon.
- Partição e chaves de classificação
-
Não é possível criptografar valores de chave primária. Suas chaves de partição e classificação devem ser assinadas. Os valores de chave primária não podem ser um beacon padrão ou composto.
Seus valores de chave primária devem ser
SIGN_ONLY
, a menos que você especifique algumSIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
atributo, os atributos de partição e classificação também devem serSIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
.Os valores de chave primária podem ser beacons assinados. Se você configurou beacons assinados distintos para cada um dos seus valores de chave primária, deverá o nome do atributo que identifica o valor da chave primária como o nome do beacon assinado. No entanto, o SDK AWS de criptografia de banco de dados não adiciona o
aws_dbe_b_
prefixo aos beacons assinados. Mesmo que você tenha configurado beacons assinados distintos para os valores de chave primária, você só precisará especificar os nomes dos atributos para os valores de chave primária ao configurar um índice secundário. - Índices secundários locais
-
A chave de classificação para um índice secundário local pode ser um beacon.
Se você especificar um beacon para a chave de classificação, o tipo deverá ser String. Se você especificar um beacon padrão ou composto para a chave de classificação, ele deverá incluir o prefixo
aws_dbe_b_
ao especificar o nome do beacon. Se você especificar um beacon assinado, especifique o nome do beacon sem nenhum prefixo. - Índices secundários globais
-
As chaves de classificação e de partição de um índice secundário global podem ser beacons.
Se você especificar um beacon para a partição ou chave de classificação, o tipo deverá ser String. Se você especificar um beacon padrão ou composto para a chave de classificação, ele deverá incluir o prefixo
aws_dbe_b_
ao especificar o nome do beacon. Se você especificar um beacon assinado, especifique o nome do beacon sem nenhum prefixo. - Projeções de atributo
-
Uma projeção é o conjunto de atributos que é copiado de uma tabela para um índice secundário. A chave de partição e a chave de classificação da tabela são sempre projetadas no índice; é possível projetar outros atributos para suportar os requisitos de consulta da sua aplicação. O DynamoDB fornece três opções diferentes para projeções de atributo:
KEYS_ONLY
,INCLUDE
eALL
.Se você usar a projeção do atributo INCLUDE para pesquisar em um beacon, deverá especificar os nomes de todos os atributos a partir dos quais o beacon é construído e o nome do beacon com o prefixo
aws_dbe_b_
. Por exemplo, se você configurou um beacon composto,compoundBeacon
, defield1
,field2
efield3
, deverá especificaraws_dbe_b_compoundBeacon
,field1
,field2
efield3
na projeção.Um índice secundário global só pode usar os atributos explicitamente especificados na projeção, mas um índice secundário local pode usar qualquer atributo.
Testando saídas de farol
Se você configurou beacons compostos ou construiu seus beacons usando campos virtuais, recomendamos verificar se esses beacons produzem a saída esperada antes de preencher sua tabela do DynamoDB.
O SDK AWS de criptografia de banco de dados fornece o DynamoDbEncryptionTransforms
serviço para ajudá-lo a solucionar problemas de campo virtual e saídas de beacon composto.
O snippet a seguir cria itens de teste, define o DynamoDbEncryptionTransforms
serviço com a configuração de criptografia de tabela do DynamoDB e demonstra como usá-lo para verificar se o campo virtual produz ResolveAttributes
a saída esperada.
O trecho a seguir cria um item de teste, define o DynamoDbEncryptionTransforms
serviço com a configuração de criptografia de tabela do DynamoDB e demonstra como usá-lo para verificar se o beacon composto produz ResolveAttributes
a saída esperada.