Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ / /

KeyVault.deleteKey()

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.

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

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

deleteKey() tem a seguinte sintaxe:

keyVault = db.getMongo().getKeyVault()
keyVault.deleteKey(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 mongo exigem uma conexão de reconhecimento de data center com a criptografia de nível de campo do lado do cliente habilitada. Se o reconhecimento de data center atual não foi iniciado com a criptografia de nível de campo do lado do cliente habilitada:

O exemplo a seguir destina-se a uma avaliação rápida da criptografia em nível de campo do lado do cliente . Para obter exemplos específicos de uso de KeyVault.deleteKey() com cada provedor de KMS compatível, consulte Remover uma chave de criptografia de dados.

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.deleteKey() para excluir a chave de criptografia 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

Voltar

KeyVault.createKey

Nesta página