Skip to content

Commit f14a754

Browse files
committed
Rewrite the admission plugins list
1 parent 239dc4c commit f14a754

File tree

1 file changed

+41
-29
lines changed

1 file changed

+41
-29
lines changed

content/en/docs/concepts/security/security-checklist.md

Lines changed: 41 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -314,13 +314,13 @@ Admission controllers can help to improve the security of the cluster. However,
314314
they can present risks themselves as they extend the API server and
315315
[should be properly secured](/blog/2022/01/19/secure-your-admission-controllers-and-webhooks/).
316316

317-
The following list present a number of admission controllers that could be
317+
The following lists present a number of admission controllers that could be
318318
considered to enhance the security posture of your cluster and application. It
319-
includes controllers that may be referenced in other parts of this document:
319+
includes controllers that may be referenced in other parts of this document.
320320

321-
[`AlwaysPullImages`](/docs/reference/access-authn-authz/admission-controllers/#alwayspullimages)
322-
: Enforces the usage of the latest version of a tagged image and ensures that the deployer
323-
has permissions to use the image.
321+
This first group of admission controllers includes plugins
322+
[enabled by default](/docs/reference/access-authn-authz/admission-controllers/#which-plugins-are-enabled-by-default),
323+
consider to leave them enabled unless you know what you are doing:
324324

325325
[`CertificateApproval`](/docs/reference/access-authn-authz/admission-controllers/#certificateapproval)
326326
: Performs additional authorization checks to ensure the approving user has
@@ -334,47 +334,59 @@ permission to sign certificate requests.
334334
: Rejects any certificate request that specifies a 'group' (or 'organization
335335
attribute') of `system:masters`.
336336

337-
[`DenyServiceExternalIPs`](/docs/reference/access-authn-authz/admission-controllers/#denyserviceexternalips)
338-
: Rejects all net-new usage of the `Service.spec.externalIPs` field. This is a mitigation for
339-
[CVE-2020-8554: Man in the middle using LoadBalancer or ExternalIPs](https://github.com/kubernetes/kubernetes/issues/97076).
340-
341-
[`EventRateLimit`](/docs/reference/access-authn-authz/admission-controllers/#eventratelimit)
342-
: Rate limits adding new Events to the API server.
343-
344-
[`ImagePolicyWebhook`](/docs/reference/access-authn-authz/admission-controllers/#imagepolicywebhook)
345-
: Allows enforcing additional controls for images through webhooks.
337+
[`LimitRanger`](/docs/reference/access-authn-authz/admission-controllers/#limitranger)
338+
: Enforce the LimitRange API constraints.
346339

347340
[`MutatingAdmissionWebhook`](/docs/reference/access-authn-authz/admission-controllers/#mutatingadmissionwebhook)
348341
: Allows the use of custom controllers through webhooks, these controllers may
349342
mutate requests that it reviews.
350343

344+
[`PodSecurity`](/docs/reference/access-authn-authz/admission-controllers/#podsecurity)
345+
: Replacement for Pod Security Policy, restricts security contexts of deployed
346+
Pods.
347+
348+
[`ResourceQuota`](/docs/reference/access-authn-authz/admission-controllers/#resourcequota)
349+
: Enforces resource quotas to prevent over-usage of resources.
350+
351+
[`ValidatingAdmissionWebhook`](/docs/reference/access-authn-authz/admission-controllers/#validatingadmissionwebhook)
352+
: Allows the use of custom controllers through webhooks, these controllers do
353+
not mutate requests that it reviews.
354+
355+
The second group includes plugin that are not enabled by default but in general
356+
availability state and recommended to improve your security posture:
357+
358+
[`DenyServiceExternalIPs`](/docs/reference/access-authn-authz/admission-controllers/#denyserviceexternalips)
359+
: Rejects all net-new usage of the `Service.spec.externalIPs` field. This is a mitigation for
360+
[CVE-2020-8554: Man in the middle using LoadBalancer or ExternalIPs](https://github.com/kubernetes/kubernetes/issues/97076).
361+
351362
[`NodeRestriction`](/docs/reference/access-authn-authz/admission-controllers/#noderestriction)
352363
: Restricts kubelet's permissions to only modify the pods API resources they own
353364
or the node API ressource that represent themselves. It also prevents kubelet
354365
from using the `node-restriction.kubernetes.io/` annotation, which can be used
355366
by an attacker with access to the kubelet's credentials to influence pod
356367
placement to the controlled node.
357368

358-
[`PodNodeSelector`](/docs/reference/access-authn-authz/admission-controllers/#podnodeselector)
359-
: Allows controls of node selectors within namespaces and cluster-wide.
369+
The third group includes plugins that are not enabled by default but could be
370+
considered for certain use cases:
360371

361-
[`PodSecurity`](/docs/reference/access-authn-authz/admission-controllers/#podsecurity)
362-
: Replacement for Pod Security Policy, restricts security contexts of deployed
363-
Pods.
372+
[`AlwaysPullImages`](/docs/reference/access-authn-authz/admission-controllers/#alwayspullimages)
373+
: Enforces the usage of the latest version of a tagged image and ensures that the deployer
374+
has permissions to use the image.
364375

365-
[`PodTolerationRestriction`](/docs/reference/access-authn-authz/admission-controllers/#podtolerationrestriction)
366-
: Allows control of pod tolerations permitted for pods within a namespace.
376+
[`ImagePolicyWebhook`](/docs/reference/access-authn-authz/admission-controllers/#imagepolicywebhook)
377+
: Allows enforcing additional controls for images through webhooks.
367378

368-
[`ResourceQuota`](/docs/reference/access-authn-authz/admission-controllers/#resourcequota)
369-
: Enforces resource quotas to prevent over-usage of resources.
379+
<!-- The fourth group includes plugins that are not enabled by default, still in
380+
alpha state but could be considered for certain use cases:
370381
371-
[`ValidatingAdmissionWebhook`](/docs/reference/access-authn-authz/admission-controllers/#validatingadmissionwebhook)
372-
: Allows the use of custom controllers through webhooks, these controllers do
373-
not mutate requests that it reviews.
382+
[`EventRateLimit`](/docs/reference/access-authn-authz/admission-controllers/#eventratelimit)
383+
: Rate limits adding new Events to the API server.
374384
375-
{{< note >}}
376-
Many of these admission controllers are [enabled by default](/docs/reference/access-authn-authz/admission-controllers/#which-plugins-are-enabled-by-default) by the API server.
377-
{{< /note >}}
385+
[`PodNodeSelector`](/docs/reference/access-authn-authz/admission-controllers/#podnodeselector)
386+
: Allows controls of node selectors within namespaces and cluster-wide.
387+
388+
[`PodTolerationRestriction`](/docs/reference/access-authn-authz/admission-controllers/#podtolerationrestriction)
389+
: Allows control of pod tolerations permitted for pods within a namespace. -->
378390

379391
## What's next
380392

0 commit comments

Comments
 (0)