Skip to content

Commit 32aad9d

Browse files
committed
KEP-3221: Promote StructuredAuthorizationConfiguration to GA
1 parent 35e7e1d commit 32aad9d

File tree

5 files changed

+42
-9
lines changed

5 files changed

+42
-9
lines changed

content/en/docs/reference/access-authn-authz/authorization.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ You can use the following modes:
177177
* `--authorization-mode=AlwaysDeny` (always denies requests)
178178

179179
You can choose more than one authorization mode; for example:
180-
`--authorization-mode=Node,Webhook`
180+
`--authorization-mode=Node,RBAC,Webhook`
181181

182182
Kubernetes checks authorization modules based on the order that you specify them
183183
on the API server's command line, so an earlier module has higher priority to allow
@@ -197,7 +197,7 @@ For more information on command line arguments to the API server, read the
197197

198198
{{< feature-state feature_gate_name="StructuredAuthorizationConfiguration" >}}
199199

200-
As a beta feature, Kubernetes lets you configure authorization chains that can include multiple
200+
Kubernetes lets you configure authorization chains that can include multiple
201201
webhooks. The authorization items in that chain can have well-defined parameters that validate
202202
requests in a particular order, offering you fine-grained control, such as explicit Deny on failures.
203203

@@ -220,7 +220,7 @@ are only available if you use an authorization configuration file.
220220
#
221221
# DO NOT USE THE CONFIG AS IS. THIS IS AN EXAMPLE.
222222
#
223-
apiVersion: apiserver.config.k8s.io/v1beta1
223+
apiVersion: apiserver.config.k8s.io/v1
224224
kind: AuthorizationConfiguration
225225
authorizers:
226226
- type: Webhook

content/en/docs/reference/access-authn-authz/node.md

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,24 @@ the local `hostname` and the `--hostname-override` option.
6969
For specifics about how the kubelet determines the hostname, see the
7070
[kubelet options reference](/docs/reference/command-line-tools-reference/kubelet/).
7171

72-
To enable the Node authorizer, start the apiserver with `--authorization-mode=Node`.
72+
To enable the Node authorizer, start the {{< glossary_tooltip text="API server" term_id="kube-apiserver" >}}
73+
with the `--authorization-config` flag set to a file that includes the `Node` authorizer; for example:
74+
75+
```yaml
76+
apiVersion: apiserver.config.k8s.io/v1
77+
kind: AuthorizationConfiguration
78+
authorizers:
79+
...
80+
- type: Node
81+
...
82+
```
83+
84+
Or, start the {{< glossary_tooltip text="API server" term_id="kube-apiserver" >}} with
85+
the `--authorization-mode` flag set to a comma-separated list that includes `Node`;
86+
for example:
87+
```shell
88+
kube-apiserver --authorization-mode=...,Node --other-options --more-options
89+
```
7390

7491
To limit the API objects kubelets are able to write, enable the
7592
[NodeRestriction](/docs/reference/access-authn-authz/admission-controllers#noderestriction)

content/en/docs/reference/access-authn-authz/rbac.md

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,22 @@ RBAC authorization uses the `rbac.authorization.k8s.io`
2020
decisions, allowing you to dynamically configure policies through the Kubernetes API.
2121

2222
To enable RBAC, start the {{< glossary_tooltip text="API server" term_id="kube-apiserver" >}}
23-
with the `--authorization-mode` flag set to a comma-separated list that includes `RBAC`;
23+
with the `--authorization-config` flag set to a file that includes the `RBAC` authorizer; for example:
24+
25+
```yaml
26+
apiVersion: apiserver.config.k8s.io/v1
27+
kind: AuthorizationConfiguration
28+
authorizers:
29+
...
30+
- type: RBAC
31+
...
32+
```
33+
34+
Or, start the {{< glossary_tooltip text="API server" term_id="kube-apiserver" >}} with
35+
the `--authorization-mode` flag set to a comma-separated list that includes `RBAC`;
2436
for example:
2537
```shell
26-
kube-apiserver --authorization-mode=Example,RBAC --other-options --more-options
38+
kube-apiserver --authorization-mode=...,RBAC --other-options --more-options
2739
```
2840

2941
## API objects {#api-overview}

content/en/docs/reference/command-line-tools-reference/feature-gates/structured-authorization-configuration.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,17 @@ _build:
66
render: false
77

88
stages:
9-
- stage: alpha
9+
- stage: alpha
1010
defaultValue: false
1111
fromVersion: "1.29"
1212
toVersion: "1.29"
13-
- stage: beta
13+
- stage: beta
1414
defaultValue: true
1515
fromVersion: "1.30"
16+
toVersion: "1.31"
17+
- stage: stable
18+
defaultValue: true
19+
fromVersion: "1.32"
1620
---
1721
Enable structured authorization configuration, so that cluster administrators
1822
can specify more than one [authorization webhook](/docs/reference/access-authn-authz/webhook/)

content/en/docs/setup/production-environment/_index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,7 @@ As someone setting up authentication and authorization on your production Kubern
232232

233233
- *Set the authorization mode*: When the Kubernetes API server
234234
([kube-apiserver](/docs/reference/command-line-tools-reference/kube-apiserver/))
235-
starts, the supported authentication modes must be set using the *--authorization-mode*
235+
starts, supported authorization modes must be set using an *--authorization-config* file or the *--authorization-mode*
236236
flag. For example, that flag in the *kube-adminserver.yaml* file (in */etc/kubernetes/manifests*)
237237
could be set to Node,RBAC. This would allow Node and RBAC authorization for authenticated requests.
238238
- *Create user certificates and role bindings (RBAC)*: If you are using RBAC

0 commit comments

Comments
 (0)