Skip to content

Commit f32f313

Browse files
authored
Fix sharedinclude content in current (#406)
1 parent 57805ea commit f32f313

File tree

7 files changed

+169
-5
lines changed

7 files changed

+169
-5
lines changed

source/compatibility.txt

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,24 @@ The following compatibility table specifies the recommended version of the
1818

1919
The first column lists the driver version.
2020

21-
.. sharedinclude:: dbx/lifecycle-schedule-callout.rst
21+
.. include:: /includes/include-fixes/lifecycle-schedule-callout.rst
22+
23+
.. .. sharedinclude:: dbx/lifecycle-schedule-callout.rst
2224

23-
.. sharedinclude:: dbx/compatibility-table-legend.rst
25+
.. include:: /includes/include-fixes/compatibility-table-legend.rst
2426

25-
.. sharedinclude:: dbx/mongodb-compatibility-table-go.rst
27+
.. .. sharedinclude:: dbx/compatibility-table-legend.rst
28+
29+
.. include:: /includes/include-fixes/mongodb-compatibility-table-go.rst
30+
31+
.. .. sharedinclude:: dbx/mongodb-compatibility-table-go.rst
2632

2733
Language Compatibility
2834
----------------------
2935

30-
.. sharedinclude:: dbx/language-compatibility-table-go.rst
36+
.. include:: /includes/include-fixes/language-compatibility-table-go.rst
37+
38+
.. .. sharedinclude:: dbx/language-compatibility-table-go.rst
3139

3240
For more information on how to read the compatibility tables, see our guide on
3341
:ref:`MongoDB Compatibility Tables. <about-driver-compatibility>`

source/fundamentals/encrypt-fields.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,6 @@
77
.. meta::
88
:keywords: privacy, security
99

10-
.. sharedinclude:: dbx/encrypt-fields.rst
10+
.. include:: /includes/include-fixes/encrypt-fields.rst
11+
12+
.. .. sharedinclude:: dbx/encrypt-fields.rst
Lines changed: 18 additions & 0 deletions
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.
Lines changed: 90 additions & 0 deletions
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.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
The {+driver-long+} requires Go 1.18 or later.
Lines changed: 6 additions & 0 deletions
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>`__.
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
.. list-table::
2+
:header-rows: 1
3+
:stub-columns: 1
4+
:class: compatibility-large
5+
6+
* - Go Driver Version
7+
- MongoDB 8.0
8+
- MongoDB 7.0
9+
- MongoDB 6.1
10+
- MongoDB 6.0
11+
- MongoDB 5.0
12+
- MongoDB 4.4
13+
- MongoDB 4.2
14+
- MongoDB 4.0
15+
- MongoDB 3.6
16+
17+
* - 1.12 to 1.17
18+
- ⊛ [#8.0-support]_
19+
- ✓
20+
- ✓
21+
- ✓
22+
- ✓
23+
- ✓
24+
- ✓
25+
- ✓
26+
- ✓
27+
28+
* - 1.11
29+
- ⊛
30+
- ⊛
31+
- ✓
32+
- ✓
33+
- ✓
34+
- ✓
35+
- ✓
36+
- ✓
37+
- ✓
38+
39+
.. [#8.0-support] {+driver-short+} v1.17 is partially compatible with {+mdb-server+} 8.0 but does not support client bulk write.

0 commit comments

Comments
 (0)