Files

1.2 KiB

Workflow - Image Provenance with Cosign

Phase 1: Setup

  1. Install cosign CLI
  2. Choose signing method: keyless (recommended) or key-based
  3. If key-based: generate keys, store private key in KMS
  4. Configure CI/CD OIDC token for keyless signing

Phase 2: Build Pipeline Integration

  1. Build container image
  2. Push to registry (by digest)
  3. Sign image with cosign (keyless or key-based)
  4. Generate SBOM with syft
  5. Attach SBOM as attestation
  6. Attach vulnerability scan as attestation

Phase 3: Admission Enforcement

  1. Deploy policy-controller or Kyverno
  2. Create ClusterImagePolicy requiring signatures
  3. Test with signed image (should pass)
  4. Test with unsigned image (should be denied)
  5. Enable enforcement in production namespaces

Phase 4: Verification

# Manual verification
cosign verify --certificate-identity=CI_IDENTITY \
  --certificate-oidc-issuer=ISSUER \
  IMAGE@DIGEST

# Verify SBOM attestation
cosign verify-attestation --type cyclonedx \
  --certificate-identity=CI_IDENTITY \
  --certificate-oidc-issuer=ISSUER \
  IMAGE@DIGEST

Phase 5: Monitoring

  1. Check Rekor transparency log for audit trail
  2. Monitor admission controller deny events
  3. Alert on unsigned image deployment attempts