The module is enabled by default in the following bundles: Default, Managed.
The module is disabled by default in the Minimal bundle.
The module is configured using the ModuleConfig custom resource named admission-policy-engine (learn more about setting up Deckhouse…).
Example of the ModuleConfig/admission-policy-engine resource for configuring the module:
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: admission-policy-engine
spec:
version: 1
enabled: true
settings: # <-- Module parameters from the "Parameters" section below.
Parameters
Schema version: 1
- objectdenyVulnerableImages
Trivy provider will deny creation of the
Pod/Deployment/StatefulSet/DaemonSetwith vulnerable images in namespaces withsecurity.deckhouse.io/trivy-provider: ""label.This feature is available in enterprise edition only.
- booleandenyVulnerableImages.enabled
Enable trivy provider.
Default:
false - array of objectsdenyVulnerableImages.registrySecrets
List of additional registry secrets to use for downloading images from private registries.
By default, the
deckhouse-registrysecret is used to download images for scanning.Default:
[]- stringdenyVulnerableImages.registrySecrets.name
Required value
- stringdenyVulnerableImages.registrySecrets.namespace
Required value
- stringdenyVulnerableImages.storageClass
The name of the StorageClass to use for
trivy-provider.false— forces theemptyDirusage. Manually delete the old PVC and restart Pod, after setting the parameter.Examples:
storageClass: ceph-ssdstorageClass: 'false'
- objectpodSecurityStandards
Pod Security Standards policy settings (PSS).
- stringpodSecurityStandards.defaultPolicy
Sets the default Pod Security Standards policy for all non-system namespaces:
Privileged— an unrestricted policy. Privilege escalation is possible with this policy;Baseline— a policy with minimum restrictions that prevents privilege escalation;Restricted— a policy with maximum restrictions that conforms to current best practices for securely running applications in a cluster.
By default:
Baseline— if a Deckhouse version starting with v1.55 is being installed;Privileged— if a Deckhouse version lower than v1.55 is being installed (upgrading Deckhouse in a cluster to v1.55+ does not automatically result in a default policy change).
Allowed values:
Privileged,Baseline,Restricted - stringpodSecurityStandards.enforcementAction
The enforcement action to control what to do with the result of the constraint.
- Deny — Deny action.
- Dryrun — No action. It is used when debugging. Information about the event can be viewed in Grafana or in the console via kubectl.
- Warn — Same as
Dryrun. In addition to the event information, it provides some info on why that constraint would have been denied if you had setDenyinstead ofWarn.
Default:
"Deny"Allowed values:
Warn,Deny,Dryrun - objectpodSecurityStandards.policies
Sets additional policy parameters.
- objectpodSecurityStandards.policies.hostPorts
HostPort constraint settings.
- array of objectspodSecurityStandards.policies.hostPorts.knownRanges
Set the range of known ports which will be allowed in a hostPort binding.
- integerpodSecurityStandards.policies.hostPorts.knownRanges.max
- integerpodSecurityStandards.policies.hostPorts.knownRanges.min