Skip to content

Commit 1f47b92

Browse files
Temporary includes fix (#299) (#300) (#306)
(cherry picked from commit 3e27bfc) (cherry picked from commit fc469d4) Co-authored-by: Mike Woofter <[email protected]>
1 parent c02efb1 commit 1f47b92

File tree

5 files changed

+132
-5
lines changed

5 files changed

+132
-5
lines changed

source/compatibility.txt

+13-4
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,18 @@ of the {+driver-long+} for use with a specific version of MongoDB.
1919

2020
The first column lists the driver version.
2121

22-
.. sharedinclude:: dbx/lifecycle-schedule-callout.rst
22+
.. include:: /includes/include-fixes/lifecycle-schedule-callout.rst
2323

24-
.. sharedinclude:: dbx/compatibility-table-legend.rst
24+
.. include:: /includes/include-fixes/compatibility-table-legend.rst
25+
26+
.. include:: /includes/mongodb-compatibility-table-csharp.rst
27+
28+
.. .. sharedinclude:: dbx/lifecycle-schedule-callout.rst
29+
30+
.. .. sharedinclude:: dbx/compatibility-table-legend.rst
31+
32+
.. .. sharedinclude:: dbx/mongodb-compatibility-table-csharp.rst
2533

26-
.. sharedinclude:: dbx/mongodb-compatibility-table-csharp.rst
2734

2835
Language Compatibility
2936
----------------------
@@ -33,7 +40,9 @@ The following compatibility table specifies the recommended version of the
3340

3441
The first column lists the driver version.
3542

36-
.. sharedinclude:: dbx/language-compatibility-table-csharp.rst
43+
.. include:: /includes/language-compatibility-table-csharp.rst
44+
45+
.. .. sharedinclude:: dbx/language-compatibility-table-csharp.rst
3746

3847
For more information on how to read the compatibility tables, see our guide on
3948
:ref:`MongoDB Compatibility Tables. <about-driver-compatibility>`
+5-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
11
.. _csharp-fle:
22

3-
.. sharedinclude:: dbx/encrypt-fields.rst
3+
.. include:: /includes/include-fixes/encrypt-fields.rst
4+
5+
.. .. sharedinclude:: dbx/encrypt-fields.rst
6+
7+
.. .. replacement:: driver-specific-content
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
Compatibility Table Legend
2+
++++++++++++++++++++++++++
3+
4+
.. list-table::
5+
:header-rows: 1
6+
:stub-columns: 1
7+
:class: compatibility
8+
9+
* - Icon
10+
- Explanation
11+
12+
* - ✓
13+
- All features are supported.
14+
* - ⊛
15+
- The Driver version will work with the MongoDB version, but not all
16+
new MongoDB features are supported.
17+
* - No mark
18+
- The Driver version is not tested with the MongoDB version.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
=================
2+
In-Use Encryption
3+
=================
4+
5+
.. contents:: On this page
6+
:local:
7+
:backlinks: none
8+
:depth: 2
9+
:class: singlecol
10+
11+
Overview
12+
--------
13+
14+
You can use the {+driver-short+} to encrypt specific document fields by using a
15+
set of features called **in-use encryption**. In-use encryption allows
16+
your application to encrypt data *before* sending it to MongoDB
17+
and query documents with encrypted fields.
18+
19+
In-use encryption prevents unauthorized users from viewing plaintext
20+
data as it is sent to MongoDB or while it is in an encrypted database. To
21+
enable in-use encryption in an application and authorize it to decrypt
22+
data, you must create encryption keys that only your application can
23+
access. Only applications that have access to your encryption
24+
keys can access the decrypted, plaintext data. If an attacker gains
25+
access to the database, they can only see the encrypted ciphertext data
26+
because they lack access to the encryption keys.
27+
28+
You might use in-use encryption to encrypt fields in your MongoDB
29+
documents that contain the following types of sensitive data:
30+
31+
- Credit card numbers
32+
- Addresses
33+
- Health information
34+
- Financial information
35+
- Any other sensitive or personally identifiable information (PII)
36+
37+
MongoDB offers the following features to enable in-use encryption:
38+
39+
- :ref:`Queryable Encryption <subsection-qe>`
40+
- :ref:`Client-side Field Level Encryption <subsection-csfle>`
41+
42+
.. _subsection-qe:
43+
44+
Queryable Encryption
45+
~~~~~~~~~~~~~~~~~~~~
46+
47+
Queryable Encryption is the next-generation in-use encryption feature,
48+
first introduced as a preview feature in MongoDB Server version 6.0 and
49+
as a generally available (GA) feature in MongoDB 7.0. Queryable
50+
Encryption supports searching encrypted fields for equality and encrypts
51+
each value uniquely.
52+
53+
.. important:: Preview Feature Incompatible with MongoDB 7.0
54+
55+
The implementation of Queryable Encryption in MongoDB 6.0 is incompatible with the GA version introduced in MongoDB 7.0. The Queryable Encryption preview feature is no longer supported.
56+
57+
To learn more about Queryable Encryption, see :manual:`Queryable
58+
Encryption </core/queryable-encryption/>` in the Server manual.
59+
60+
.. _subsection-csfle:
61+
62+
Client-side Field Level Encryption
63+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
64+
65+
Client-side Field Level Encryption (CSFLE) was introduced in MongoDB
66+
Server version 4.2 and supports searching encrypted fields for equality.
67+
CSFLE differs from Queryable Encryption in that you can select either a
68+
deterministic or random encryption algorithm to encrypt fields. You can only
69+
query encrypted fields that use a deterministic encryption algorithm when
70+
using CSFLE. When you use a random encryption algorithm to encrypt
71+
fields in CSFLE, they can be decrypted, but you cannot perform equality
72+
queries on those fields. When you use Queryable Encryption, you cannot
73+
specify the encryption algorithm, but you can query all encrypted
74+
fields.
75+
76+
When you deterministically encrypt a value, the same input value
77+
produces the same output value. While deterministic encryption allows
78+
you to perform queries on those encrypted fields, encrypted data with
79+
low cardinality is susceptible to code breaking by frequency analysis.
80+
81+
.. tip::
82+
83+
To learn more about these concepts, see the following Wikipedia
84+
entries:
85+
86+
- :wikipedia:`Cardinality <w/index.php?title=Cardinality_(data_modeling)&oldid=1182661589>`
87+
- :wikipedia:`Frequency Analysis <w/index.php?title=Frequency_analysis&oldid=1182536787>`
88+
89+
To learn more about CSFLE, see :manual:`CSFLE </core/csfle/>` in the
90+
Server manual.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
.. important::
2+
3+
MongoDB ensures compatibility between the MongoDB Server and the drivers
4+
for three years after the server version's end of life (EOL) date. To learn
5+
more about the MongoDB release and EOL dates, see
6+
`MongoDB Software Lifecycle Schedules <https://www.mongodb.com/support-policy/lifecycles>`__.

0 commit comments

Comments
 (0)