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á.
Uso de beacons
Nossa biblioteca de criptografia do lado do cliente foi renomeada para SDK de criptografia de AWS banco de dados. Este guia do desenvolvedor ainda fornece informações sobre o DynamoDB Encryption Client. |
Os beacons permitem pesquisar registros criptografados sem descriptografar todo o banco de dados que está sendo consultado. Os beacons são projetados para serem implementados em bancos de dados novos e vazios. Qualquer beacon configurado em um banco de dados existente mapeará somente novos registros gravados no banco de dados. Os beacons são calculados a partir do valor de texto simples de um campo, uma vez que o campo é criptografado, não há como o beacon mapear os dados existentes. Depois de gravar novos registros com o beacon, não será possível atualizar a configuração do beacon. No entanto, é possível adicionar novos beacons aos novos campos que você adiciona ao seu registro.
Depois de configurar seus beacons, você deve concluir as etapas a seguir antes de começar a preencher seu banco de dados e realizar consultas em seus beacons.
-
Crie um AWS KMS chaveiro hierárquico
Para usar a 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 registros.
Para obter mais detalhes sobre por que o token de autenticação hierárquico é necessário, consulte Uso do token de autenticação hierárquico para criptografia pesquisável.
-
Definir a versão do beacon
Especifique sua
keyStore
,keySource
, uma lista de todos os beacons padrão que você configurou, uma lista de todos os beacons compostos que você configurou, uma lista de peças criptografadas, uma lista de peças assinadas e uma versão do beacon. Você deve especificar1
para a versão do beacon. Para obter orientação sobre como definirkeySource
, consulte Definição da fonte de chave de beacon.O exemplo de Java a seguir define a versão do beacon para um único banco de dados de locatário. Para obter ajuda na definição da versão do beacon para um banco de dados multilocatário, consulte Criptografia pesquisável para bancos de dados multilocatários.
-
Configurar índices secundários
Depois de configurar os beacons, você deve configurar um índice secundário que reflete cada beacon antes de poder pesquisar nos campos criptografados. Para ter mais informações, consulte Configuração de índices secundários com beacons.
-
Definir ações criptográficas
Todos os campos usados para construir um beacon padrão devem ser marcados com
ENCRYPT_AND_SIGN
. Todos os outros campos usados para construir beacons devem ser marcadosSIGN_ONLY
com ou.SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
-
Configurar um cliente SDK AWS de criptografia de banco de dados
Para configurar um cliente SDK AWS de criptografia de banco de dados que proteja os itens da tabela em sua tabela do DynamoDB, consulte Biblioteca de criptografia Java do lado do cliente para o DynamoDB.
Consultar beacons
O tipo de beacon que você configura determina o tipo de consultas que você é capaz de realizar. Os beacons padrão usam expressões de filtro para realizar pesquisas de igualdade. Os beacons compostos combinam cadeias de texto simples literais e beacons padrão para realizar consultas complexas. Ao consultar dados criptografados, você pesquisa pelo nome do beacon.
Não é possível comparar os valores de dois beacons padrão, mesmo que eles contenham o mesmo texto simples subjacente. Os dois beacons padrão produzirão duas etiquetas de HMAC diferentes para os mesmos valores de texto simples. Como resultado, os beacons padrão não podem realizar as consultas a seguir.
-
beacon1
=beacon2
-
beacon1
IN (beacon2
) -
value
IN (beacon1
,beacon2
, ...) -
CONTAINS(
beacon1
,beacon2
)
Os beacons compostos podem realizar as consultas a seguir.
-
BEGINS_WITH(
, ondea
)
reflete o valor total do campo com o qual o beacon composto montado começa. Não é possível usar o operadora
BEGINS_WITH
para identificar um valor que comece com uma substring específica. No entanto, é possível usarBEGINS_WITH(
, em queS_
)
reflete o prefixo de uma parte com a qual o beacon composto montado começa.S_
-
CONTAINS(
, em quea
)
reflete o valor total de um campo que o beacon composto montado contém. Não é possível usar o operadora
CONTAINS
para identificar um registro que contenha uma substring específica ou um valor dentro de um conjunto.Por exemplo, não é possível realizar uma consulta
CONTAINS(
em quepath
, "a
"
reflita o valor em um conjunto.a
-
É possível comparar partes assinadas de beacons compostos. Ao comparar partes assinadas, é possível, opcionalmente, acrescentar o prefixo de uma parte criptografada a uma ou mais partes assinadas, mas não é possível incluir o valor de um campo criptografado em nenhuma consulta.
Por exemplo, é possível comparar partes assinadas e consultar em
ousignedField1
=signedField2
.value
IN (signedField1
,signedField2
, ...)Também é possível comparar partes assinadas e o prefixo de uma parte criptografada por meio de consulta em
.signedField1.A_
=signedField2.B_
-
, em quefield
BETWEENa
ANDb
ea
são partes assinadas. Opcionalmente, é possível acrescentar o prefixo de uma parte criptografada a uma ou mais partes assinadas, mas não é possível incluir o valor de um campo criptografado em nenhuma consulta.b
Você deve incluir o prefixo de cada parte incluída em uma consulta em um beacon composto. Por exemplo, se você construiu um beacon composto, compoundBeacon
, a partir de dois campos encryptedField
e signedField
, deverá incluir os prefixos configurados para essas duas partes ao consultar o beacon.
compoundBeacon = E_
encryptedFieldValue
.S_signedFieldValue