Skip to content

Commit ca8fc90

Browse files
committed
KEP-3221: update for 1.30
Signed-off-by: Rita Zhang <[email protected]>
1 parent c9c98d8 commit ca8fc90

File tree

1 file changed

+14
-13
lines changed
  • keps/sig-auth/3221-structured-authorization-configuration

1 file changed

+14
-13
lines changed

keps/sig-auth/3221-structured-authorization-configuration/README.md

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ within the new file structure
109109
Add a configuration format having specific precedence order and defined failure modes for configuring authorizer chain. See [Design Details](#design-details) for more details.
110110

111111
```yaml
112-
apiVersion: apiserver.config.k8s.io/v1alpha1
112+
apiVersion: apiserver.config.k8s.io/v1beta1
113113
kind: AuthorizationConfiguration
114114
authorizers:
115115
- name: system-webhook
@@ -170,7 +170,7 @@ Note: The above are hypothetical for now since there has been no decision on
170170
protection rules for system CRDs. The below example is only for demonstration
171171
purposes.
172172
```yaml
173-
apiVersion: apiserver.config.k8s.io/v1alpha1
173+
apiVersion: apiserver.config.k8s.io/v1beta1
174174
kind: AuthorizationConfiguration
175175
authorizers:
176176
- type: Webhook
@@ -211,7 +211,7 @@ separate webhooks, leading to more predictable outcomes.
211211

212212
The below example is only for demonstration purposes.
213213
```yaml
214-
apiVersion: apiserver.config.k8s.io/v1alpha1
214+
apiVersion: apiserver.config.k8s.io/v1beta1
215215
kind: AuthorizationConfiguration
216216
authorizers:
217217
- name: system-crd-protector
@@ -312,25 +312,26 @@ reloader would pick up the changes. There would be a minutes order of delay.
312312
The configuration would be validated at startup and the API server will fail to
313313
start if the configuration is invalid.
314314

315-
The API server will periodically reload the configuration at a specific time
316-
interval. If it or any of referenced files change, and the new configuration
317-
passes validation, then the new configuration will be used for the Authorizer
318-
chain. The reloader will also check if the webhook is healthy, thereby
319-
preventing any typo/misconfiguration with the Webhook resulting in bad
320-
Authorizer config. If healthcheck on the webhook failed, the last known good
315+
The API server will periodically reload the configuration when an observed file
316+
event occurs or a 1 minute poll is encountered. All non-webhook authorizer types
317+
are required to remain unchanged in the file on reload. Reload must not add or
318+
remove Node or RBAC authorizers. They can be reordered, but cannot be added or
319+
removed. If the new configuration passes validation, then the new configuration
320+
will be used for the Authorizer chain. The reloader will also check if the webhook
321+
is healthy, thereby preventing any typo/misconfiguration with the Webhook resulting
322+
in bad Authorizer config. If healthcheck on the webhook failed, the last known good
321323
config will be used. In the next iteration of reload, if webhook is found to be
322324
healthy, the new config will be used. Logging and metrics would be used to
323325
signal success/failure of a config reload so that cluster admins can have
324-
observability over this process. Reload must not add or remove Node or RBAC
325-
authorizers. They can be reordered, but cannot be added or removed.
326+
observability over this process.
326327

327328
The proposed structure is illustrated below:
328329

329330
> The sample configuration describes all the fields, their defaults and possible
330331
values.
331332

332333
```yaml
333-
apiVersion: apiserver.config.k8s.io/v1alpha1
334+
apiVersion: apiserver.config.k8s.io/v1beta1
334335
kind: AuthorizationConfiguration
335336
authorizers:
336337
- type: Webhook
@@ -346,7 +347,7 @@ authorizers:
346347
# Same as setting `--authorization-webhook-cache-authorized-ttl` flag
347348
# Default: 5m0s
348349
authorizedTTL: 30s
349-
# The duration to cache 'authorized' responses from the webhook
350+
# The duration to cache 'unauthorized' responses from the webhook
350351
# authorizer.
351352
# Same as setting `--authorization-webhook-cache-unauthorized-ttl` flag
352353
# Default: 30s

0 commit comments

Comments
 (0)