Skip to content

Commit 40b627c

Browse files
committed
DOCSP-13723,DOCS-14308 clarify csfle support and mongocrpytd startup
1 parent 08e4281 commit 40b627c

16 files changed

+155
-135
lines changed

source/core/security-automatic-client-side-encryption.txt

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@ Automatic Client-Side Field Level Encryption
1717
Overview
1818
--------
1919

20-
Official MongoDB 4.2-compatible drivers and the MongoDB 4.2
20+
Official MongoDB 4.2+ compatible drivers and the MongoDB 4.2 or later
2121
:binary:`~bin.mongo` shell support automatically encrypting fields in
2222
read and write operations. For a complete list of official
23-
4.2-compatible drivers with support for client-side field level
23+
4.2+ compatible drivers with support for client-side field level
2424
encryption, see :ref:`field-level-encryption-drivers`.
2525

2626
Applications must create a database connection object (e.g.
@@ -33,10 +33,11 @@ code associated with constructing the read/write operation. See
3333
:ref:`field-level-encryption-json-schema` for complete documentation on
3434
automatic encryption rules.
3535

36-
The official MongoDB 4.2-compatible drivers and 4.2 :binary:`~bin.mongo`
37-
shell use the Enterprise-only :ref:`field-level-encryption-mongocryptd`
38-
process to parse the automatic encryption rules and apply the encryption
39-
rules when reading or writing documents:
36+
The official MongoDB 4.2+ compatible drivers and 4.2 or later
37+
:binary:`~bin.mongo` shell use the Enterprise-only
38+
:ref:`field-level-encryption-mongocryptd` process to parse the automatic
39+
encryption rules and apply the encryption rules when reading or writing
40+
documents:
4041

4142
- For write operations, the driver/shell encrypts field values *prior*
4243
to writing to the MongoDB database.
@@ -53,9 +54,9 @@ rules when reading or writing documents:
5354
Enabling Automatic Client-Side Field Level Encryption
5455
-----------------------------------------------------
5556

56-
Each official MongoDB 4.2-compatible driver introduces new functionality
57-
for supporting automatic encryption and data encryption key management.
58-
Defer to your preferred :ref:`driver's documentation
57+
Each official MongoDB 4.2+ compatible driver introduces new
58+
functionality for supporting automatic encryption and data encryption
59+
key management. Defer to your preferred :ref:`driver's documentation
5960
<field-level-encryption-drivers>` for language-specific instructions on
6061
implementing automatic client-side field level encryption.
6162

@@ -68,9 +69,9 @@ For a complete example, see
6869
Automatic client-side field level encryption requires access to the
6970
:ref:`mongocryptd` process on the client host machine. See
7071
:ref:`mongocryptd` for complete documentation on installation. The
71-
official MongoDB 4.2-compatible drivers have additional options for
72-
managing the ``mongocryptd`` process. Generally, the 4.2-compatible
73-
drivers and 4.2 :binary:`~bin.mongo` shell can access the
72+
official MongoDB 4.2+ compatible drivers have additional options for
73+
managing the ``mongocryptd`` process. Generally, the 4.2+ compatible
74+
drivers and 4.2 or later :binary:`~bin.mongo` shell can access the
7475
``mongocryptd`` process if it is in the system ``PATH``.
7576

7677
Applications must specify the following components when instantiating
@@ -87,9 +88,9 @@ encryption:
8788
specified CMK *prior* to storing them in the key vault, leaving only
8889
metadata unencrypted.
8990

90-
4.2-compatible drivers and the 4.2 :binary:`~bin.mongo` shell need
91-
access to the KMS to encrypt and decrypt protected fields *or* to
92-
create new data encryption keys.
91+
4.2+ compatible drivers and the 4.2 or later :binary:`~bin.mongo`
92+
shell need access to the KMS to encrypt and decrypt protected fields
93+
*or* to create new data encryption keys.
9394

9495
- Per-field automatic encryption rules using
9596
:ref:`JSON schema syntax <field-level-encryption-json-schema>`.
@@ -99,9 +100,10 @@ encryption:
99100
Server-Side Field Level Encryption Enforcement
100101
----------------------------------------------
101102

102-
The MongoDB 4.2 server supports using :doc:`schema validation
103-
</core/schema-validation>` to enforce encryption of specific fields in a
104-
collection. Clients performing :ref:`automatic client-side field level
103+
Starting in MongoDB 4.2, the server supports using
104+
:doc:`schema validation </core/schema-validation>` to enforce encryption
105+
of specific fields in a collection. Clients performing
106+
:ref:`automatic client-side field level
105107
encryption <field-level-encryption-json-schema>` have specific behavior
106108
depending on the :ref:`database connection configuration
107109
<mongo-connection-automatic-client-side-encryption-enabled>`:

source/core/security-client-side-encryption.txt

Lines changed: 30 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Client-Side Field Level Encryption
1212

1313
.. versionadded:: 4.2
1414

15-
The :ref:`official MongoDB 4.2-compatible drivers
15+
The :ref:`official MongoDB 4.2+ compatible drivers
1616
<field-level-encryption-drivers>` provide a client-side field level
1717
encryption framework. Applications can encrypt fields in documents
1818
*prior* to transmitting data over the wire to the server. Only
@@ -82,24 +82,24 @@ and ``phone``. Encrypted fields are stored as
8282
"ssn" : BinData(6,"AaloEw285E3AnfjP+r8ph2YCvMI1+rWzpZK97tV6iz0jx")
8383
}
8484

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
8686
for client-side field level encryption, see
8787
:ref:`field-level-encryption-drivers`.
8888

8989
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>`.
9393

9494
Supported Encryption Methods
9595
----------------------------
9696

9797
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:
9999

100100
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
103103
:binary:`~bin.mongo` shell support explicitly encrypting or decrypting
104104
fields with a specific data encryption key and encryption algorithm.
105105

@@ -115,8 +115,8 @@ Explicit (manual) encryption of fields
115115
Automatic encryption of fields
116116
.. include:: /includes/extracts/csfle-enterprise-atlas-only.rst
117117

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
120120
:binary:`~bin.mongo` shell support automatically encrypting fields in
121121
read and write operations.
122122

@@ -133,10 +133,11 @@ Automatic encryption of fields
133133
For more information, see
134134
:doc:`/core/security-automatic-client-side-encryption`.
135135

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`.
140141

141142
.. important::
142143

@@ -158,11 +159,11 @@ driver and each encryption component:
158159

159160
- ``libmongocrypt`` is the `Apache-licensed open-source
160161
<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.
166167

167168
- :ref:`mongocryptd` supports :ref:`field-level-encryption-automatic`
168169
and is only available with MongoDB Enterprise. ``mongocryptd`` does
@@ -251,9 +252,10 @@ Automatic Field Decryption
251252

252253
The :bsontype:`BinData <Binary>` blob metadata includes the data
253254
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:
257259

258260
1. Check the :bsontype:`BinData <Binary>` blob metadata for the
259261
data encryption key and encryption algorithm used to encrypt the
@@ -294,9 +296,10 @@ client construction method.
294296
Enforce Field Level Encryption Schema
295297
-------------------------------------
296298

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
300303
<field-level-encryption-json-schema>` with the
301304
:query:`$jsonSchema` validation object to indicate which fields require
302305
encryption. The server rejects any write operations to that collection
@@ -359,7 +362,7 @@ on the :ref:`database connection configuration
359362
.. container::
360363

361364
*Automatic client-side field level encryption is available with
362-
MongoDB 4.2 Enterprise only.*
365+
MongoDB Enterprise 4.2 or later only.*
363366

364367
- If the connection :ref:`ClientSideFieldLevelEncryptionOptions`
365368
``schemaMap`` object contains a key for the specified collection, the
@@ -403,7 +406,7 @@ Driver Compatibility Table
403406
--------------------------
404407

405408
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:
407410

408411
.. list-table::
409412
:widths: 20 20 60

source/core/security-explicit-client-side-encryption.txt

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ Explicit (Manual) Client-Side Field Level Encryption
1313
Overview
1414
--------
1515

16-
MongoDB 4.2-compatible drivers and the 4.2 :binary:`~bin.mongo` shell
17-
support explicitly encrypting or decrypting fields with a specific
18-
data encryption key and encryption algorithm.
16+
MongoDB 4.2+ compatible drivers and the 4.2 or later
17+
:binary:`~bin.mongo` shell support explicitly encrypting or decrypting
18+
fields with a specific data encryption key and encryption algorithm.
1919

2020
Applications must modify any code associated with constructing read and
2121
write operations to include encryption/decryption logic via the driver
@@ -30,10 +30,10 @@ performing explicit encryption and decryption:
3030
- :method:`ClientEncryption.encrypt()`
3131
- :method:`ClientEncryption.decrypt()`
3232

33-
MongoDB 4.2-compatible drivers have specific syntax for performing
33+
MongoDB 4.2+ compatible drivers have specific syntax for performing
3434
explicit client-side field level encryption. See
3535
:ref:`field-level-encryption-drivers` for a complete list of
36-
4.2-compatible drivers with support for client-side field
36+
4.2+ compatible drivers with support for client-side field
3737
level encryption. Defer to the documentation for your preferred
3838
driver for specific instructions on performing client-side field
3939
level encryption.
@@ -85,14 +85,15 @@ to protect those values.
8585
Enabling Explicit Client-Side Field Level Encryption
8686
----------------------------------------------------
8787

88-
Each official MongoDB 4.2-compatible driver introduces new functionality
89-
for supporting client-side field level encryption and data encryption
90-
key management. Defer to your preferred :ref:`driver's documentation
91-
<field-level-encryption-drivers>` for language-specific instructions on
92-
implementing explicit client-side field level encryption.
88+
Each official MongoDB 4.2+ compatible driver introduces new
89+
functionality for supporting client-side field level encryption and data
90+
encryption key management. Defer to your preferred
91+
:ref:`driver's documentation <field-level-encryption-drivers>` for
92+
language-specific instructions on implementing explicit client-side
93+
field level encryption.
9394

94-
The MongoDB 4.2 :binary:`~bin.mongo` shell adds an additional option
95-
to the :method:`Mongo()` method for instantiating a database
95+
The MongoDB 4.2 or later :binary:`~bin.mongo` shell adds an additional
96+
option to the :method:`Mongo()` method for instantiating a database
9697
connection with explicit client-side field level encryption.
9798
For a complete example, see
9899
:ref:`mongo-connection-client-side-encryption-enabled`.
@@ -111,9 +112,9 @@ encryption:
111112
specified CMK *prior* to storing them in the key vault, leaving only
112113
metadata unencrypted.
113114

114-
4.2-compatible drivers and the 4.2 :binary:`~bin.mongo` shell need
115-
access to the KMS to encrypt and decrypt protected fields *or* to
116-
create new data encryption keys.
115+
4.2+ compatible drivers and the 4.2 or later :binary:`~bin.mongo`
116+
shell need access to the KMS to encrypt and decrypt protected fields
117+
*or* to create new data encryption keys.
117118

118119
Server-Side Field Level Encryption Enforcement
119120
----------------------------------------------

source/includes/extracts-4.2-changes.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -636,8 +636,8 @@ content: |
636636
* - :binary:`~bin.mongodump`
637637
638638
- Use Extended JSON v2.0 (Canonical mode) format for the
639-
metadata. Requires :binary:`~bin.mongorestore` version 4.2+
640-
that supports Extended JSON v2.0 (Canonical mode or
639+
metadata. Requires :binary:`~bin.mongorestore` version 4.2 or
640+
later that supports Extended JSON v2.0 (Canonical mode or
641641
Relaxed) format.
642642
643643
.. tip::
@@ -714,10 +714,10 @@ content: |
714714
the correct default state of :urioption:`retryWrites` for your
715715
specific driver and version.
716716
717-
The official MongoDB 4.2-compatible drivers enable :ref:`retryable-writes` by
718-
default. Applications upgrading to the 4.2-compatible drivers that require
717+
The official MongoDB 4.2+ compatible drivers enable :ref:`retryable-writes` by
718+
default. Applications upgrading to the 4.2+ compatible drivers that require
719719
retryable writes may omit the :urioption:`retryWrites=true <retryWrites>`
720-
option. Applications upgrading to the 4.2-compatible drivers that require
720+
option. Applications upgrading to the 4.2+ compatible drivers that require
721721
*disabling* retryable writes must include
722722
:urioption:`retryWrites=false <retryWrites>` in the connection string.
723723
---

source/includes/extracts-client-side-field-level-encryption.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,8 @@ content: |
112112
.. admonition:: Enterprise Feature
113113
114114
The automatic feature of field level encryption is only available
115-
in MongoDB 4.2 Enterprise and MongoDB Atlas 4.2 clusters.
115+
in MongoDB Enterprise 4.2 or later, and MongoDB Atlas 4.2 or later
116+
clusters.
116117
---
117118
ref: csfle-aws-kms-4.2.0-4.2.1-broken
118119
content: |

source/includes/fact-retryable-writes-failover-election.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ can detect the loss of the primary and automatically
44
:ref:`retry certain write operations <retryable-writes>` a single time,
55
providing additional built-in handling of automatic failovers and elections:
66

7-
- MongoDB 4.2-compatible drivers enable retryable writes by default
7+
- MongoDB 4.2+ compatible drivers enable retryable writes by default
88

99
- MongoDB 4.0 and 3.6-compatible drivers must explicitly enable
1010
retryable writes by including :urioption:`retryWrites=true <retryWrites>` in the :ref:`connection string <mongodb-uri>`.

source/reference/connection-string.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -334,8 +334,8 @@ Connection options are pairs in the following form: ``name=value``.
334334

335335
- The option ``name`` is case insensitive when using a driver.
336336

337-
- The option ``name`` is case insensitive when using a version 4.2+
338-
:binary:`~bin.mongo` shell.
337+
- The option ``name`` is case insensitive when using a version 4.2 or
338+
later :binary:`~bin.mongo` shell.
339339

340340
- The option ``name`` is case sensitive when using a version 4.0 and
341341
earlier :binary:`~bin.mongo` shell.
@@ -1190,7 +1190,7 @@ Miscellaneous Configuration
11901190

11911191
- ``true``. Enables retryable writes for the connection.
11921192

1193-
Official MongoDB 4.2-compatible drivers default to ``true``.
1193+
Official MongoDB 4.2+ compatible drivers default to ``true``.
11941194

11951195
- ``false``. Disables retryable writes for the connection.
11961196

source/reference/method/js-client-side-field-level-encryption.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@ Client-Side Field Level Encryption Methods
1616

1717
The following methods are for the MongoDB :binary:`~bin.mongo` shell
1818
*only*. For instructions on implementing client-side field level
19-
encryption using a MongoDB 4.2-compatible driver, defer to the
19+
encryption using a MongoDB 4.2+ compatible driver, defer to the
2020
driver documentation. See :ref:`field-level-encryption-drivers` for
21-
a complete list of 4.2-compatible drivers with support for
21+
a complete list of 4.2+ compatible drivers with support for
2222
client-side field level encryption.
2323

2424
.. list-table::

0 commit comments

Comments
 (0)