KeyVault.getKeys()
Nesta página
KeyVault.getKeys()
getKeys()
Retorna todas as chaves de criptografia de dados armazenadas no cofre de chaves associado à conexão do banco de dados.getKeys()
tem a seguinte sintaxe:keyVault = db.getMongo().getKeyVault() keyVault.getKeys() Retorna: Retorna todas as chaves de criptografia de dados associadas ao cofre de chaves. Não retorna nada se o cofre de chaves estiver vazio.
Comportamento
Requer a configuração da criptografia no nível do campo do lado do cliente na conexão do reconhecimento de data center
Os métodos de criptografia de nível de campo do lado do cliente mongosh
exigem uma conexão de banco de dados com a criptografia de nível de campo do lado do cliente ativada. Se a conexão atual do banco de dados não tiver sido iniciada com a criptografia em nível de campo do lado do cliente ativada, faça o seguinte:
Use o construtor
Mongo()
domongosh
para estabelecer uma conexão com as opções necessárias de criptografia de nível de campo no lado do cliente . O métodoMongo()
suporta os seguintes fornecedores de KMS (KMS) para gerenciamento da chave mestra do cliente (CMK):ou
Utilize as
mongosh
opções da linha de comando para estabelecer uma conexão com as opções exigidas. As opções de linha de comando são compatíveis apenas com o provedor Amazon Web Services KMS para gerenciamento da chave mestra do cliente.
Exemplo
O exemplo a seguir usa um KMS gerenciado localmente para a configuração de criptografia no nível do campo do lado do cliente.
Para configurar a criptografia no nível do campo do lado do cliente para uma chave gerenciada localmente:
gerar uma string de 96 bytes codificada em base 64sem quebras de linha
use
mongosh
para carregar a chave
export TEST_LOCAL_KEY=$(echo "$(head -c 96 /dev/urandom | base64 | tr -d '\n')") mongosh --nodb
Crie o objeto de criptografia no nível do campo do lado do cliente usando a string de chave local gerada:
var autoEncryptionOpts = { "keyVaultNamespace" : "encryption.__dataKeys", "kmsProviders" : { "local" : { "key" : BinData(0, process.env["TEST_LOCAL_KEY"]) } } }
Use o construtor Mongo()
com as opções de criptografia de nível de campo do lado do cliente configuradas para criar uma conexão com o reconhecimento de data center. Substitua o URI mongodb://myMongo.example.net
pelo URI da string de conexão do cluster de destino.
encryptedClient = Mongo( "mongodb://myMongo.example.net:27017/?replSetName=myMongo", autoEncryptionOpts )
Recupere o objeto KeyVault
e use o método KeyVault.getKeys()
para recuperar todas as chaves de criptografia de dados no cofre de chaves:
keyVault.getKeys()
getKeys()
retorna todo o diretório de dados no cofre de chaves, com saída semelhante a esta:
{ "_id" : UUID("b4b41b33-5c97-412e-a02b-743498346079"), "keyMaterial" : BinData(0,"PXRsLOAYxhzTS/mFQAI8486da7BwZgqA91UI7NKz/T/AjB0uJZxTvhvmQQsKbCJYsWVS/cp5Rqy/FUX2zZwxJOJmI3rosPhzV0OI5y1cuXhAlLWlj03CnTcOSRzE/YIrsCjMB0/NyiZ7MRWUYzLAEQnE30d947XCiiHIb8a0kt2SD0so8vZvSuP2n0Vtz4NYqnzF0CkhZSWFa2e2yA=="), "creationDate" : ISODate("2021-03-15T12:21:13.123Z"), "updateDate" : ISODate("2021-03-15T12:21:13.123Z"), "status" : 0, "version" : NumberLong(0), "masterKey" : { "provider" : "local" }, "keyAltNames" : [ "alpha" ] } { "_id" : UUID("f1add015-c7ab-49a2-a071-50b0ca0a8fbc"), "keyMaterial" : BinData(0,"E+0jZKzA4YuE1lGmSVIy2mivqH4JxFo0yFATdxYX/s0YtMFsgVXyu7Bbn4IQ2gn7F/9JAPJFOxdQc5lN3AR+oX33ewVZsd63f3DN1zzcukqdR2Y+EeO7ekRxyRjdzMaNNrBNIv9Gn5LEJgWPSYkG8VczF7cNZnc1YmnR0tuDPNYfm0J7dCZuZUNWW3FCGRcdFx6AlXiCtXKNR97hJ216pQ=="), "creationDate" : ISODate("2021-03-16T18:22:43.733Z"), "updateDate" : ISODate("2021-03-16T18:22:43.733Z"), "status" : 0, "version" : NumberLong(0), "masterKey" : { "provider" : "local" }, "keyAltNames" : [ "baker" ] }