Provenance is used to identify how an artifact was produced and from where it originated. SLSA provenance is an industry-standard method of representing that provenance. This policy verifies that an image has SLSA provenance and was signed by the expected subject and issuer when produced through GitHub Actions. It requires configuration based upon your own values.
apiVersion: kyverno.io/v1kind: ClusterPolicymetadata:name: verify-slsa-provenance-keylessannotations:policies.kyverno.io/title: Verify SLSA Provenance (Keyless)policies.kyverno.io/category: Software Supply Chain Securitypolicies.kyverno.io/severity: mediumpolicies.kyverno.io/subject: Podpolicies.kyverno.io/minversion: 1.8.3kyverno.io/kyverno-version: 1.9.0kyverno.io/kubernetes-version: "1.24"policies.kyverno.io/description: Provenance is used to identify how an artifact was produced and from where it originated. SLSA provenance is an industry-standard method of representing that provenance. This policy verifies that an image has SLSA provenance and was signed by the expected subject and issuer when produced through GitHub Actions. It requires configuration based upon your own values.spec:validationFailureAction: AuditwebhookTimeoutSeconds: 30rules:- name: check-slsa-keylessmatch:any:- resources:kinds:- PodverifyImages:- imageReferences:- myreg.org/path/repo:*attestations:- predicateType: https://slsa.dev/provenance/v0.2attestors:- count: 1entries:- keyless:subject: https://github.com/slsa-framework/slsa-github-generator/.github/workflows/generator_container_slsa3.yml@refs/tags/v*issuer: https://token.actions.githubusercontent.comrekor:url: https://rekor.sigstore.devconditions:- all:- key: "{{ regex_match('^https://github.com/slsa-framework/slsa-github-generator/.github/workflows/generator_container_slsa3.yml@refs/tags/v[0-9].[0-9].[0-9]$','{{ builder.id}}') }}"operator: Equalsvalue: true
Ensures that container images used to run Flux controllers in the cluster are signed with valid Cosign signatures. Prevents the deployment of untrusted or potentially compromised Flux images. Protects the integrity and security of the Flux deployment process.
A signed bundle is required
A signed bundle is required.