Menu Docs

Página inicial do DocsDesenvolver aplicaçõesManual do MongoDB

KeyVault.deleteKey()

Nesta página

  • Comportamento
  • Exemplo

Novidades na versão 4.2.

KeyVault.deleteKey(UUID)

Exclui uma chave de encriptação de dados com o UUID especificado do cofre de chave associado à conexão do banco de dados.

deleteKey() tem a seguinte sintaxe:

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

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

Retorna:Um documento que indica o número de chaves excluídas.

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 destina-se a uma avaliação rápida da criptografia em nível de campo do lado do cliente. Para exemplos específicos de utilizar o KeyVault.deleteKey() com cada fornecedor de KMS suportado, consulte Excluir uma Chave de criptografia de dados.

Para configurar a criptografia em nível de campo do lado do cliente para uma chave gerenciada localmente:

  • gerar uma string 96bytes codificada base64sem 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.deleteKey() para excluir a chave de encriptação de dados com UUID correspondente:

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

Se for bem-sucedido, deleteKey() retornará uma saída semelhante a esta:

{ "acknowledged" : true, "deletedCount" : 1 }

Dica

Veja também:

← KeyVault.createKey()