Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ / /

KeyVault.getKeys()

Nesta página

  • Comportamento
  • Exemplo
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.

Os métodos de criptografia de nível de campo do lado do cliente mongo exigem uma conexão de banco de dados de dados com a criptografia de nível de campo do lado do cliente ativada. Se a conexão atual do banco de dados de dados não tiver sido iniciada com a criptografia em nível de campo do lado do cliente ativada, faça o seguinte:

O exemplo a seguir usa um KMS gerenciado localmente para a configuração de criptografia no nível do campo do lado do cliente.

A configuração da criptografia em nível de campo do lado do cliente para uma chave managed localmente requer a especificação de uma cadeia de 96 bytes codificada em base64 sem quebras de linha. A operação a seguir gera uma chave que atende aos requisitos declarados e a carrega no shell mongo :

TEST_LOCAL_KEY=$(echo "$(head -c 96 /dev/urandom | base64 | tr -d '\n')")
mongosh --nodb --shell --eval "var TEST_LOCAL_KEY='$TEST_LOCAL_KEY'"

Crie o objeto de criptografia no nível do campo do lado do cliente usando a string de chave local gerada:

var ClientSideFieldLevelEncryptionOptions = {
"keyVaultNamespace" : "encryption.__dataKeys",
"kmsProviders" : {
"local" : {
"key" : BinData(0, TEST_LOCAL_KEY)
}
}
}

Use o construtor Mongo() para criar uma conexão de reconhecimento de data center com as opções de criptografia no nível do campo do lado do cliente. 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",
ClientSideFieldLevelEncryptionOptions
)

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"
]
}

Voltar

KeyVault.getKey