Skip to content

Commit f06402e

Browse files
authored
Merge pull request #24418 from liggitt/tls-server
Clarify external kubelet server approver requirements
2 parents 3208b29 + 92f837d commit f06402e

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

content/en/docs/reference/command-line-tools-reference/kubelet-tls-bootstrapping.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -415,6 +415,17 @@ approve node _serving_ certificates for [security
415415
reasons](https://github.com/kubernetes/community/pull/1982). To use
416416
`RotateKubeletServerCertificate` operators need to run a custom approving
417417
controller, or manually approve the serving certificate requests.
418+
419+
A deployment-specific approval process for kubelet serving certificates should typically only approve CSRs which:
420+
421+
1. are requested by nodes (ensure the `spec.username` field is of the form
422+
`system:node:<nodeName>` and `spec.groups` contains `system:nodes`)
423+
2. request usages for a serving certificate (ensure `spec.usages` contains `server auth`,
424+
optionally contains `digital signature` and `key encipherment`, and contains no other usages)
425+
3. only have IP and DNS subjectAltNames that belong to the requesting node,
426+
and have no URI and Email subjectAltNames (parse the x509 Certificate Signing Request
427+
in `spec.request` to verify `subjectAltNames`)
428+
418429
{{< /note >}}
419430

420431
## Other authenticating components

0 commit comments

Comments
 (0)