ValidatingAdmissionPolicy

k8sPolicy enginek8s-validating-admission-policy

In-process CEL admission rules evaluated by the API server instead of a validating webhook.

Provider
k8s
Category
Operations
Properties · 3 set by this component
propertytypevaluesrequiredkind defaultthis component
bindingRequired · component propertyboolean—notrueinherited
effectenumaudit | deny | modify | deploy-if-not-existsno—inherited
enforcementModeenumenforced | disabledno—inherited
expressionLanguage · component propertyenumcelnocelinherited
inProcess · component propertyboolean—notrueinherited
managedboolean—nofalse▸ false
policyCountinteger—no—inherited
remediationboolean—nofalse▸ false
scopeenumresource | group | account | organizationno—▸ resource
validationAction · component propertyenumdeny | warn | auditno—inherited
Rules that apply · 0

Every rule whose selector covers this component's kind or its category. Whether a rule fires depends on the design: its properties, its edges and its groups.

No rule reads this kind yet. That is a gap, not a guarantee.
Use it in a design
nodes:
  - { id: "validating-admission-policy", component: "k8s-validating-admission-policy" }
Other Policy engine products · 56
Cloud Configalibaba-cloud-configalibabacloudpolicy-engineData Security Centeralibaba-data-security-centeralibabacloudpolicy-engineAmazon CodeGuru Revieweraws-codeguru-reviewerawspolicy-engineAWS Configaws-configawspolicy-engineAWS Control Toweraws-control-towerawspolicy-engineIAM Access Analyzeraws-iam-access-analyzerawspolicy-engineAWS Lake Formationaws-lake-formationawspolicy-engineAWS License Manageraws-license-managerawspolicy-engineAWS Organizationsaws-organizationsawspolicy-engineAWS Resource Access Manageraws-ramawspolicy-engineAmazon Verified Permissionsaws-verified-permissionsawspolicy-engineMicrosoft Entra Conditional Accessazure-conditional-accessazurepolicy-engineAzure Policyazure-policyazurepolicy-engineMicrosoft Entra Privileged Identity Managementazure-privileged-identity-managementazurepolicy-engineCloudflare Data Loss Preventioncloudflare-dlpcloudflarepolicy-engineCalypsoAIcalypsoaipolicy-engineCerboscerbospolicy-engineOPA Gatekeepergatekeeperpolicy-engineGuardrails AIguardrails-aipolicy-engineHiddenLayer AI Security Platformhiddenlayerpolicy-engineKubeArmorkubearmorpolicy-engineKubewardenkubewardenpolicy-engineKyvernokyvernopolicy-engineLakera Guardlakera-guardpolicy-engineLLM Guardllm-guardpolicy-engineNeMo Guardrailsnemo-guardrailspolicy-engineOpen Policy Agentopapolicy-enginePermit.iopermit-iopolicy-engineGeneric policy enginepolicy-enginepolicy-enginePrompt Securityprompt-securitypolicy-engineProtect AIprotect-aipolicy-engineRebuffrebuffpolicy-engineRobust Intelligencerobust-intelligencepolicy-engineSonarQube Serversonarqubepolicy-engineDigitalOcean CSPMdigitalocean-cspmdigitaloceanpolicy-engineAccess Context Managergoogle-access-context-managergcppolicy-engineAssured Workloadsgoogle-assured-workloadsgcppolicy-engineBinary Authorizationgoogle-binary-authorizationgcppolicy-engineIdentity and Access Managementgoogle-cloud-iamgcppolicy-engineFirebase App Checkgoogle-firebase-app-checkgcppolicy-engine
and 16 more → Policy engine page
Source
# yaml-language-server: $schema=../../schema/component.schema.json
# Kubernetes ValidatingAdmissionPolicy: "a declarative, in-process alternative to validating
# admission webhooks" that expresses admission rules in CEL ("Validating Admission Policy").
# Per that page it is `admissionregistration.k8s.io/v1`, stable since v1.30, and evaluated
# inside the API server with no webhook server to call. A policy does nothing until a
# ValidatingAdmissionPolicyBinding scopes it and names its validationActions; there is no
# default action, at least one of Deny, Warn or Audit must be declared, and Deny and Warn
# cannot be combined.
schemaVersion: "1"
type: "component"
id: "k8s-validating-admission-policy"
kind: "policy-engine"
provider: "k8s"
docs: "https://kubernetes.io/docs/reference/access-authn-authz/validating-admission-policy/"
defaults:
  managed: false
  scope: "resource"
  remediation: false
properties:
  validationAction:
    type: "enum"
    values: ["deny", "warn", "audit"]
  expressionLanguage:
    type: "enum"
    values: ["cel"]
    default: "cel"
  bindingRequired:
    type: "boolean"
    default: true
  inProcess:
    type: "boolean"
    default: true

The same page as markdown, for an agent: /catalogue/components/k8s-validating-admission-policy.md