-
Notifications
You must be signed in to change notification settings - Fork 693
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Key Rotation breaks appending new values to existing sealed secrets #185
Comments
187: Disable key rotation by default r=mkmik a=mkmik It's premature to enable key-rotation by default. See open issues like #185. Ref #137 This should unblock the possibility of cutting a release with a lot of important features and let users who want key-rotation to opt-in and deal with the consequences. Co-authored-by: Marko Mikulicic <[email protected]>
I'm sure many are far ahead of me on this, but I think a good solution to this would be to store a unique key id along with each encrypted value in the |
I also think that's an efficient approach. I'd just like to make sure it's done in a backward compatible way. Currently all keys are tried in turn until one succeeds. This already sucks when there are many keys and sucks even more if the whole list has to be iterated for every item of a secret |
Prepares the ground for addressing #185 and #199 without adding any feature. The only small side effect is that now private keys are attempted in random order (Go map iteration order). This could only affect users who have turned on the key rotation feature which, as mentioned in #137, is not yet ready for prime time in the first place.
Prepares the ground for addressing #185 and #199 without adding any feature. The only small side effect is that now private keys are attempted in random order (Go map iteration order). This could only affect users who have turned on the key rotation feature which, as mentioned in #137, is not yet ready for prime time in the first place.
Prepares the ground for addressing #185 and #199 without adding any feature. The only small side effect is that now private keys are attempted in random order (Go map iteration order). This could only affect users who have turned on the key rotation feature which, as mentioned in #137, is not yet ready for prime time in the first place.
Prepares the ground for addressing #185 and #199 without adding any feature. The only small side effect is that now private keys are attempted in random order (Go map iteration order). This could only affect users who have turned on the key rotation feature which, as mentioned in #137, is not yet ready for prime time in the first place.
Prepares the ground for addressing #185 and #199 without adding any feature. The only small side effect is that now private keys are attempted in random order (Go map iteration order). This could only affect users who have turned on the key rotation feature which, as mentioned in #137, is not yet ready for prime time in the first place.
Prepares the ground for addressing #185 and #199 without adding any feature. The only small side effect is that now private keys are attempted in random order (Go map iteration order). This could only affect users who have turned on the key rotation feature which, as mentioned in #137, is not yet ready for prime time in the first place.
Prepares the ground for addressing #185 and #199 without adding any feature. The only small side effect is that now private keys are attempted in random order (Go map iteration order). This could only affect users who have turned on the key rotation feature which, as mentioned in #137, is not yet ready for prime time in the first place.
Prepares the ground for addressing #185 and #199 without adding any feature. The only small side effect is that now private keys are attempted in random order (Go map iteration order). This could only affect users who have turned on the key rotation feature which, as mentioned in #137, is not yet ready for prime time in the first place.
Prepares the ground for addressing #185 and #199 without adding any feature. The only small side effect is that now private keys are attempted in random order (Go map iteration order). This could only affect users who have turned on the key rotation feature which, as mentioned in #137, is not yet ready for prime time in the first place.
214: Refactor key book-keeping r=mkmik a=mkmik Prepares the ground for addressing #185 and #199 without adding any feature. The only small side effect is that now private keys are attempted in random order (Go map iteration order). This could only affect users who have turned on the key rotation feature which, as mentioned in #137, is not yet ready for prime time in the first place. Also improves on #190. Co-authored-by: Marko Mikulicic <[email protected]>
216: Handle items sealed with different keys r=mkmik a=mkmik Ref #185 This is not the best implementation, but it technically unblocks #185 and lets us incrementally implement a better solution (the current plan is to make kubeseal encode the fingerprint of the public key used to seal the secret in each item). Co-authored-by: Marko Mikulicic <[email protected]>
216: Handle items sealed with different keys r=mkmik a=mkmik Ref #185 This is not the best implementation, but it technically unblocks #185 and lets us incrementally implement a better solution (the current plan is to make kubeseal encode the fingerprint of the public key used to seal the secret in each item). Co-authored-by: Marko Mikulicic <[email protected]>
All major blocker issues have been already closed (#185, #190) and stakeholders have been given some time to play with the feature. Users can easily turn this off by setting an env var, see #234. I think we're ready to turn this on for everybody. We have time to improve the efficiency, see #226. Closes #137
All major blocker issues have been already closed (#185, #190) and stakeholders have been given some time to play with the feature. Users can easily turn this off by setting an env var, see #234. I think we're ready to turn this on for everybody. We have time to improve the efficiency, see #226. Closes #137
236: Turn on key rotation every 30 days r=mkmik a=mkmik All major blocker issues have been already closed (#185, #190) and stakeholders have been given some time to play with the feature. Users can easily turn this off by setting an env var, see #234. I think we're ready to turn this on for everybody. We have time to improve the efficiency, see #226. Closes #137 Co-authored-by: Marko Mikulicic <[email protected]>
With new new key rotation feature introduced in #143, the ability to append new values to an existing sealed secret is broken. Each time the controller restarts, a new key is generated and set as the active key. It looks like the unseal process expects all of the keys in a SealedSecret object to be encrypted using the same key.
Steps to Reproduce:
kubectl create secret generic mysecret --dry-run --from-literal=foo=bar -o yaml | kubeseal --format yaml
Output:
Restart sealed-secret-controller pod:
kubectl delete pod --namespace kube-system --selector=name=sealed-secrets-controller
Generate a new secret for foo2=bar2
kubectl create secret generic mysecret --dry-run --from-literal=foo2=bar2 -o yaml | kubeseal --format yaml
Output:
kubectl apply -f /tmp/ss.yaml
Result:
The text was updated successfully, but these errors were encountered: