- Reference >
mongoshMethods >- Client-Side Field Level Encryption Methods >
- KeyVault.getKey()
KeyVault.getKey()¶
New in version 4.2.
-
KeyVault.getKey(UUID)¶ Gets a data encryption key with the specified
UUID. The data encryption key must exist in the key vault associated to the database connection.getKey()has the following syntax:The UUID is a BSON
binary dataobject with subtype4.Returns: Document representing a matching data encryption key. Returns nothing if no key in the key vault has the specified
UUID.
Behavior¶
Requires Configuring Client-Side Field Level Encryption on Database Connection¶
The mongo client-side field level encryption methods
require a database connection with client-side field level encryption
enabled. If the current database connection was not initiated with
client-side field level encryption enabled, either:
Use the
Mongo()constructor from themongoshell to establish a connection with the required client-side field level encryption options. TheMongo()method supports the following Key Management Service (KMS) providers for Customer Master Key (CMK) management:or
Use the
mongoshell command line options to establish a connection with the required options. The command line options only support the Amazon Web Services KMS provider for CMK management.
Example¶
The following example uses a locally managed KMS for the client-side field level encryption configuration.
Configuring client-side field level encryption for a locally
managed key requires specifying a base64-encoded 96-byte
string with no line breaks. The following operation generates
a key that meets the stated requirements and loads it into
the mongo shell:
Create the client-side field level encryption object using the generated local key string:
Use the Mongo() constructor to create a database connection
with the client-side field level encryption options. Replace the
mongodb://myMongo.example.net URI with the connection string
URI of the target cluster.
Retrieve the keyVault object and
use the KeyVault.getKey() to retrieve
a data encryption key using its UUID:
getKey() returns the data encryption key, with
output similar to the following: