On this page本页内容
New in version 4.2.版本4.2中的新功能。
KeyVault.
createKey
(keyManagementService, customerMasterKey[, "keyAltName"])¶Adds a data encryption key to the key vault associated to the database connection. Client-side field level encryption uses data encryption keys for supporting encryption and decryption of field values.
createKey()
has the following syntax:语法如下所示:
keyManagementService |
string | Required The Key Managmenet Service (KMS) to use for retrieving the Customer Master Key (CMK). Specify Specify If the |
customerMasterKey |
string | The identifier for the Customer Master Key (CMK) to use for encrypting the data encryption key. Required if Specify the full Amazon Resource Name (ARN) of the master key. Changed in version 4.2.3:This parameter has no effect if |
keyAltName |
array of strings | Optional The alternative name for the data encryption key. Use The |
returns: | The UUID unique identifier of the created data encryption key. |
---|
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:
Mongo()
constructor from the mongo
shell 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
mongo
shell command line options to establish a connection with the required options. The command line options only support the AWS KMS provider for CMK management.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 Create a data encryption key.
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.createKey()
method to create a new data encryption key using the locally managed key:
If successful, createKey()
returns the UUID
of the new data encryption key. To retrieve the new data encryption key document from the key vault, either:
getKey()
to retrieve the created key by UUID
.
-or-
getKeyByAltName()
to retrieve the key by its alternate name.