@@ -15,32 +15,35 @@ Configure Encryption
15
15
Overview
16
16
--------
17
17
18
- .. include:: /includes/fact-enterprise-only-admonition.rst
19
-
20
- .. important::
21
-
22
- Available for the WiredTiger Storage Engine Only.
23
-
24
- .. note:: Changed in version 4.0
25
-
26
-
27
- .. include:: /includes/fact-aes.rst
18
+ This page discusses server configuration to support encryption at rest.
19
+ If you use `MongoDB Atlas <https://www.mongodb.com/cloud/atlas>`__,
20
+ your data is already encrypted. MongoDB manages Atlas encryption at the
21
+ cloud provider level, but you can also use your own key management
22
+ solution. See the Atlas `key management documentation
23
+ <https://docs.atlas.mongodb.com/security-kms-encryption/>`__ for details.
28
24
29
25
MongoDB Enterprise 3.2 introduces a native encryption option for the
30
- WiredTiger storage engine. With storage encryption, the secure
31
- management of the encryption keys is critical.
26
+ WiredTiger storage engine. Outside Atlas, encryption is only available
27
+ for enterprise installations that use the WiredTiger Storage Engine.
28
+
29
+ Secure management of the encryption keys is a critical requirement for
30
+ storage encryption. MongoDB uses a master key that is not stored with
31
+ the MongoDB installation. Only the master key is externally managed,
32
+ other keys can be stored with your MongoDB instance.
32
33
33
- Only the master key is external to the server and requires external
34
- management. To manage the master key, MongoDB's encrypted storage
35
- engine supports two key management options:
34
+ MongoDB's encrypted storage engine supports two key management options
35
+ for the master key:
36
36
37
37
- Integration with a third party key management appliance via the Key
38
38
Management Interoperability Protocol (KMIP). **Recommended**
39
-
40
39
- Use of local key management via a keyfile.
41
40
42
- The following tutorial outlines the procedures to configure MongoDB for
43
- encryption and key management.
41
+ .. important::
42
+
43
+ MongoDB cannot encrypt existing data. When you enable encryption
44
+ with a new key, the MongoDB instance cannot have any pre-existing
45
+ data. If your MongoDB installation already has existing data, see
46
+ :ref:`encrypt-existing-data` for additional steps.
44
47
45
48
Key Manager
46
49
-----------
@@ -70,6 +73,10 @@ Prerequisites
70
73
- To authenticate MongoDB to a KMIP server, you must have a valid
71
74
certificate issued by the key management appliance.
72
75
76
+ .. note:: Changed in version 4.0
77
+
78
+ .. include:: /includes/fact-aes.rst
79
+
73
80
.. _encrypt-with-new-key:
74
81
75
82
Encrypt Using a New Key
@@ -213,3 +220,21 @@ accessible by the owner of the :binary:`~bin.mongod` process.
213
220
214
221
:ref:`encryption-key-management-options`
215
222
223
+ .. _encrypt-existing-data:
224
+
225
+ Encrypt Existing Data at Rest
226
+ -----------------------------
227
+
228
+ MongoDB cannot encrypt existing data. When you enable encryption with a
229
+ new key, the MongoDB instance cannot have any pre-existing data.
230
+
231
+ If you are using a replica set that does have existing data, use a
232
+ rolling :ref:`initial sync <replica-set-initial-sync>` to encrypt the
233
+ data.
234
+
235
+ For example, consider a replica set with three members. The replica set
236
+ is in use and holds data that you want to encrypt. These are the steps
237
+ you would take to encrypt the data at rest:
238
+
239
+ .. include:: /includes/steps/encrypt-with-rolling-sync.rst
240
+
0 commit comments