Comparé à Kyverno

Pas un remplaçant de Kyverno.

Kyverno régit toutes les ressources de votre cluster. Attestkeep n'en régit qu'une, l'image, et garde la trace de ce qu'il a décidé. Les deux se recoupent sur une seule règle, s'installent côte à côte sans conflit, et si vous utilisez déjà Kyverno, continuez à l'utiliser.

Ce qu'est Kyverno

Kyverno est le moteur de policies de Kubernetes, et ce titre n'a rien de complaisant : la CNCF l'a promu au statut graduated le 16 mars 2026, le niveau de Kubernetes, Prometheus, Envoy et Helm. Il valide, modifie, génère et nettoie des ressources de tout type ; ses policies sont des ressources Kubernetes, pas un langage qu'il faut d'abord apprendre ; il est publié sous Apache-2.0, sans licence à acheter.

Il vérifie aussi les images de container. Ses règles verifyImages et la plus récente ImageValidatingPolicy contrôlent les signatures et les attestations cosign (avec une clé publique, ou en keyless par rapport à une identité et un émetteur) et refusent un pod dont l'image ne porte pas ce que la policy exige. C'est une vraie sécurité d'image, et elle est gratuite. Quiconque prétend le contraire cherche à vous vendre quelque chose.

Où ils se recoupent

Sur une règle : cette image est-elle signée par quelqu'un en qui nous avons confiance ? Les deux projets y répondent à l'admission, les deux utilisent les formats de cosign, les deux fonctionnent avec une clé ou une identité keyless. Si la vérification de signature est tout ce dont vous avez besoin, Kyverno le fait déjà et vous n'avez pas besoin de nous pour cela.

La jonction

Un moteur de policies évalue la requête qu'il a devant lui. Il peut lire une attestation produite par quelqu'un d'autre et raisonner sur son contenu. Mais produire cette attestation, tenir à jour une base de vulnérabilités, rescanner une image admise il y a trois semaines parce qu'une CVE est sortie hier, et garder l'historique de chaque verdict pour pouvoir rendre compte d'une période : rien de cela n'est le travail d'un moteur de policies, et Kyverno ne le prétend pas.

C'est cette jonction que les équipes comblent avec un second outil et un pipeline entre les deux : un scanner qui écrit des rapports, un moteur qui les lit, et quelque part un tableur qui en fait quelque chose qu'un auditeur acceptera. Attestkeep, c'est cette jonction en une seule release : le scanner, la vérification de signature, le stockage des verdicts et le rapport sont le même programme, si bien que la trace d'une décision ne peut pas s'écarter de la décision.

Ce qu'Attestkeep n'a pas, c'est le reste de Kyverno. Il n'écrit pas de labels, ne génère pas de ressources, n'impose rien sur les replicas, les limites, les namespaces ou les network policies, et ne fait tourner aucun webhook de mutation. Hors de l'image, il n'a pas d'avis.

Tableau comparatif

Ce que Kyverno et Attestkeep apportent chacun
FonctionKyvernoAttestkeep
Vérification des signatures et attestations d'image à l'admissionOui, avec clé et keylessOui, avec clé et keyless
Scanner de vulnérabilités propreNonTrivy, intégré à la release
Rescan des images déjà en serviceNonToute image, chaque jour
Signalement des vulnérabilités exploitées connuesNonCISA KEV
Policy sur d'autres ressources que les imagesToute ressourceNon
Modifier et générer des ressourcesOuiNon, validation seulement
Trace de chaque décisionPolicy reportsStockage des verdicts, sous le hash de la policy
Rapport de période selon un jeu de contrôlesNon13 instruments, 293 exigences citées
Console dans la même releaseNonOui
LicenceApache-2.0, gratuitCommunity gratuite pour toujours ; éditions payantes : capacité, SSO, support

Les combiner

Ils sont conçus pour cohabiter. Attestkeep n'enregistre que des webhooks de validation, aucun webhook de mutation : il n'y a donc aucun problème d'ordre d'admission à prévoir. Il se limite en outre aux namespaces que vous lui indiquez. Kyverno garde tout ce qu'il faisait déjà, et la répartition logique est celle que suggèrent les noms : Kyverno s'occupe de la forme de vos ressources, Attestkeep du contenu de l'image et de la trace qui explique pourquoi elle a été admise.

Si vous exprimez déjà une règle d'image dans Kyverno, laissez-la là ou déplacez-la ici, mais pas les deux. Deux moteurs qui refusent le même pod produisent deux messages différents pour un seul refus, et la personne d'astreinte ne lit que le premier.

Lequel vous faut-il

Kyverno seul est la bonne réponse quand le problème est la policy à l'échelle du cluster, quand la vérification de signature couvre tout ce dont vous avez besoin en sécurité d'image, ou quand un scanner et un processus de preuve existent déjà ailleurs et fonctionnent.

Ajouter Attestkeep se justifie dès qu'on vous pose une question à laquelle un moteur de policies ne peut pas répondre à partir de la requête qu'il a devant lui : qu'est-ce qui tournait le trimestre dernier, qu'avons-nous refusé et pourquoi, laquelle de ces vulnérabilités est réellement exploitée, et où se trouve l'enregistrement signé qui l'atteste. Le paquet de preuves est cette réponse, et la Community Edition est gratuite pour toujours : vous pouvez mettre les deux côte à côte sur votre propre cluster avant de décider quoi que ce soit.

Installez-le vous-même.

Créez un compte, confirmez votre e-mail avec le code envoyé, prenez la clé Community gratuite sur la page Licences et installez avec Helm.

Créer un compte