Skip to content

Commit 55d5b54

Browse files
author
Tim Bannister
committed
Make a section for writing the config file
Promote creating the encryption configuration file to have its own page heading.
1 parent d1b4ef8 commit 55d5b54

File tree

1 file changed

+16
-5
lines changed

1 file changed

+16
-5
lines changed

content/en/docs/tasks/administer-cluster/encrypt-data.md

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -122,15 +122,17 @@ resources:
122122
123123
Each `resources` array item is a separate config and contains a complete configuration. The
124124
`resources.resources` field is an array of Kubernetes resource names (`resource` or `resource.group`)
125-
that should be encrypted like Secrets, ConfigMaps, or other resources.
125+
that should be encrypted like Secrets, ConfigMaps, or other resources.
126126

127-
If custom resources are added to `EncryptionConfiguration` and the cluster version is 1.26 or newer,
128-
any newly created custom resources mentioned in the `EncryptionConfiguration` will be encrypted.
127+
If custom resources are added to `EncryptionConfiguration` and the cluster version is 1.26 or newer,
128+
any newly created custom resources mentioned in the `EncryptionConfiguration` will be encrypted.
129129
Any custom resources that existed in etcd prior to that version and configuration will be unencrypted
130130
until they are next written to storage. This is the same behavior as built-in resources.
131131
See the [Ensure all secrets are encrypted](#ensure-all-secrets-are-encrypted) section.
132132

133133
The `providers` array is an ordered list of the possible encryption providers to use for the APIs that you listed.
134+
Each provider supports multiple keys - the keys are tried in order for decryption, and if the provider
135+
is the first provider, the first key is used for encryption.
134136

135137
Only one provider type may be specified per entry (`identity` or `aescbc` may be provided,
136138
but not both in the same item).
@@ -142,7 +144,7 @@ is returned which prevents clients from accessing that resource.
142144
`EncryptionConfiguration` supports the use of wildcards to specify the resources that should be encrypted.
143145
Use '`*.<group>`' to encrypt all resources within a group (for eg '`*.apps`' in above example) or '`*.*`'
144146
to encrypt all resources. '`*.`' can be used to encrypt all resource in the core group. '`*.*`' will
145-
encrypt all resources, even custom resources that are added after API server start.
147+
encrypt all resources, even custom resources that are added after API server start.
146148

147149
{{< note >}} Use of wildcards that overlap within the same resource list or across multiple entries are not allowed
148150
since part of the configuration would be ineffective. The `resources` list's processing order and precedence
@@ -303,7 +305,16 @@ retrieve the plaintext values, providing a higher level of security than locally
303305

304306
## Encrypting your data
305307

306-
Create a new encryption config file:
308+
## Write an encryption configuration file
309+
310+
{{< caution >}}
311+
The encryption configuration file may contain keys that can decrypt content in etcd.
312+
If the configuration file contains any key material, you must properly
313+
restrict permissions on all your control plane hosts so only the user
314+
who runs the kube-apiserver can read this configuration.
315+
{{< /caution >}}
316+
317+
Create a new encryption configuration file. The contents should be similar to:
307318

308319
```yaml
309320
---

0 commit comments

Comments
 (0)