// Module included in the following assemblies:
//
// * architecture/admission-plug-ins.adoc

:_mod-docs-content-type: CONCEPT
[id="admission-plug-ins-about_{context}"]
= About admission plugins

[role="_abstract"]
Admission plugins enforce security standards, resource limits, and configuration requirements across your cluster.
These plugins intercept and validate authenticated API requests to ensure compliance with cluster policies.

After a request is authenticated and authorized, the admission plugins ensure that any associated policies are followed.

Admission plugins run in sequence as an admission chain. If any admission plugin in the sequence rejects a request, the whole chain is aborted and an error is returned.

{product-title} has a default set of admission plugins enabled for each resource type. These are required for proper functioning of the cluster. Admission plugins ignore resources that they are not responsible for.

In addition to the defaults, the admission chain can be extended dynamically through webhook admission plugins that call out to custom webhook servers.
There are two types of webhook admission plugins: a mutating admission plugin and a validating admission plugin.
The mutating admission plugin runs first and can both modify resources and validate requests.
The validating admission plugin validates requests and runs after the mutating admission plugin so that modifications triggered by the mutating admission plugin can also be validated.

Calling webhook servers through a mutating admission plugin can produce side effects on resources related to the target object. In such situations, you must take steps to validate that the end result is as expected.

[WARNING]
====
Dynamic admission should be used cautiously because it impacts cluster control plane operations. When calling webhook servers through webhook admission plugins in {product-title} {product-version}, ensure that you have read the documentation fully and tested for side effects of mutations. Include steps to restore resources back to their original state prior to mutation, in the event that a request does not pass through the entire admission chain.
====
