Menu Docs
Página inicial do Docs
/ /

KeyVault.getKey() (método mongosh)

KeyVault.getKey(UUID)

Obtém uma chave de criptografia de dados com o UUID especificado. O diretório de dados deve existir no cofre de chave associado à conexão do reconhecimento de data center.

Retorna:Documento que representa uma chave de encriptação de dados correspondente.

Esse comando está disponível em implantações hospedadas nos seguintes ambientes:

  • MongoDB Atlas: o serviço totalmente gerenciado para implantações do MongoDB na nuvem

  • MongoDB Enterprise: a versão autogerenciada e baseada em assinatura do MongoDB

  • MongoDB Community: uma versão com código disponível, de uso gratuito e autogerenciada do MongoDB

getKey() tem a seguinte sintaxe:

keyVault = db.getMongo().getKeyVault()
keyVault.getKey(UUID("<UUID String>"))

O UUID é um objeto BSON binary data com subtipo 4.

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:

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

1

Inicie o cliente mongosh .

mongosh --nodb
2

Para configurar a criptografia no nível do campo do lado do cliente para uma chave managed localmente, gere uma cadeia de 96 bytes codificada em base64 sem quebras de linha.

const TEST_LOCAL_KEY = require("crypto").randomBytes(96).toString("base64")
3

Crie as opções 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, TEST_LOCAL_KEY)
}
}
}
4

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 KeyVault.getKey() para recuperar uma chave de encriptação de dados usando seu UUID:

keyVault = encryptedClient.getKeyVault()
keyVault.getKey(UUID("b4b41b33-5c97-412e-a02b-743498346079"))

getKey() retorna a chave de criptografia de dados, com saída semelhante ao seguinte:

{
"_id" : UUID("b4b41b33-5c97-412e-a02b-743498346079"),
"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" : Long(0),
"masterKey" : {
"provider" : "local"
},
"keyAltNames" : [
"alpha"
]
}

Voltar

KeyVault.deleteKey

Nesta página