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á.
AWS KMS Chaveiros hierárquicos
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. |
nota
Em 24 de julho de 2023, as chaves de ramificação criadas durante a versão prévia para desenvolvedores não são compatíveis. Crie novas chaves de ramificação para continuar usando o armazenamento de chaves de ramificação que você criou durante a versão prévia para desenvolvedores.
Com o AWS KMS chaveiro hierárquico, você pode proteger seus materiais criptográficos com uma chave KMS de criptografia simétrica sem ligar AWS KMS sempre que criptografar ou descriptografar um registro. É uma boa opção para aplicativos que precisam minimizar as chamadas e aplicativos que podem reutilizar alguns materiais criptográficos sem violar seus requisitos de segurança. AWS KMS
O chaveiro hierárquico é uma solução de armazenamento em cache de materiais criptográficos que reduz o número de AWS KMS chamadas usando chaves de ramificação AWS KMS protegidas persistentes em uma tabela do Amazon DynamoDB e, em seguida, armazenando localmente em cache materiais de chave de ramificação usados em operações de criptografia e descriptografia. A tabela do DynamoDB serve como o armazenamento de chaves de ramificação que gerencia e protege as chaves de ramificação. Ele armazena a chave de ramificação ativa e todas as versões anteriores da chave de ramificação. A chave de ramificação ativa é a versão mais recente da chave de ramificação. O token de autenticação hierárquico usa uma chave de dados exclusiva para criptografar cada campo e criptografa cada chave de dados com uma chave de empacotamento exclusiva derivada da chave de ramificação ativa. O token de autenticação hierárquico depende da hierarquia estabelecida entre as chaves de ramificação ativas e suas chaves de empacotamento derivadas.
O token de autenticação hierárquico normalmente usa cada versão da chave de ramificação para atender a várias solicitações. Porém, você controla até que ponto as chaves de ramificação ativas são reutilizadas e determina com que frequência a chave de ramificação ativa é alternada. A versão ativa da chave de ramificação permanece ativa até que você a alterne. As versões anteriores da chave de ramificação ativa não serão usadas para realizar operações de criptografia, mas ainda podem ser consultadas e usadas em operações de descriptografia.
Quando você instancia o token de autenticação hierárquico, ele cria um cache local. Você especifica um limite de cache que define o tempo máximo em que os materiais da chave de ramificação são armazenados no cache local antes de expirarem e serem despejados do cache. O chaveiro hierárquico faz uma AWS KMS chamada para descriptografar a chave de ramificação e montar os materiais da chave de ramificação na primeira vez em que a é especificado em uma branch-key-id
operação. Em seguida, os materiais da chave de ramificação são armazenados no cache local e reutilizados para todas as operações de criptografia e descriptografia que especificam branch-key-id
até que o limite do cache expire. Armazenar materiais de chave de filial no cache local reduz AWS KMS as chamadas. Por exemplo, considere um limite de cache de 15 minutos. Se você realizar 10.000 operações de criptografia dentro desse limite de cache, o AWS KMS chaveiro tradicional precisaria fazer 10.000 AWS KMS chamadas para satisfazer 10.000 operações de criptografia. Se você tiver um ativobranch-key-id
, o chaveiro hierárquico só precisará fazer uma AWS KMS chamada para satisfazer 10.000 operações de criptografia.
O cache local consiste em duas partições, uma para operações de criptografia e outra para operações de descriptografia. A partição criptografada armazena os materiais da chave de ramificação reunidos a partir da chave de ramificação ativa e os reutiliza para todas as operações de criptografia até que o limite de cache expire. A partição de descriptografia armazena os materiais da chave de ramificação reunidos para outras versões de chave de ramificação identificadas nas operações de descriptografia. A partição de decodificação pode armazenar várias versões ativas de materiais de chave de ramificação ao mesmo tempo. Quando configurada para usar um fornecedor de ID de chave de ramificação para um banco de dados multilocatário, a partição criptografada também pode armazenar várias versões de materiais de chave de ramificação ao mesmo tempo. Para ter mais informações, consulte Uso do token de autenticação hierárquico com bancos de dados multilocatários.
nota
Todas as menções ao chaveiro hierárquico no SDK de criptografia de AWS banco de dados se referem ao chaveiro hierárquico. AWS KMS
Tópicos
Como funciona
As instruções a seguir descrevem como o token de autenticação hierárquico reúne materiais de criptografia e descriptografia e as diferentes chamadas que o token de autenticação faz para operações de criptografia e descriptografia. Para obter detalhes técnicos sobre a derivação da chave de empacotamento e os processos de criptografia da chave de dados em texto simples, consulte Detalhes técnicos do token de autenticação hierárquico do AWS KMS.
Criptografar e assinar
O passo a passo a seguir descreve como o token de autenticação hierárquico reúne materiais de criptografia e obtém uma chave de empacotamento exclusiva.
-
O método de criptografia solicita materiais de criptografia ao token de autenticação hierárquico. O token de autenticação gera uma chave de dados em texto simples e, em seguida, verifica se há materiais de ramificação válidos no cache local para gerar a chave de empacotamento. Se houver materiais de chave de ramificação válidos, o token de autenticação prosseguirá para a Etapa 5.
-
Se não houver materiais de chave de ramificação válidos, o token de autenticação hierárquico consulta o armazenamento de chaves de ramificação em busca da chave de ramificação ativa.
-
O repositório de chaves de ramificação faz chamadas AWS KMS para descriptografar a chave de ramificação ativa e retorna a chave de ramificação ativa em texto simples. Os dados que identificam a chave de ramificação ativa são serializados para fornecer dados autenticados adicionais (AAD) na chamada de descriptografia para o AWS KMS.
-
O armazenamento da chave de ramificação retorna a chave de ramificação em texto simples e os dados que a identificam, como a versão da chave de ramificação.
-
-
O token de autenticação hierárquico reúne materiais de chave de ramificação (a chave de ramificação em texto simples e a versão da chave de ramificação) e armazena uma cópia deles no cache local.
-
O token de autenticação hierárquico deriva uma chave de empacotamento exclusiva da chave de ramificação de texto simples e um sal aleatório de 16 bytes. Ele usa a chave de empacotamento derivada para criptografar uma cópia da chave de dados em texto simples.
O método de criptografia usa os materiais de criptografia para criptografar e assinar o registro. Para obter mais informações sobre como os registros são criptografados e assinados no SDK de criptografia de banco de dados da AWS , consulte Criptografar e assinar.
Descriptografar e verificar
O passo a passo a seguir descreve como o token de autenticação hierárquico reúne materiais de decodificação e decifra a chave de dados criptografada.
-
O método de descriptografia identifica a chave de dados criptografada no campo de descrição do material do registro criptografado e a passa para o token de autenticação hierárquico.
-
O token de autenticação hierárquico desserializa os dados que identificam a chave de dados criptografada, incluindo a versão da chave de ramificação, o sal de 16 bytes e outras informações que descrevem como a chave de dados foi criptografada.
Para ter mais informações, consulte Detalhes técnicos do token de autenticação do AWS KMS hierárquico.
-
O token de autenticação hierárquico verifica se há materiais de chave de ramificação válidos no cache local que correspondam à versão da chave de ramificação identificada na Etapa 2. Se houver materiais de chave de ramificação válidos, o token de autenticação prosseguirá para a Etapa 6 .
-
Se não houver materiais de chave de ramificação válidos, o token de autenticação hierárquico consulta o armazenamento da chave de ramificação em busca da chave de ramificação que corresponde à versão da chave de ramificação identificada na Etapa 2.
-
O repositório de chaves de ramificação faz chamadas AWS KMS para descriptografar a chave de ramificação e retorna a chave de ramificação ativa em texto simples. Os dados que identificam a chave de ramificação ativa são serializados para fornecer dados autenticados adicionais (AAD) na chamada de descriptografia para o AWS KMS.
-
O armazenamento da chave de ramificação retorna a chave de ramificação em texto simples e os dados que a identificam, como a versão da chave de ramificação.
-
-
O token de autenticação hierárquico reúne materiais de chave de ramificação (a chave de ramificação em texto simples e a versão da chave de ramificação) e armazena uma cópia deles no cache local.
-
O token de autenticação hierárquico usa os materiais de chave de ramificação montados e o sal de 16 bytes identificado na Etapa 2 para reproduzir a chave de empacotamento exclusiva que criptografou a chave de dados.
-
O token de autenticação hierárquico usa a chave de empacotamento reproduzida para descriptografar a chave de dados e retorna a chave de dados em texto simples.
O método de decodificação usa os materiais de decodificação e a chave de dados de texto simples para descriptografar e verificar o registro. Para obter mais informações sobre como os registros são descriptografados e verificados no SDK de criptografia de AWS banco de dados, consulte Descriptografar e verificar.
Pré-requisitos
O SDK AWS de criptografia de banco de dados não exige um Conta da AWS e não depende de nenhum AWS service (Serviço da AWS). No entanto, o chaveiro hierárquico depende do Amazon AWS KMS DynamoDB.
Para usar um chaveiro hierárquico, você precisa de uma criptografia AWS KMS key simétrica com as permissões kms:Decrypt. Também é possível usar uma chave multirregional de criptografia simétrica. Para obter informações detalhadas sobre permissões para o AWS KMS keys, consulte Autenticação e controle de acesso no Guia do Desenvolvedor do AWS Key Management Service .
Antes de criar e usar um token de autenticação hierárquico, você deve criar seu repositório de chaves de ramificação e preenchê-lo com sua primeira chave de ramificação ativa.
- Etapa 1: configurar um novo serviço de armazenamento de chaves
-
O serviço de armazenamento de chaves fornece várias operações, como
CreateKeyStore
eCreateKey
, para ajudar você a montar os pré-requisitos do token de autenticação hierárquico e gerenciar o armazenamento de chaves da ramificação.O exemplo a seguir cria um serviço de armazenamento de chaves. Você deve especificar um nome de tabela do DynamoDB para atuar como o nome do seu armazenamento de chaves de ramificação, um nome lógico para o armazenamento de chaves de ramificação e o ARN da chave KMS que identifica a chave KMS que protegerá suas chaves de ramificação.
O nome do armazenamento lógico de chaves é vinculado criptograficamente a todos os dados armazenados na tabela para simplificar as operações de restauração do DynamoDB. O nome do armazenamento de chaves lógicas pode ser o mesmo nome da tabela do DynamoDB, mas não precisa ser. É altamente recomendável especificar o nome da tabela do DynamoDB como o nome lógico da tabela ao definir a configuração da chave pela primeira vez. Você deve sempre especificar o mesmo nome de tabela lógica. Caso o nome do armazenamento de chaves da ramificação mude após a restauração da tabela do DynamoDB a partir de um backup, o nome do armazenamento lógico de chaves é mapeado para o nome da tabela do DynamoDB que você especifica para garantir que o token de autenticação hierárquico ainda possa acessar o armazenamento de chaves da ramificação.
- Etapa 2: Chamar o
CreateKeyStore
para criar um armazenamento de chaves de ramificação -
A operação a seguir cria o armazenamento de chaves de ramificação que persistirá e protegerá suas chaves de ramificação.
A operação
CreateKeyStore
cria uma tabela do DynamoDB com o nome da tabela que você especificou na Etapa 1 e os valores obrigatórios a seguir.Chave de partição Chave de classificação Tabela base branch-key-id
type
nota
Você pode criar manualmente a tabela do DynamoDB que serve como seu armazenamento de chaves de ramificação em vez de usar a operação.
CreateKeyStore
Se você optar por criar manualmente o armazenamento de chaves de ramificação, deverá especificar os seguintes valores de string para as chaves de partição e classificação:Chave de partição:
branch-key-id
Chave de classificação:
type
- Etapa 3: chamar
CreateKey
para criar uma nova chave de ramificação ativa -
A operação a seguir cria uma nova chave de ramificação ativa usando a chave KMS especificada na Etapa 1 e adiciona a chave de ramificação ativa à tabela do DynamoDB que você criou na Etapa 2.
Ao chamar
CreateKey
, você pode optar por especificar os valores opcionais a seguir.-
branchKeyIdentifier
: define umbranch-key-id
personalizado.Para criar um
branch-key-id
personalizado, você também deve incluir um contexto de criptografia adicional com o parâmetroencryptionContext
. -
encryptionContext
: define um conjunto opcional de pares chave-valor não secretos que fornecem dados autenticados adicionais (AAD) no contexto de criptografia incluído na chamada kms:. GenerateDataKeyWithoutPlaintextEsse contexto de criptografia adicional é exibido com o prefixo
aws-crypto-ec:
.
Primeiro, a operação
CreateKey
gera os valores a seguir.-
Um Identificador Único Universal
(UUID) versão 4 para o branch-key-id
(a menos que você tenha especificado umbranch-key-id
personalizado). -
Um UUID da versão 4 para a versão da chave de ramificação
-
Um
timestamp
no formato de data e hora ISO 8601e em UTC (Tempo Universal Coordenado).
Em seguida, a
CreateKey
operação chama kms: GenerateDataKeyWithoutPlaintext usando a seguinte solicitação.{ "EncryptionContext": { "branch-key-id" : "
branch-key-id
", "type" : "type
", "create-time" : "timestamp
", "logical-key-store-name" : "the logical table name for your branch key store
", "kms-arn" :the KMS key ARN
, "hierarchy-version" : "1", "aws-crypto-ec:contextKey
": "contextValue
" }, "KeyId": "the KMS key ARN you specified in Step 1
", "NumberOfBytes": "32" }nota
A operação
CreateKey
cria uma chave de ramificação ativa e uma chave de beacon, mesmo que você não tenha configurado seu banco de dados para criptografia pesquisável. Ambas as chaves são armazenadas no armazenamento de chaves da ramificação. Para obter mais informações, consulte Usar o token de autenticação hierárquico para criptografia pesquisável.Em seguida, a
CreateKey
operação chama kms: ReEncrypt para criar um registro ativo para a chave de ramificação atualizando o contexto de criptografia.Por último, a
CreateKey
operação chama ddb: TransactWriteItems para escrever um novo item que persistirá com a chave de ramificação na tabela que você criou na Etapa 2. O item tem os seguintes atributos:{ "branch-key-id" :
branch-key-id
, "type" : "branch:ACTIVE", "enc" :the branch key returned by the GenerateDataKeyWithoutPlaintext call
, "version": "branch:version:the branch key version UUID
", "create-time" : "timestamp
", "kms-arn" : "the KMS key ARN you specified in Step 1
", "hierarchy-version" : "1", "aws-crypto-ec:contextKey
": "contextValue
" } -
Criar um token de autenticação hierárquico
Para inicializar o token de autenticação hierárquico, você deve fornecer os seguintes valores:
-
Um nome de armazenamento de chave de ramificação
O nome da tabela do DynamoDB que você criou para servir como seu armazenamento de chaves de ramificação.
-
Um tempo de vida do cache (TTL)
A quantidade de tempo, em segundos, em que uma entrada de materiais de chave de ramificação no cache local pode ser usada antes de expirar. O limite de cache TTL determina a frequência com que o cliente liga AWS KMS para autorizar o uso das chaves de ramificação. Esse valor deve ser maior que zero. Quando o limite de cache TTL expira, a entrada é removida do cache local.
-
Um identificador de chave de ramificação
O
branch-key-id
que identifica a chave de ramificação ativa em seu armazenamento de chaves de ramificação.nota
Para inicializar o token de autenticação hierárquico para uso multilocatário, você deve especificar um fornecedor de ID de chave de ramificação em vez de um
branch-key-id
. Para ter mais informações, consulte Uso do token de autenticação hierárquico com bancos de dados multilocatários. -
(Opcional) Uma lista de Tokens de Concessão
Se você controlar o acesso à chave do KMS no token de autenticação hierárquico com concessões, deverá fornecer todos os tokens de concessão necessários ao inicializar o token de autenticação.
Os exemplos a seguir demonstram como inicializar um chaveiro hierárquico com o AWS Database Encryption SDK for DynamoDB client. O exemplo a seguir especifica um limite de cache TTL de 600 segundos.
Alternar sua chave de ramificação ativa
Só pode haver uma versão ativa para cada chave de ramificação por vez. O token de autenticação hierárquico normalmente usa cada versão ativa da chave de ramificação para atender a várias solicitações. Porém, você controla até que ponto as chaves de ramificação ativas são reutilizadas e determina com que frequência a chave de ramificação ativa é alternada.
As chaves de ramificação não são usadas para criptografar chaves de dados em texto simples. Eles são usados para derivar as chaves de empacotamento exclusivas que criptografam chaves de dados de texto simples. O processo de derivação da chave de empacotamento produz uma chave de empacotamento exclusiva de 32 bytes com 28 bytes de randomização. Isso significa que uma chave de ramificação pode derivar mais de 79 octilhões, ou 296, chaves de empacotamento exclusivas antes que ocorra o desgaste criptográfico. Apesar desse risco de exaustão muito baixo, talvez seja necessário alternar suas chaves de ramificações ativas devido a regras comerciais ou contratuais ou regulamentações governamentais.
A versão ativa da chave de ramificação permanece ativa até que você a alterne. As versões anteriores da chave de ramificação ativa não serão usadas para realizar operações de criptografia e não podem ser usadas para derivar novas chaves de empacotamento. Porém, eles ainda podem ser consultados e fornecer chaves de empacotamento para descriptografar as chaves de dados que eles criptografaram enquanto estavam ativos.
Use a operação VersionKey
do serviço de armazenamento de chaves para alternar sua chave de ramificação ativa. Quando você alterna a chave de ramificação ativa, uma nova chave de ramificação é criada para substituir a versão anterior. O branch-key-id
não muda quando você alterna a chave de ramificação ativa. Você deve especificar branch-key-id
que identificará a chave de ramificação ativa atual quando você chamar VersionKey
.
Uso do token de autenticação hierárquico com bancos de dados multilocatários
É possível usar a hierarquia de chaves estabelecida entre as chaves de ramificação ativas e suas chaves de empacotamento derivadas para oferecer suporte a bancos de dados multilocatários criando uma chave de ramificação para cada locatário em seu banco de dados. O token de autenticação hierárquico então criptografa e assina todos os dados de um determinado locatário com sua chave de ramificação distinta. Isso permite que você armazene dados de vários locatários em um único banco de dados e isole os dados do locatário por chave de ramificação.
Cada locatário tem sua própria chave de ramificação, definida por uma branch-key-id
exclusiva. Só pode haver uma versão ativa para cada branch-key-id
por vez.
Fornecedor de ID de chave de filial
Antes de inicializar seu token de autenticação hierárquico para uso multilocatário, você deve criar uma chave de ramificação para cada locatário e criar um fornecedor de ID de chave de ramificação. O fornecedor da ID da chave da filial usa os campos armazenados no contexto de criptografia para determinar qual chave da filial do inquilino é necessária para descriptografar um registro. Por padrão, somente as chaves de partição e classificação são incluídas no contexto de criptografia. No entanto, você pode usar a ação SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT criptográfica para incluir campos adicionais no contexto de criptografia.
nota
Para usar a ação SIGN_AND_INCLUDE_IN_ENCRYPTION_CONTEXT
criptográfica, você deve usar a versão 3.3 ou posterior do SDK de criptografia 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
.
Você pode usar o fornecedor da ID da chave da filial para criar um nome amigável branch-key-ids
para facilitar o reconhecimento do correto branch-key-id
para um inquilino. Por exemplo, o nome amigável permite que você se refira a uma chave de ramificação como tenant1
em vez de b3f61619-4d35-48ad-a275-050f87e15122
.
Para operações de descriptografia, você pode configurar estaticamente um único token de autenticação hierárquico para restringir a descriptografia a um único locatário ou usar o fornecedor da ID da chave da ramificação para identificar qual locatário é responsável por descriptografar um registro.
Primeiro, siga as etapas 1 e 2 dos procedimentos de pré-requisitos. Em seguida, use os procedimentos a seguir para criar uma chave de ramificação para cada locatário, criar um fornecedor de ID de chave de ramificação e inicializar seu token de autenticação hierárquico para uso multilocatário.
- Etapa 1: Crie uma chave de ramificação para cada locatário em seu banco de dados
-
Chame
CreateKey
para cada locatário em seu banco de dados.A operação a seguir cria duas chaves de ramificação usando a chave KMS que você especificou ao criar seu serviço de armazenamento de chaves e adiciona as chaves de ramificação à tabela do DynamoDB que você criou para servir como seu armazenamento de chaves de ramificação. A mesma chave do KMS deve proteger todas as chaves de ramificação.
- Etapa 2: crie um fornecedor de ID de chave de ramificação
-
O exemplo a seguir cria nomes amigáveis para as duas chaves de ramificação criadas na Etapa 1 e chama
CreateDynamoDbEncryptionBranchKeyIdSupplier
a criação de um fornecedor de ID de chave de filial com o cliente AWS Database Encryption SDK for DynamoDB. - Etapa 3: inicialize seu token de autenticação hierárquico com o fornecedor de ID da chave de ramificação
-
Para inicializar o token de autenticação hierárquico, você deve fornecer os seguintes valores:
-
Um nome de armazenamento de chave de ramificação
-
Um fornecedor de ID de chave de ramificação
-
(Opcional) Um cache
Se você quiser personalizar o tipo de cache ou o número de entradas de materiais de chave de ramificação que podem ser armazenadas no cache local, especifique o tipo de cache e a capacidade de entrada ao inicializar o token de autenticação.
O tipo de cache define o modelo de segmentação. O chaveiro hierárquico fornece três tipos de cache que oferecem suporte a bancos de dados multilocatários: Padrão,,. MultiThreaded StormTracking
Se você não especificar um cache, o token de autenticação hierárquico usará automaticamente o tipo de cache Default e definirá a capacidade de entrada como 1000.
-
(Opcional) Uma lista de Tokens de Concessão
Se você controlar o acesso à chave do KMS no token de autenticação hierárquico com concessões, deverá fornecer todos os tokens de concessão necessários ao inicializar o token de autenticação.
Os exemplos a seguir inicializam um chaveiro hierárquico com o fornecedor de ID de chave de filial criado na Etapa 2, um limite de cache TLL de 600 segundos e um tamanho máximo de cache de 1000. Este exemplo inicializa um chaveiro hierárquico com o cliente AWS Database Encryption SDK for DynamoDB.
-
Uso do token de autenticação hierárquico para criptografia pesquisável
A criptografia pesquisável permite pesquisar registros criptografados sem descriptografar todo o banco de dados. Isso é feito indexando o valor de texto simples de um campo criptografado com um beacon. Para implementar a criptografia pesquisável, você deve usar um token de autenticação hierárquico.
A operação CreateKey
de armazenamento de chaves gera uma chave de ramificação e uma chave de beacon. A chave de ramificação é usada em operações de criptografia e descriptografia de registros. A chave do beacon é usada para gerar beacons.
A chave de ramificação e a chave de beacon são protegidas pelo mesmo AWS KMS key que você especifica ao criar seu serviço de armazenamento de chaves. Depois que a CreateKey
operação chama AWS KMS para gerar a chave de ramificação, ela chama kms: GenerateDataKeyWithoutPlaintext uma segunda vez para gerar a chave de beacon usando a seguinte solicitação.
{ "EncryptionContext": { "branch-key-id" : "
branch-key-id
", "type" :type
, "create-time" : "timestamp
", "logical-key-store-name" : "the logical table name for your branch key store
", "kms-arn" :the KMS key ARN
, "hierarchy-version" : 1 }, "KeyId": "the KMS key ARN
", "NumberOfBytes": "32" }
Depois de gerar as duas chaves, a CreateKey
operação chama ddb: TransactWriteItems para escrever dois novos itens que manterão a chave de ramificação e a chave de beacon em seu armazenamento de chaves de ramificação.
Quando você configura um beacon padrão, o SDK do AWS Database Encryption consulta o repositório de chaves da ramificação em busca da chave do beacon. Em seguida, ele usa uma função de derivação de extract-and-expand chave baseada em HMAC (HKDF
Ao contrário das chaves de ramificação, há apenas uma versão de chave de beacon por branch-key-id
em um armazenamento de chaves de ramificação. A chave do beacon nunca é alternada.
Definição da fonte de chave de beacon
Ao definir a versão do beacon para seus beacons padrão e compostos, você deve identificar a chave do beacon e definir um limite de tempo de vida do cache (TTL) para os materiais da chave do beacon. Os materiais das chaves do beacon são armazenados em um cache local separado das chaves da ramificação. O trecho a seguir demonstra como definir o keySource
para um banco de dados de locatário único. Identifique sua chave de beacon pelo branch-key-id
que ela está associada.
- Definição da fonte do beacon em um banco de dados multilocatário
-
Se você tiver um banco de dados multilocatário, deverá especificar os valores a seguir ao configurar o
keySource
.-
keyFieldName
Define o nome do campo que armazena o
branch-key-id
associado à chave de beacon usada para gerar beacons para um determinado locatário. OkeyFieldName
pode ser qualquer string, mas deve ser exclusiva para todos os outros campos do banco de dados. Quando você grava novos registros em seu banco de dados, a chavebranch-key-id
que identifica a chave de beacon usada para gerar quaisquer beacons para esse registro é armazenada nesse campo. Você deve incluir esse campo em suas consultas de beacon e identificar os materiais de chave de beacon apropriados necessários para recalcular o beacon. Para ter mais informações, consulte Consultar beacons em um banco de dados multilocatário. -
cacheTTL
A quantidade de tempo, em segundos, em que uma entrada de materiais de chave de beacon no cache local pode ser usada antes de expirar. Esse valor deve ser maior que zero. Quando o limite de cache TTL expira, a entrada é removida do cache local.
-
(Opcional) Um cache
Se você quiser personalizar o tipo de cache ou o número de entradas de materiais de chave de ramificação que podem ser armazenadas no cache local, especifique o tipo de cache e a capacidade de entrada ao inicializar o token de autenticação.
O tipo de cache define o modelo de segmentação. O chaveiro hierárquico fornece três tipos de cache que oferecem suporte a bancos de dados multilocatários: Padrão,,. MultiThreaded StormTracking
Se você não especificar um cache, o token de autenticação hierárquico usará automaticamente o tipo de cache Default e definirá a capacidade de entrada como 1000.
O exemplo a seguir inicializa um chaveiro hierárquico com o fornecedor de ID de chave de filial criado na Etapa 2, um limite de cache TLL de 600 segundos e uma capacidade de entrada de 1000.
-