mirror of
https://github.com/kyverno/kyverno.git
synced 2025-03-23 00:01:55 +00:00
60 lines
2.6 KiB
YAML
60 lines
2.6 KiB
YAML
|
apiVersion: policies.kyverno.io/v1alpha1
|
||
|
kind: ImageVerificationPolicy
|
||
|
metadata:
|
||
|
name: ivpol-sample
|
||
|
spec:
|
||
|
webhookConfiguration:
|
||
|
timeoutSeconds: 20
|
||
|
failurePolicy: Ignore
|
||
|
validationActions:
|
||
|
- Deny
|
||
|
matchConstraints:
|
||
|
resourceRules:
|
||
|
- apiGroups: [""]
|
||
|
apiVersions: ["v1"]
|
||
|
operations: ["CREATE"]
|
||
|
resources: ["pods"]
|
||
|
matchConditions:
|
||
|
- name: "check-prod-label"
|
||
|
expression: >-
|
||
|
has(object.metadata.labels) && has(object.metadata.labels.prod) && object.metadata.labels.prod == 'true'
|
||
|
imageRules:
|
||
|
- glob: ghcr.io/*
|
||
|
attestors:
|
||
|
- name: notary
|
||
|
notary:
|
||
|
certs: |-
|
||
|
-----BEGIN CERTIFICATE-----
|
||
|
MIIDTTCCAjWgAwIBAgIJAPI+zAzn4s0xMA0GCSqGSIb3DQEBCwUAMEwxCzAJBgNV
|
||
|
BAYTAlVTMQswCQYDVQQIDAJXQTEQMA4GA1UEBwwHU2VhdHRsZTEPMA0GA1UECgwG
|
||
|
Tm90YXJ5MQ0wCwYDVQQDDAR0ZXN0MB4XDTIzMDUyMjIxMTUxOFoXDTMzMDUxOTIx
|
||
|
MTUxOFowTDELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAldBMRAwDgYDVQQHDAdTZWF0
|
||
|
dGxlMQ8wDQYDVQQKDAZOb3RhcnkxDTALBgNVBAMMBHRlc3QwggEiMA0GCSqGSIb3
|
||
|
DQEBAQUAA4IBDwAwggEKAoIBAQDNhTwv+QMk7jEHufFfIFlBjn2NiJaYPgL4eBS+
|
||
|
b+o37ve5Zn9nzRppV6kGsa161r9s2KkLXmJrojNy6vo9a6g6RtZ3F6xKiWLUmbAL
|
||
|
hVTCfYw/2n7xNlVMjyyUpE+7e193PF8HfQrfDFxe2JnX5LHtGe+X9vdvo2l41R6m
|
||
|
Iia04DvpMdG4+da2tKPzXIuLUz/FDb6IODO3+qsqQLwEKmmUee+KX+3yw8I6G1y0
|
||
|
Vp0mnHfsfutlHeG8gazCDlzEsuD4QJ9BKeRf2Vrb0ywqNLkGCbcCWF2H5Q80Iq/f
|
||
|
ETVO9z88R7WheVdEjUB8UrY7ZMLdADM14IPhY2Y+tLaSzEVZAgMBAAGjMjAwMAkG
|
||
|
A1UdEwQCMAAwDgYDVR0PAQH/BAQDAgeAMBMGA1UdJQQMMAoGCCsGAQUFBwMDMA0G
|
||
|
CSqGSIb3DQEBCwUAA4IBAQBX7x4Ucre8AIUmXZ5PUK/zUBVOrZZzR1YE8w86J4X9
|
||
|
kYeTtlijf9i2LTZMfGuG0dEVFN4ae3CCpBst+ilhIndnoxTyzP+sNy4RCRQ2Y/k8
|
||
|
Zq235KIh7uucq96PL0qsF9s2RpTKXxyOGdtp9+HO0Ty5txJE2txtLDUIVPK5WNDF
|
||
|
ByCEQNhtHgN6V20b8KU2oLBZ9vyB8V010dQz0NRTDLhkcvJig00535/LUylECYAJ
|
||
|
5/jn6XKt6UYCQJbVNzBg/YPGc1RF4xdsGVDBben/JXpeGEmkdmXPILTKd9tZ5TC0
|
||
|
uOKpF5rWAruB5PCIrquamOejpXV9aQA/K2JQDuc0mcKz
|
||
|
-----END CERTIFICATE-----
|
||
|
attestations:
|
||
|
- name: sbom
|
||
|
referrer:
|
||
|
type: sbom/cyclone-dx
|
||
|
verifications:
|
||
|
- expression: >-
|
||
|
images.containers.map(image, verifyImageSignatures(image, [attestors.notary])).all(e, e > 0)
|
||
|
message: failed to verify image with notary cert
|
||
|
- expression: >-
|
||
|
images.containers.map(image, verifyAttestationSignatures(image, attestations.sbom ,[attestors.notary])).all(e, e > 0)
|
||
|
message: failed to verify attestation with notary cer
|
||
|
- expression: >-
|
||
|
images.containers.map(image, payload(image, attestations.sbom).bomFormat == 'CycloneDX').all(e, e)
|
||
|
message: sbom is not a cyclone dx sbom
|