Add configurable containerd level Sigstore container image signing requirements #10304
BobyMCbobs
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Suggestion
I'd like to be able to deploy a cluster which can only run workloads signed by a small selection of custom authorities (e.g kubernetes/release, Siderolabs, cert-manager, Cilium and my own keys).
Ideally I'd love to have offline binary-level authorization but this is the next best thing for today like macOS's Gatekeeper, GKE's Binary Authorization or santa.
Background
In Sigstore, there's the policy-controller project which works great for the most part but is too userland-y and needs Kubernetes ValidatingWebhook to function. It is rather slow and doesn't do caching.
Out of this project comes
tester(akapolicy-tester) which returns0/1whether an image matches a ClusterImagePolicy declaration.containerd has an ImageVerifier plugin which calls a set of binaries in a specified folder which expect specific arguments. Once all the programs return
0, the images are pulled and cached on the node.Progress
Today I wrote a small shim to connect containerd to
policy-testerwith the ImageVerifier plugin here: https://github.com/BobyMCbobs/containerd-image-verifier-sigstore and a Talos extension to installpolicy-testerandcontainerd-image-verifier-sigstore.Uncertainties
though, this is mitigated by caching and signing the images using a self-hosted registry.
though, this should be resolved if configs are replaced.
Beta Was this translation helpful? Give feedback.
All reactions