Skip to content

Commit 2de245f

Browse files
authored
encrypt fields (#141)
* encrypt fields * missing ref * dangling period
1 parent b062539 commit 2de245f

File tree

5 files changed

+86
-20
lines changed

5 files changed

+86
-20
lines changed

snooty.toml

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,27 @@ title = "Go"
33
toc_landing_pages = [
44
"/fundamentals/connection",
55
"/fundamentals/crud",
6-
"/usage-examples"
6+
"/usage-examples",
77
]
88

99
intersphinx = [
10-
"https://www.mongodb.com/docs/manual/objects.inv",
11-
"https://www.mongodb.com/docs/drivers/objects.inv",
12-
"https://www.mongodb.com/docs/atlas/objects.inv"
10+
"https://www.mongodb.com/docs/manual/objects.inv",
11+
"https://www.mongodb.com/docs/drivers/objects.inv",
12+
"https://www.mongodb.com/docs/atlas/objects.inv",
1313
]
1414
sharedinclude_root = "https://raw.githubusercontent.com/10gen/docs-shared/main/"
1515

1616
[constants]
1717
driver-long = "MongoDB Go Driver"
18-
docs-branch = "master" # always set this to the docs branch (i.e. master, 1.7, 1.8, etc.)
19-
version = "v1.10.1" # always set this to the driver branch (i.e. v1.7.0, v1.8.0, etc.)
18+
docs-branch = "master" # always set this to the docs branch (i.e. master, 1.7, 1.8, etc.)
19+
version = "v1.10.1" # always set this to the driver branch (i.e. v1.7.0, v1.8.0, etc.)
2020
example = "https://raw.githubusercontent.com/mongodb/docs-golang/{+docs-branch+}/source/includes/usage-examples/code-snippets"
2121
api = "https://pkg.go.dev/go.mongodb.org/mongo-driver@{+version+}"
2222
stable-api = "Stable API"
23+
qe = "Queryable Encryption"
24+
key-vault-long = "key vault collection"
25+
kms-long = "Key Management System"
26+
cmk-long = "Customer Master Key"
27+
dek-long = "Data Encryption Key"
28+
csfle-short = "CSFLE"
29+
csfle-long = "Client-side Field Level Encryption (CSFLE)"

source/fundamentals.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,14 @@ Fundamentals
1919
/fundamentals/collations
2020
/fundamentals/gridfs
2121
/fundamentals/time-series
22+
/fundamentals/encrypt-fields
2223

2324
..
2425
/fundamentals/enterprise-auth
2526
/fundamentals/databases-collections
2627
/fundamentals/data-formats
2728
/fundamentals/builders
2829
/fundamentals/collations
29-
/fundamentals/csfle
3030
/fundamentals/gridfs
3131
/fundamentals/logging
3232
/fundamentals/monitoring

source/fundamentals/csfle.txt

Lines changed: 0 additions & 13 deletions
This file was deleted.
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
.. _golang-fle:
2+
3+
==============
4+
Encrypt Fields
5+
==============
6+
7+
.. contents:: On this page
8+
:local:
9+
:backlinks: none
10+
:depth: 2
11+
:class: singlecol
12+
13+
.. default-domain:: mongodb
14+
15+
Overview
16+
--------
17+
18+
You can encrypt fields in a document using a set of features called
19+
**in-use encryption**.
20+
21+
In-use encryption enables your client applications to encrypt data
22+
*before* sending it to MongoDB, and to query documents with encrypted fields.
23+
24+
Because the driver encrypts the data before sending it to MongoDB, only
25+
your configured client applications can decrypt the data. Only applications
26+
using the driver with access to your encryption keys can access the decrypted,
27+
plaintext data. Should you have unauthorized access to your database, an
28+
attacker could only see the encrypted, ciphertext data.
29+
30+
In-use encryption can help prevent exposure of the following sensitive types of data:
31+
32+
- Credit card numbers
33+
- Addresses
34+
- Health information
35+
- Financial information
36+
- Any other sensitive or personally identifiable information (PII)
37+
38+
MongoDB offers the following ways to encrypt fields:
39+
40+
{+qe+}
41+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
42+
43+
{+qe+} is the next-generation in-use encryption feature,
44+
introduced in MongoDB 6.0 and available as a public preview. {+qe+}
45+
supports searching encrypted fields for equality and encrypts each value
46+
uniquely.
47+
48+
The MongoDB manual contains detailed information on the following {+qe+} topics:
49+
50+
- To get started, see the :ref:`{+qe+} Quick Start <qe-quick-start>`.
51+
- To learn how to use {+qe+}, see the :ref:`{+qe+} Fundamentals <qe-fundamentals>`.
52+
- To learn how to integrate your implementation with a {+kms-long+}, see the :ref:`{+qe+} Tutorials <qe-tutorials>`.
53+
- To learn {+qe+} concepts, see the :ref:`{+qe+} Reference <qe-reference>`.
54+
55+
{+csfle-long+}
56+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
57+
58+
{+csfle-long+} was introduced in MongoDB version v4.2 and supports searching encrypted
59+
fields for equality. {+csfle-short+} differs from {+qe+} in that it requires
60+
that the encrypted fields you want to search must be determinstically encrypted.
61+
When you deterministically encrypt a value, the same input value produces
62+
the same output value. While deterministic encryption provides greater
63+
support for read operations, encrypted data with low :wikipedia:`cardinality <Cardinality>`
64+
is susceptible to recovery using :wikipedia:`frequency analysis <Frequency_analysis>`.
65+
66+
The MongoDB manual contains detailed information on the following {+csfle-short+} topics:
67+
68+
- To get started, see the :ref:`{+csfle-short+} Quick Start <csfle-quick-start>`.
69+
- To learn how to use {+csfle-short+}, see the :ref:`{+csfle-short+} Fundamentals <csfle-fundamentals>`.
70+
- To learn how to integrate your {+csfle-short+} implementation with a {+kms-long+}, see the :ref:`{+csfle-short+} Tutorials <csfle-tutorials>`.
71+
- To learn {+csfle-short+} concepts, see the :ref:`{+csfle-short+} Reference <csfle-reference>`.

source/includes/fundamentals-sections.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ Fundamentals section:
1010
- :ref:`Perform Aggregations <golang-aggregation>`
1111
- :ref:`Construct Indexes <golang-indexes>`
1212
- :ref:`Use a Time Series Collection <golang-time-series>`
13+
- :ref:`Encrypt Fields <golang-fle>`
1314

1415
.. - :doc:`Use the Driver's Data Formats </fundamentals/data-formats>`
1516
.. - :doc:`Specify Collations </fundamentals/collations>`

0 commit comments

Comments
 (0)