You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: keps/sig-auth/4412-projected-service-account-tokens-for-kubelet-image-credential-providers/README.md
+18-1Lines changed: 18 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -667,6 +667,8 @@ in back-to-back releases.
667
667
- Unit tests for current credential provider logic unchanged when token attributes are not set
668
668
- Unit tests for credential provider logic when token attributes are set
669
669
- Initial e2e tests completed and enabled
670
+
- `ServiceAccountNodeAudienceRestriction`feature gate implemented in KAS as a beta feature
671
+
- Audience validation is enabled by default for service account tokens requested by the kubelet
670
672
671
673
#### Post Alpha
672
674
@@ -675,6 +677,7 @@ in back-to-back releases.
675
677
#### Beta
676
678
677
679
- The implementation works well with the Ensure secret pull images KEP and supports pod image pull policy set to any value.
680
+
- `ServiceAccountNodeAudienceRestriction`feature gate is beta in KAS and enabled by default. This feature needs to be enabled be beta/enabled by default at least one release before this KEP goes to beta. This is critical to support downgrade use cases.
678
681
- Add metrics
679
682
680
683
#### GA
@@ -722,7 +725,9 @@ Migration of the workloads to the new approach can be done per image or per regi
722
725
723
726
When things can fail:
724
727
725
-
1. If the kubelet is updated to enable the feature flag and the credential provider is configured with the `TokenAttributes` field set, but the KAS is not updated with `--allowed-kubelet-audiences` to allow the kubelet to generate service account tokens for the audience configured in the kubelet credential provider configuration, the image pull will fail. The old KAS will reject the token request from the kubelet.
728
+
If the kubelet is updated to enable the feature flag and the credential provider is configured with the `TokenAttributes` field set, but the KAS is not updated with `--allowed-kubelet-audiences` to allow the kubelet to generate service account tokens for the audience configured in the kubelet credential provider configuration, the image pull will fail. The old KAS will reject the token request from the kubelet.
729
+
730
+
Today we don't do any validation on the audience value that the kubelet requested -> we only check that the SA is in use on some pod scheduled to the kubelet. As part of this KEP, we're introducing a new feature gate `ServiceAccountNodeAudienceRestriction` in KAS to validate the audience value that the kubelet requests is either part of any API spec or is in the list of audiences configured in KAS via the `--allowed-kubelet-audiences` CLI flag. This audience validation will be beta/enabled by default at least one release before this KEP goes to beta.
726
731
727
732
## Production Readiness Review Questionnaire
728
733
@@ -778,6 +783,18 @@ FeatureSpec{
778
783
}
779
784
```
780
785
786
+
- [x] Feature gate (also fill in values in `kep.yaml`)
0 commit comments