Docs Menu
Docs Home
/ /

KeyVault.getKeyByAltName() (método mongosh)

KeyVault.getKeyByAltName(keyAltName)

Obtiene todas las claves de cifrado de datos con el keyAltName especificado.

Devuelve:Documento que representa una clave de cifrado de datos coincidente.

Este comando está disponible en implementaciones alojadas en los siguientes entornos:

  • MongoDB Atlas: El servicio totalmente gestionado para implementaciones de MongoDB en la nube

  • MongoDB Enterprise: La versión basada en suscripción y autogestionada de MongoDB

  • MongoDB Community: La versión de MongoDB con código fuente disponible, de uso gratuito y autogestionada.

getKeyByAltName() tiene la siguiente sintaxis:

keyVault = db.getMongo().getKeyVault()
keyVault.getKeyByAltName("keyAltName")

Los métodos de cifrado de campo del lado del cliente requieren una conexión a la base de datos con el cifrado de campo del lado del cliente habilitado. Si la conexión actual a la base de datos no se inició con el cifrado de campo del lado del cliente habilitado, puede ocurrir lo mongosh siguiente:

El siguiente ejemplo utiliza un KMS administrado localmente para la configuración de cifrado a nivel de campo del lado del cliente.

1

Inicie el cliente mongosh.

mongosh --nodb
2

Para configurar el cifrado a nivel de campo del lado del cliente para una clave administrada localmente, genere una cadena de 96bytes codificada en base64sin saltos de línea.

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

Cree las opciones de cifrado a nivel de campo del lado del cliente utilizando la cadena de clave local generada:

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

Utilice el constructor con las opciones de cifrado de campo del lado del cliente configuradas para crear una conexión a la base de datos. Reemplace Mongo() el mongodb://myMongo.example.net URI por el URI de la cadena de conexión del clúster de destino.

encryptedClient = Mongo(
"mongodb://myMongo.example.net:27017/?replSetName=myMongo",
autoEncryptionOpts
)

Recupera el objeto KeyVault y utiliza el método KeyVault.getKeyByAltName() para recuperar la llave de cifrado de datos cuyo keyAltNames arreglo incluye el nombre alternativo de clave especificado:

keyVault.getKeyByAltName("data-encryption-key")

getKeyByAltName() devuelve la siguiente clave de cifrado de datos:

{
"_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" : Long(0),
"masterKey" : {
"provider" : "local"
},
"keyAltNames" : [
"data-encryption-key"
]
}

Volver

KeyVault.getKeys

En esta página