You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/details/storage-configuration.md
+28-2Lines changed: 28 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -22,11 +22,37 @@ Percona Backup for MongoDB should work with other S3-compatible storages, but wa
22
22
23
23
*[MinIO](https://min.io/)
24
24
25
-
As of version 1.3.2, Percona Backup for MongoDB supports [server-side encryption](https://docs.percona.com/percona-backup-mongodb/glossary.html#term-Server-side-encryption) for [S3 buckets](../reference/glossary.md#bucket) with customer managed keys stored in AWS KMS.
25
+
### Server-side encryption
26
+
27
+
As of version 1.3.2, Percona Backup for MongoDB supports [server-side encryption](https://docs.percona.com/percona-backup-mongodb/glossary.html#term-Server-side-encryption) for [S3 buckets](../reference/glossary.md#bucket) with customer-provided keys stored in AWS KMS (SSE-KMS).
28
+
29
+
30
+
Starting with version 2.0.1, Percona Backup for MongoDB also supports server-side encryption with customer-provided keys that stored on the client side (SSE-C). Percona Backup for MongoDB provides the encryption keys as part of the requests to the S3 storage. The S3 storage uses them to encrypt/decrypt the data using the AES-256 encryption algorithm. In such a way you save on subscribing to AWS KMS services and can use the server-side encryption with the S3-compatible storage of your choice.
31
+
32
+
!!! admonition ""
33
+
34
+
SSE-C encryption should work with other S3-compatible storages, but was only tested with the AWS and MinIO. Check the support of this functionality with your S3 storage provider.
35
+
36
+
!!! warning
37
+
38
+
1. Enable/disable the server-side encryption only for the empty bucket. Otherwise, Percona Backup for MongoDB fails to save/retrieve objects to/from the storage properly.
39
+
2. S3 storage doesn't manage nor store the encryption key. It is your responsibility to track what key was used to encrypt what object in the bucket. If you lose the key, any request for an object without the encryption key fails and you lose the object.
40
+
41
+
To use the SSE-C encryption, specify the following parameters in the Percona Backup for MongoDB configuration file:
42
+
43
+
```yaml
44
+
serverSideEncryption:
45
+
sseCustomerAlgorithm: AES256
46
+
sseCustomerKey: <your_encryption_key>
47
+
```
48
+
26
49
27
50
!!! admonition "See also"
28
51
29
-
[Protecting Data Using Server-Side Encryption with CMKs Stored in AWS Key Management Service (SSE-KMS)](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html)
52
+
AWS Documentation:
53
+
54
+
* [Protecting Data Using Server-Side Encryption with CMKs Stored in AWS Key Management Service (SSE-KMS)](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html)
55
+
* [Protecting data using server-side encryption with customer-provided encryption keys (SSE-C)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html)
Copy file name to clipboardExpand all lines: docs/reference/configuration-options.md
+22-4Lines changed: 22 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -30,6 +30,8 @@ storage:
30
30
serverSideEncryption:
31
31
sseAlgorithm: aws:kms
32
32
kmsKeyID: <your-kms-key-here>
33
+
sseCustomerAlgorithm: AES256
34
+
sseCustomerKey: <your_encryption_key>
33
35
retryer:
34
36
numMaxRetries: 3
35
37
minRetryDelay: 30
@@ -151,12 +153,12 @@ Disables the TLS verification of the S3 storage. This allows Percona Backup for
151
153
152
154
## Server-side encryption options
153
155
154
-
### serverSideEncryption.sseAlgorythm
156
+
### serverSideEncryption.sseAlgorithm
155
157
156
158
*Type*: string <br>
157
-
*Required*: NO
159
+
*Required*: NO
158
160
159
-
The key management mode used for server-side encryption
161
+
The key management mode used for server-side encryption with the encryption keys stored in AWS KMS.
160
162
161
163
Supported value: `aws:kms`
162
164
@@ -165,7 +167,23 @@ Supported value: `aws:kms`
165
167
*Type*: string <br>
166
168
*Required*: NO
167
169
168
-
Your customer-managed key
170
+
Your customer-managed key stored in the AWS KMS.
171
+
172
+
### serverSideEncryption.sseCustomerAlgorithm
173
+
174
+
*Type*: string <br>
175
+
*Required*: NO
176
+
177
+
The key management mode for [server-side encryption with customer-provided keys (SSE-C)](../details/storage-configuration.md#server-side-encryption).
178
+
179
+
Supported value: `AES256`
180
+
181
+
### serverSideEncryption.sseCustomerKey
182
+
183
+
*Type*: string <br>
184
+
*Required*: NO
185
+
186
+
Your custom encryption key. This key is not stored on the S3 storage side. Thus, it is your responsibility to track what data is encrypted with what key and for storing the key.
0 commit comments