Skip to content

Commit

Permalink
Recommend replicating encryption key
Browse files Browse the repository at this point in the history
When using API encryption at rest without KMS, the same encryption key
must be securely replicated to all the hosts that run a kube-apiserver.

Document that.
  • Loading branch information
sftim committed Jan 12, 2024
1 parent daf627d commit 0e05396
Showing 1 changed file with 13 additions and 0 deletions.
13 changes: 13 additions & 0 deletions content/en/docs/tasks/administer-cluster/encrypt-data.md
Original file line number Diff line number Diff line change
Expand Up @@ -324,6 +324,10 @@ appropriate for your security needs.

### Generate the encryption key {#generate-key-no-kms}

The following steps assume that you are not using KMS, and therefore the steps also
assume that you need to generate an encryption key. If you already have an encryption key,
skip to [Write an encryption configuration file](#write-an-encryption-configuration-file).

{{< caution >}}
Storing the raw encryption key in the EncryptionConfig only moderately improves your security posture,
compared to no encryption.
Expand Down Expand Up @@ -375,6 +379,15 @@ Keep the encryption key confidential, including whilst you generate it and
ideally even after you are no longer actively using it.
{{< /note >}}

### Replicate the encryption key

Using a secure mechanism for file transfer, make a copy of that encryption key
available to every other control plane host.

At a minimum, use encryption in transit - for example, secure shell (SSH). For more
security, use asymmetric encryption between hosts, or change the approach you are using
so that you're relying on KMS encryption.

### Write an encryption configuration file

{{< caution >}}
Expand Down

0 comments on commit 0e05396

Please sign in to comment.