- Reference >
mongosh
Methods >- Client-Side Field Level Encryption Methods >
- KeyVault.getKeys()
KeyVault.getKeys()¶
New in version 4.2.
-
KeyVault.
getKeys
()¶ getKeys()
returns all data encryption keys stored in the key vault associated to the database connection.getKeys()
has the following syntax:Returns: Returns all data encryption keys associated to the key vault. Returns nothing if the key vault is empty.
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 themongo
shell 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
mongo
shell 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.getKeys()
method to retrieve all data encryption keys
in the key vault:
getKeys()
returns all data encryption keys in the
key vault, with output similar to the following: