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/tasks/administer-cluster/encrypt-data.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -79,7 +79,7 @@ Name | Encryption | Strength | Speed | Key Length | Other Considerations
79
79
`aescbc`| AES-CBC with PKCS#7 padding | Strongest | Fast | 32-byte | The recommended choice for encryption at rest but may be slightly slower than `secretbox`.
80
80
`secretbox`| XSalsa20 and Poly1305 | Strong | Faster | 32-byte | A newer standard and may not be considered acceptable in environments that require high levels of review.
81
81
`aesgcm`| AES-GCM with random nonce | Must be rotated every 200k writes | Fastest | 16, 24, or 32-byte | Is not recommended for use except when an automated key rotation scheme is implemented.
82
-
`kms`| Data is encrypted using AES-CBC with PKCS#7 padding, DEKs are encrypted according to configuration in KMS | Strongest, new DEK is generated for each encryption | Fast | 32-bytes for data, Key length for encrypting DEKs is configured in kms | [Configure the KMS provider](/docs/tasks/administer-cluster/kms-provider/)
82
+
`kms` | Uses envelope encryption scheme: Data is encrypted by data encryption keys (DEKs) using AES-CBC with PKCS#7 padding, DEKs are encrypted by key encryption keys (KEKs) according to configuration in Key Management Service (KMS) | Strongest | Fast | 32-bytes | The recommended choice for using a third party tool for key management. Simplifies key rotation, with a new DEK generated for each encryption, and KEK rotation controlled by the user. [Configure the KMS provider](/docs/tasks/administer-cluster/kms-provider/)
83
83
84
84
Each provider supports multiple keys - the keys are tried in order for decryption, and if the provider
85
85
is the first provider, the first key is used for encryption.
Copy file name to clipboardExpand all lines: docs/tasks/administer-cluster/kms-provider.md
+22-23Lines changed: 22 additions & 23 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,23 +15,22 @@ This page shows how to configure a Key Management Service (KMS) provider and plu
15
15
16
16
* etcd v3 or later is required
17
17
18
-
*The KMS provider is alpha in Kubernetes version 1.10.0, which means that it may change without notice. You may be required to decrypt your data prior to upgrading to 1.11.0
18
+
{% assign for_k8s_version="v1.10" %}{% include feature-state-alpha.md %}
19
19
20
20
{% endcapture %}
21
21
22
22
{% capture steps %}
23
23
24
-
The KMS encryption provider uses an envelope encryption scheme to encrypt data in etcd. The Key encryption keys (KEKs) are
25
-
stored and managed in a remote KMS. The KMS provider uses gRPC to communicate with a specific KMS
24
+
The KMS encryption provider uses an envelope encryption scheme to encrypt data in etcd. The data is encrypted using a data encryption key (DEK); a new DEK is generated for each encryption. The DEKs are encrypted with a key encryption key (KEK) that is stored and managed in a remote KMS. The KMS provider uses gRPC to communicate with a specific KMS
26
25
plugin. The KMS plugin, which is implemented as a gRPC server and deployed on the same host(s) as the Kubernetes master(s), is responsible for all communication with the remote KMS.
27
26
28
27
## Configuring the KMS provider
29
28
30
-
To configure a KMS provider on the API server, include a provider of type kms in the providers array in the encryption configuration file and set the following properties:
29
+
To configure a KMS provider on the API server, include a provider of type ```kms``` in the providers array in the encryption configuration file and set the following properties:
31
30
32
31
*`name`: Display name of the KMS plugin.
33
-
*`endpoint`: Listen address of the gRPC server (KMS plugin). The endpoint is a UNIX domain socket connection.
34
-
*`cachesize`: Number of data encryption keys (DEKs) to be cached in the clear. DEKs are used in Envelope encryption.
32
+
*`endpoint`: Listen address of the gRPC server (KMS plugin). The endpoint is a UNIX domain socket.
33
+
*`cachesize`: Number of data encryption keys (DEKs) to be cached in the clear. When cached, DEKs can be used without another call to the KMS; whereas DEKs that are not cached require a call to the KMS to unwrap..
35
34
36
35
See [Understanding the encryption at rest configuration.](/docs/tasks/administer-cluster/encrypt-data)
37
36
@@ -76,7 +75,7 @@ Ensure that the KMS plugin runs on the same host(s) as the Kubernetes master(s).
76
75
## Encrypting your data with the KMS provider
77
76
To encrypt the data:
78
77
79
-
1. Create a new encryption configuration file using the appropriate properties for the KMS provider:
78
+
1. Create a new encryption configuration file using the appropriate properties for the `kms` provider:
80
79
81
80
```yaml
82
81
kind: EncryptionConfig
@@ -86,9 +85,9 @@ resources:
86
85
- secrets
87
86
providers:
88
87
- kms:
89
-
name: <display name of the KMS plugin>
90
-
endpoint: <UNIX domain socket listen address of the gRPC server (KMS plugin)>
91
-
cachesize: <number of data encryption keys (DEKs) to be cached in the clear>
0 commit comments