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
[BACKPORT] Manual cherry-pick of failed release/1.13.x backport PRs (#26798)
* Fix "auto unseal" case inconsistency (#25119)
There was inconsistency in the capitalization of auto unseal in this doc. The initial heading had it right. It shouldn't be capitalized according to the documentation style guidance for feature capitalization. Also, high availability doesn't need to be capitalized.
Change warning to tag syntax so it's clear what should be part of the aside
---------
Co-authored-by: Sarah Chavis <62406755+schavis@users.noreply.github.com>
* added documentation for mongodb atlas database secrets engine eventua… (#24152)
* added documentation for mongodb atlas database secrets engine eventual consistency
* Update events.mdx (#25835)
Added missing ' to the command at the end
* Add missing beta partial
* Add another missing partial
---------
Co-authored-by: Mitch Pronschinske <mpronschinske@hashicorp.com>
Co-authored-by: kevin-loehfelm <37027455+kevin-loehfelm@users.noreply.github.com>
Co-authored-by: preetibhat6 <139800125+preetibhat6@users.noreply.github.com>
-> **Warning:** Recovery keys cannot decrypt the root key, and thus are not
114
-
sufficient to unseal Vault if the Auto Unseal mechanism isn't working. They
115
-
are purely an authorization mechanism. Using Auto Unseal
116
-
creates a strict Vault lifecycle dependency on the underlying seal mechanism.
113
+
When DR replication is enabled in Vault Enterprise, [Performance Standby](/vault/docs/enterprise/performance-standby) nodes on the DR cluster will seal themselves, so they must be restarted to be unsealed.
114
+
115
+
<Warningtitle="Recovery keys cannot decrypt the root key">
116
+
117
+
Recovery keys cannot decrypt the root key and thus are not sufficient to unseal
118
+
Vault if the auto unseal mechanism isn't working. They are purely an authorization mechanism.
119
+
Using auto unseal creates a strict Vault lifecycle dependency on the underlying seal mechanism.
117
120
This means that if the seal mechanism (such as the Cloud KMS key) becomes unavailable,
118
121
or deleted before the seal is migrated, then there is no ability to recover
119
122
access to the Vault cluster until the mechanism is available again. **If the seal
@@ -128,6 +131,7 @@ seal configured independently of the primary, and when properly configured guard
128
131
against *some* of this risk. Unreplicated items such as local mounts could still
129
132
be lost.
130
133
134
+
</Warning>
131
135
132
136
## Recovery key
133
137
@@ -188,7 +192,7 @@ API prefix for this operation is at `/sys/rekey-recovery-key` rather than
188
192
189
193
## Seal migration
190
194
191
-
The Seal migration process cannot be performed without downtime, and due to the
195
+
The seal migration process cannot be performed without downtime, and due to the
192
196
technical underpinnings of the seal implementations, the process requires that
193
197
you briefly take the whole cluster down. While experiencing some downtime may
194
198
be unavoidable, we believe that switching seals is a rare event and that the
@@ -198,15 +202,15 @@ inconvenience of the downtime is an acceptable trade-off.
198
202
something goes wrong.
199
203
200
204
~> **NOTE**: Seal migration operation will require both old and new seals to be
201
-
available during the migration. For example, migration from Auto Unseal to Shamir
202
-
seal will require that the service backing the Auto Unseal is accessible during
205
+
available during the migration. For example, migration from auto unseal to Shamir
206
+
seal will require that the service backing the auto unseal is accessible during
203
207
the migration.
204
208
205
-
~> **NOTE**: Seal migration from Auto Unseal to Auto Unseal of the same type is
209
+
~> **NOTE**: Seal migration from auto unseal to auto unseal of the same type is
206
210
supported since Vault 1.6.0. However, there is a current limitation that
207
211
prevents migrating from AWSKMS to AWSKMS; all other seal migrations of the same
208
-
type are supported. Seal migration from One Auto Unseal type (AWS KMS) to
209
-
different Auto Unseal type (HSM, Azure KMS, etc.) is also supported on older
212
+
type are supported. Seal migration from one auto unseal type (AWS KMS) to
213
+
different auto unseal type (HSM, Azure KMS, etc.) is also supported on older
210
214
versions as well.
211
215
212
216
### Migration post Vault 1.5.1
@@ -253,7 +257,7 @@ any storage backend.
253
257
1. Seal migration is now completed. Take down the old active node, update its
254
258
configuration to use the new seal blocks (completely unaware of the old seal type)
255
259
,and bring it back up. It will be auto-unsealed if the new seal is one of the
256
-
Auto seals, or will require unseal keys if the new seal is Shamir.
260
+
auto seals, or will require unseal keys if the new seal is Shamir.
257
261
258
262
1. At this point, configuration files of all the nodes can be updated to only have the
259
263
new seal information. Standby nodes can be restarted right away and the active
@@ -277,7 +281,7 @@ keys.
277
281
278
282
#### Migration from auto unseal to shamir
279
283
280
-
To migrate from Auto Unseal to Shamir keys, take your server cluster offline
284
+
To migrate from auto unseal to Shamir keys, take your server cluster offline
281
285
and update the [seal configuration](/vault/docs/configuration/seal) and add `disabled
282
286
= "true"` to the seal block. This allows the migration to use this information
283
287
to decrypt the key but will not unseal Vault. When you bring your server back
@@ -290,9 +294,9 @@ will be migrated to be used as unseal keys.
290
294
291
295
~> **NOTE**: Migration between same Auto Unseal types is supported in Vault
292
296
1.6.0 and higher. For these pre-1.5.1 steps, it is only possible to migrate from
293
-
one type of Auto Unseal to a different type (ie Transit -> AWSKMS).
297
+
one type of auto unseal to a different type (ie Transit -> AWSKMS).
294
298
295
-
To migrate from Auto Unseal to a different Auto Unseal configuration, take your
299
+
To migrate from auto unseal to a different auto unseal configuration, take your
296
300
server cluster offline and update the existing [seal
297
301
configuration](/vault/docs/configuration/seal) and add `disabled = "true"` to the seal
298
302
block. Then add another seal block to describe the new seal.
@@ -315,3 +319,74 @@ When the quorum of nodes are back up, Raft will elect a leader and the leader
315
319
node that will perform the migration. The migrated information will be replicated to
316
320
all other cluster peers and when the peers eventually become the leader,
317
321
migration will not happen again on the peer nodes.
322
+
323
+
## Seal high availability <EnterpriseAlertinline="true" />
324
+
325
+
@include 'alerts/beta.mdx'
326
+
327
+
Seal high availability (Seal HA) allows the configuration of more than one auto
328
+
seal mechanism such that Vault can tolerate the temporary loss of a seal service
329
+
330
+
or device for a time. With Seal HA configured with at least two and no more than
331
+
three auto seals, Vault can also start up and unseal if one of the
332
+
configured seals is still available (though Vault will remain in a degraded mode in
333
+
this case). While seals are unavailable, seal wrapping and entropy augmentation can
334
+
still occur using the remaining seals, and values produced while a seal is down will
335
+
be re-wrapped with all the seals when all seals become healthy again.
336
+
337
+
An operator should choose two seals that are unlikely to become unavailable at the
338
+
same time. For example, they may choose KMS keys in two cloud regions, from
339
+
two different providers; or a mix of HSM, KMS, or Transit seals.
340
+
341
+
When an operator configures an additional seal or removes a seal (one at a time)
342
+
and restarts Vault, Vault will automatically detect that it needs to re-wrap
343
+
CSPs and seal wrapped values, and will start the process. Seal re-wrapping can
344
+
be monitored via the logs or via the `sys/seal-status` endpoint. While a
345
+
re-wrap is in progress (or could not complete successfully), changes to the
346
+
seal configuration are not allowed.
347
+
348
+
In additional to high availability, seal HA can be used to migrate between two
349
+
auto seals in a simplified manner. To migrate in this way:
350
+
351
+
In additional to high availability, Seal HA can be used to migrate between two
352
+
auto seals in a [simplified manner.](#migration-post-vault-1-16-0-via-seal-ha-for-auto-seals-enterprise)
353
+
354
+
Note that Shamir seals are not auto seals and cannot be included in a Seal
355
+
HA setup. This is because auto seals support seal wrap while Shamir seals
356
+
do not, so the loss of the auto seal does not necessarily leave Vault in a
357
+
fully available state.
358
+
359
+
### Use and Configuration
360
+
361
+
Refer to the [configuration](/vault/docs/configuration/seal/seal-ha) section
362
+
for details on configuring Seal HA.
363
+
364
+
### Seal Re-Wrapping
365
+
366
+
Whenever seal configuration changes, Vault must re-wrap all CSPs and seal
367
+
wrapped values, to ensure each value has an entry encrypted by all configured
368
+
seals. Vault detects these configuration changes automatically, and triggers
369
+
a re-wrap. Re-wraps can take some time, depending on the number of
370
+
seal wrapped values. While re-wrapping is in progress, no configuration changes
371
+
to the seals can be made.
372
+
373
+
Progress of the re-wrap can be monitored using
374
+
the [`sys/sealwrap/rewrap`](/vault/api-docs/system/sealwrap-rewrap) endpoint.
375
+
376
+
### Limitations and Known Issues
377
+
378
+
In order to limit complexity and increase safety, there are some limitations
379
+
to the use and configuration of Seal HA:
380
+
381
+
* Vault must be configured for a single seal at the time of initialization.
382
+
Extra seals can then be added.
383
+
* Seals must be added or removed one at a time.
384
+
* Only auto seals can be used in HA configurations. Shamir and auto cannot
385
+
be mixed.
386
+
* A maximum of three seals can be configured.
387
+
* As seal wrapped values must be wrapped by all configured seals, it is possible
388
+
that large values may fail to persist as the size of the entry is multiplied by
389
+
the number of seals causing it to exceed the storage entry size limit. An example
390
+
would be storing a large document in KVv2 with seal wrapping enabled.
391
+
* It is not possible to rotate the data encryption key nor the recovery keys while
0 commit comments