- Reference >
- mongoShell Methods >
- Client-Side Field Level Encryption Methods >
- KeyVault.addKeyAlternateName()
KeyVault.addKeyAlternateName()¶
New in version 4.2.
- 
KeyVault.addKeyAlternateName(UUID, keyAltName)¶
- Adds the - keyAltNameto the- keyAltNamesarray of the data encryption key with- UUID.- keyAltNamemust be unique among all keys in the key vault. The- getKeyVault()method automatically creates a unique index on the- keyAltNamesfield with a partial index filter for only documents where- keyAltNamesexists.- addKeyAlternateName()has the following syntax:
| returns: | Returns the previous version of the data encryption key document. Returns  | 
|---|
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 the- mongoshell to establish a connection with the required client-side field level encryption options. The- Mongo()method supports both Amazon Web Services and Local 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 AWS KMS provider for CMK management.
Example¶
The following example is intended for rapid evaluation of client-side field level encryption. For more complete examples appropriate for development and production environments, see Manage a data encryption key’s alternate name.
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.addKeyAlternateName() method to add a new key
alternate name to the data encryption key with matching UUID. The
specified key alternate name must be unique:
If successful, addKeyAlternateName() returns the
previous version of data encryption key document:
To view the current version of the data encryption key document, use
KeyVault.getKey() specifying the _id of the returned
document or KeyVault.getKeyByAltName() specifying one of the
keyAltNames.