@@ -122,15 +122,17 @@ resources:
122
122
123
123
Each ` resources` array item is a separate config and contains a complete configuration. The
124
124
` 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.
126
126
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.
129
129
Any custom resources that existed in etcd prior to that version and configuration will be unencrypted
130
130
until they are next written to storage. This is the same behavior as built-in resources.
131
131
See the [Ensure all secrets are encrypted](#ensure-all-secrets-are-encrypted) section.
132
132
133
133
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.
134
136
135
137
Only one provider type may be specified per entry (`identity` or `aescbc` may be provided,
136
138
but not both in the same item).
@@ -142,7 +144,7 @@ is returned which prevents clients from accessing that resource.
142
144
` EncryptionConfiguration` supports the use of wildcards to specify the resources that should be encrypted.
143
145
Use '`*.<group>`' to encrypt all resources within a group (for eg '`*.apps`' in above example) or '`*.*`'
144
146
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.
146
148
147
149
{{< note >}} Use of wildcards that overlap within the same resource list or across multiple entries are not allowed
148
150
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
303
305
304
306
# # Encrypting your data
305
307
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 :
307
318
308
319
` ` ` yaml
309
320
---
0 commit comments