Skip to main content

Pod Security Fields

Reference

Lookup material for the Pod Security level of a discovered workload. For what the level means and how it relates to Kyverno results, see Pod Security level.

Self-managed installations only

Workload Trust is available only in private, self-managed AIControls installations, on premises or in a cloud cluster that you run. It needs a dedicated cluster that you run, with Kyverno, Kyverno Runtime, and cluster OIDC and RBAC access in place. Nirmata-hosted (SaaS) workspaces don't include it. See Feature availability.

API fields​

The workload detail response, GET /api/v1/workload-trust/{namespace}/{kind}/{name}, returns the level in discovery.podSecurity. The agent identity detail response returns the same object in workloadDiscovery.podSecurity. The field is absent when discovery read no pod template for the workload.

FieldTypeMeaning
levelstringThe highest level the pod template meets: privileged, baseline, or restricted.
violationsarray of stringsThe IDs of the checks that keep the template from the next level up. Omitted when the level is restricted.
checkVersionstringThe Pod Security Standards version that discovery applied, for example v1.37.
evaluatedAtUnixintegerWhen discovery evaluated the template, in Unix seconds.

How the level is chosen​

levelRuleviolations lists
privilegedThe template fails any Baseline check.The failing Baseline checks.
baselineThe template passes Baseline and fails a Restricted check.The failing Restricted checks.
restrictedThe template passes both.Nothing.

violations is sorted by check ID and holds at most 20 entries of at most 64 characters each.

Check IDs​

The IDs come from the upstream Pod Security Admission checks.

Check IDLevelWhat it forbids
privilegedBaselinePrivileged containers.
hostNamespacesBaselinehostNetwork, hostPID, and hostIPC.
hostPathVolumesBaselinehostPath volumes.
hostPortsBaselineHost ports.
hostProbesAndHostLifecycleBaselineProbe and lifecycle hooks that set a host field.
capabilities_baselineBaselineAdded capabilities outside the default set.
procMountBaselineAn unmasked /proc mount.
seccompProfile_baselineBaselineAn Unconfined seccomp profile.
seLinuxOptionsBaselineCustom SELinux types, users, and roles.
appArmorProfileBaselineAn Unconfined AppArmor profile.
sysctlsBaselineSysctls outside the safe set.
windowsHostProcessBaselineWindows HostProcess containers.
allowPrivilegeEscalationRestrictedContainers that don't set allowPrivilegeEscalation to false.
capabilities_restrictedRestrictedContainers that don't drop ALL capabilities.
runAsNonRootRestrictedContainers that don't require a non-root user.
runAsUserRestrictedRunning as user ID 0.
seccompProfile_restrictedRestrictedA missing seccomp profile.
restrictedVolumesRestrictedVolume types outside the Restricted allow list.
procMount_restrictedRestrictedA non-default /proc mount.

Storage​

Discovery stores the level on the workload's row in the discovered_workloads table, in the pod_security column, as JSON with the level, violations, checkVersion, and evaluatedAt fields. It never stores the pod template. A scan that reads no pod template clears the column.

See also​