@@ -12,7 +12,7 @@ Client-Side Field Level Encryption
12
12
13
13
.. versionadded:: 4.2
14
14
15
- The :ref:`official MongoDB 4.2- compatible drivers
15
+ The :ref:`official MongoDB 4.2+ compatible drivers
16
16
<field-level-encryption-drivers>` provide a client-side field level
17
17
encryption framework. Applications can encrypt fields in documents
18
18
*prior* to transmitting data over the wire to the server. Only
@@ -82,24 +82,24 @@ and ``phone``. Encrypted fields are stored as
82
82
"ssn" : BinData(6,"AaloEw285E3AnfjP+r8ph2YCvMI1+rWzpZK97tV6iz0jx")
83
83
}
84
84
85
- For a complete list of official 4.2- compatible drivers with support
85
+ For a complete list of official 4.2+ compatible drivers with support
86
86
for client-side field level encryption, see
87
87
:ref:`field-level-encryption-drivers`.
88
88
89
89
For an end-to-end procedure for configuring field level encryption using
90
- select MongoDB 4.2- compatible drivers, see the
91
- :ecosystem :`Client Side Field Level Encryption Guide
92
- </use-cases /client-side-field-level-encryption-guide/ >`.
90
+ select MongoDB 4.2+ compatible drivers, see the
91
+ :driver :`Client Side Field Level Encryption Guide
92
+ </security /client-side-field-level-encryption-guide>`.
93
93
94
94
Supported Encryption Methods
95
95
----------------------------
96
96
97
97
MongoDB supports two methods of client-side field level encryption using
98
- the official MongoDB 4.2- compatible drivers:
98
+ the official MongoDB 4.2+ compatible drivers:
99
99
100
100
Explicit (manual) encryption of fields
101
- Official :ref:`MongoDB 4.2- compatible drivers
102
- <field-level-encryption-drivers>` and the MongoDB 4.2
101
+ Official :ref:`MongoDB 4.2+ compatible drivers
102
+ <field-level-encryption-drivers>` and the MongoDB 4.2 or later
103
103
:binary:`~bin.mongo` shell support explicitly encrypting or decrypting
104
104
fields with a specific data encryption key and encryption algorithm.
105
105
@@ -115,8 +115,8 @@ Explicit (manual) encryption of fields
115
115
Automatic encryption of fields
116
116
.. include:: /includes/extracts/csfle-enterprise-atlas-only.rst
117
117
118
- Official :ref:`MongoDB 4.2- compatible drivers
119
- <field-level-encryption-drivers>` and the MongoDB 4.2
118
+ Official :ref:`MongoDB 4.2+ compatible drivers
119
+ <field-level-encryption-drivers>` and the MongoDB 4.2 or later
120
120
:binary:`~bin.mongo` shell support automatically encrypting fields in
121
121
read and write operations.
122
122
@@ -133,10 +133,11 @@ Automatic encryption of fields
133
133
For more information, see
134
134
:doc:`/core/security-automatic-client-side-encryption`.
135
135
136
- MongoDB 4.2-compatible drivers and the 4.2 :binary:`~bin.mongo` shell
137
- automatically decrypt :bsontype:`Binary` subtype 6 objects created using
138
- client-side field level encryption. For more information on automatic
139
- decryption, see :ref:`field-level-encryption-automatic-decryption`.
136
+ MongoDB 4.2+ compatible drivers and the 4.2 or later
137
+ :binary:`~bin.mongo` shell automatically decrypt :bsontype:`Binary`
138
+ subtype 6 objects created using client-side field level encryption. For
139
+ more information on automatic decryption, see
140
+ :ref:`field-level-encryption-automatic-decryption`.
140
141
141
142
.. important::
142
143
@@ -158,11 +159,11 @@ driver and each encryption component:
158
159
159
160
- ``libmongocrypt`` is the `Apache-licensed open-source
160
161
<https://github.com/mongodb/libmongocrypt>`__ core cryptography
161
- library used by the official MongoDB 4.2- compatible drivers and the
162
- :binary:`~bin.mongo` shell for powering client-side field level
163
- encryption. Some drivers may require specific integration steps to
164
- install or link the library. Defer to driver documentation for more
165
- complete information.
162
+ library used by the official MongoDB 4.2+ compatible drivers and the
163
+ MongoDB 4.2 or later :binary:`~bin.mongo` shell for powering
164
+ client-side field level encryption. Some drivers may require specific
165
+ integration steps to install or link the library. Defer to driver
166
+ documentation for more complete information.
166
167
167
168
- :ref:`mongocryptd` supports :ref:`field-level-encryption-automatic`
168
169
and is only available with MongoDB Enterprise. ``mongocryptd`` does
@@ -251,9 +252,10 @@ Automatic Field Decryption
251
252
252
253
The :bsontype:`BinData <Binary>` blob metadata includes the data
253
254
encryption key ``_id`` and encryption algorithm used to encrypt the
254
- binary data. The 4.2-compatible drivers and 4.2 :binary:`~bin.mongo`
255
- shell use this metadata to attempt automatic decryption ``BinData`` type
256
- 6 values. The automatic decryption process works as follows:
255
+ binary data. The 4.2+ compatible drivers and 4.2 or later
256
+ :binary:`~bin.mongo` shell use this metadata to attempt automatic
257
+ decryption of :bsontype:`BinData <Binary>` subtype 6 objects. The
258
+ automatic decryption process works as follows:
257
259
258
260
1. Check the :bsontype:`BinData <Binary>` blob metadata for the
259
261
data encryption key and encryption algorithm used to encrypt the
@@ -294,9 +296,10 @@ client construction method.
294
296
Enforce Field Level Encryption Schema
295
297
-------------------------------------
296
298
297
- The MongoDB 4.2 server supports using :doc:`schema validation
298
- </core/schema-validation>` to enforce encryption of specific fields in a
299
- collection. Use the :ref:`automatic encryption rule keywords
299
+ Starting with MongoDB 4.2, the server supports using
300
+ :doc:`schema validation </core/schema-validation>` to enforce encryption
301
+ of specific fields in a collection. Use the
302
+ :ref:`automatic encryption rule keywords
300
303
<field-level-encryption-json-schema>` with the
301
304
:query:`$jsonSchema` validation object to indicate which fields require
302
305
encryption. The server rejects any write operations to that collection
@@ -359,7 +362,7 @@ on the :ref:`database connection configuration
359
362
.. container::
360
363
361
364
*Automatic client-side field level encryption is available with
362
- MongoDB 4.2 Enterprise only.*
365
+ MongoDB Enterprise 4.2 or later only.*
363
366
364
367
- If the connection :ref:`ClientSideFieldLevelEncryptionOptions`
365
368
``schemaMap`` object contains a key for the specified collection, the
@@ -403,7 +406,7 @@ Driver Compatibility Table
403
406
--------------------------
404
407
405
408
MongoDB 4.2 client-side field level encryption is only available with
406
- the following official 4.2- compatible driver versions:
409
+ the following official 4.2+ compatible driver versions:
407
410
408
411
.. list-table::
409
412
:widths: 20 20 60
0 commit comments