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

KeyVault.removeKeyAlternarName()

Nesta página

  • Comportamento
  • Exemplo
KeyVault.removeKeyAlternateName(UUID, keyAltName)

Remove o keyAltName especificado do diretório 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.

removeKeyAlternateName() tem a seguinte sintaxe:

keyVault = db.getMongo().getKeyVault()
keyVault.removeKeyAlternateName(
UUID("<UUID string>"),
"keyAltName"
)
Retorna:A chave de criptografia de dados antes de atualizar o keyAltName.

Retorna null se nenhum diretório de dados tiver o UUID() especificado.

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() do mongosh para estabelecer uma conexão com as opções necessárias de criptografia de nível de campo no lado do cliente. O método Mongo() é compatível com os seguintes provedores de serviço de gerenciamento de chaves (KMS) para o 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.

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.removeKeyAlternateName() com cada provedor deKMS compatível, consulte Gerenciamento de chaves de criptografia.

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.removeKeyAlternateName() para remover o nome alternativo da chave especificada da chave de criptografia de dados com UUID correspondente:

keyVault = encryptedClient.getKeyVault()
keyVault.removeKeyAlternateName(UUID("b4b41b33-5c97-412e-a02b-743498346079"),"Other-Data-Encryption-Key")

Se for bem-sucedido, removeKeyAlternateName() retornará a chave de criptografia de dados antes de atualizar o keyAltName.

{
"_id" : UUID("b4b41b33-5c97-412e-a02b-743498346079"),
"keyMaterial" : BinData(0,"PXRsLOAYxhzTS/mFQAI8486da7BwZgqA91UI7NKz/T/AjB0uJZxTvhvmQQsKbCJYsWVS/cp5Rqy/FUX2zZwxJOJmI3rosPhzV0OI5y1cuXhAlLWlj03CnTcOSRzE/YIrsCjMB0/NyiZ7MRWUYzLAEQnE30d947XCiiHIb8a0kt2SD0so8vZvSuP2n0Vtz4NYqnzF0CkhZSWFa2e2yA=="),
"creationDate" : ISODate("2019-08-12T21:21:30.569Z"),
"updateDate" : ISODate("2019-08-12T21:21:30.569Z"),
"status" : 0,
"version" : NumberLong(0),
"masterKey" : {
"provider" : "local"
},
"keyAltNames" : [
"ssn-encryption-key"
]
}
← KeyVault.addKeyAlternarName()