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
-
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
/1
whether 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-tester
with the ImageVerifier plugin here: https://github.com/BobyMCbobs/containerd-image-verifier-sigstore and a Talos extension to installpolicy-tester
andcontainerd-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