ce1b2630d2
When using the simple_crypto_plugin (which is enabled by default), secrets are encrypted with per-project keys, and those keys are encrypted (or wrapped) with a master key encryption key (KEK, or MKEK). The wrapped project keys are stored in the database. The KEK is stored in the barbican configuration file. If no KEK is specified, a well-known default is used. There is no native Barbican support for rotating the KEK. Changing the KEK would cause loss of access to all secrets, because Barbican would be unable to unwrap the project keys. This change adds support for upgrading the Helm chart while changing the KEK. A script can be executed during the db-sync job that decrypts the project keys with the old KEK, and rewraps them with the new KEK. Note that no secrets are actually modified during this procedure, and the project keys are not actually changed. To use this feature, specify the following values: conf: barbican: simple_crypto_plugin: kek: # new KEK, 32-bytes of data, base64-encoded simple_crypto_kek_rewrap: old_kek: # old KEK, 32-bytes of data, base64-encoded Change-Id: I462085b89ef80985b42149cccf865e6c5f0f5a53 |
||
---|---|---|
.. | ||
bin | ||
configmap-bin.yaml | ||
configmap-etc.yaml | ||
deployment-api.yaml | ||
ingress-api.yaml | ||
job-bootstrap.yaml | ||
job-db-drop.yaml | ||
job-db-init.yaml | ||
job-db-sync.yaml | ||
job-image-repo-sync.yaml | ||
job-ks-endpoints.yaml | ||
job-ks-service.yaml | ||
job-ks-user.yaml | ||
job-rabbit-init.yaml | ||
network_policy.yaml | ||
pdb-api.yaml | ||
pod-test.yaml | ||
secret-db.yaml | ||
secret-ingress-tls.yaml | ||
secret-keystone.yaml | ||
secret-rabbitmq.yaml | ||
service-api.yaml | ||
service-ingress-api.yaml |