Skip to content

Commit 5fdccf9

Browse files
author
Tim Bannister
committed
Revise advice about authz modes
1 parent f833f4f commit 5fdccf9

File tree

1 file changed

+22
-9
lines changed

1 file changed

+22
-9
lines changed

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

Lines changed: 22 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -116,13 +116,26 @@ the Kubernetes API.
116116

117117
The Kubernetes API server may authorize a request using one of several authorization modes:
118118

119-
* **AlwaysAllow** - This mode allows all requests. Use this authorization mode only if you do not require authorization for your API requests (for example, for testing).
120-
* **AlwaysDeny** - This mode blocks all requests. Use this authorization mode only for testing.
121-
* **ABAC** - [Attribute-Based Access Control](/docs/reference/access-authn-authz/abac/) (ABAC) mode defines an access control paradigm whereby access rights are granted to users through the use of policies which combine attributes together. The policies can use any type of attributes (user attributes, resource attributes, object, environment attributes, etc).
122-
* **RBAC** - [Role-based access control](/docs/reference/access-authn-authz/rbac/) (RBAC) is a method of regulating access to computer or network resources based on the roles of individual users within an enterprise. In this context, access is the ability of an individual user to perform a specific task, such as view, create, or modify a file.
123-
* Kubernetes RBAC uses the `rbac.authorization.k8s.io` API group to drive authorization decisions, allowing you to dynamically configure permission policies through the Kubernetes API.
124-
* **Node** - A special-purpose authorization mode that grants permissions to kubelets based on the pods they are scheduled to run. To learn more about the Node authorization mode, see [Node Authorization](/docs/reference/access-authn-authz/node/).
125-
* **Webhook** - Kubernetes [webhook mode](/docs/reference/access-authn-authz/webhook/) for authorization makes a synchronous HTTP callout, blocking the request until the remote HTTP service responds to the query.
119+
`AlwaysAllow`
120+
: This mode allows all requests, which brings [security risks](#warning-always-allow). Use this authorization mode only if you do not require authorization for your API requests (for example, for testing).
121+
122+
`AlwaysDeny`
123+
: This mode blocks all requests. Use this authorization mode only for testing.
124+
125+
`ABAC` ([attribute-based access control](/docs/reference/access-authn-authz/abac/))
126+
: Kubernetes ABAC mode defines an access control paradigm whereby access rights are granted to users through the use of policies which combine attributes together. The policies can use any type of attributes (user attributes, resource attributes, object, environment attributes, etc).
127+
128+
`RBAC` ([role-based access control](/docs/reference/access-authn-authz/rbac/))
129+
: Kubernetes RBAC is a method of regulating access to computer or network resources based on the roles of individual users within an enterprise. In this context, access is the ability of an individual user to perform a specific task, such as view, create, or modify a file.
130+
In this mode, Kubernetes uses the `rbac.authorization.k8s.io` API group to drive authorization decisions, allowing you to dynamically configure permission policies through the Kubernetes API.
131+
132+
`Node`
133+
: A special-purpose authorization mode that grants permissions to kubelets based on the pods they are scheduled to run. To learn more about the Node authorization mode, see [Node Authorization](/docs/reference/access-authn-authz/node/).
134+
135+
`Webhook`
136+
: Kubernetes [webhook mode](/docs/reference/access-authn-authz/webhook/) for authorization makes a synchronous HTTP callout, blocking the request until the remote HTTP service responds to the query.You can write your own software to handle the callout, or use solutions from the ecosystem.
137+
138+
<a id="warning-always-allow" />
126139

127140
{{< warning >}}
128141
Enabling the `AlwaysAllow` mode bypasses authorization; do not use this on a cluster where
@@ -158,10 +171,10 @@ You can use the following modes:
158171

159172
* `--authorization-mode=ABAC` (Attribute-based access control mode)
160173
* `--authorization-mode=RBAC` (Role-based access control mode)
161-
* `--authorization-mode=Webhook` (Webhook authorization mode)
162174
* `--authorization-mode=Node` (Node authorizer)
175+
* `--authorization-mode=Webhook` (Webhook authorization mode)
176+
* `--authorization-mode=AlwaysAllow` (always allows requests; carries [security risks](#warning-always-allow))
163177
* `--authorization-mode=AlwaysDeny` (always denies requests)
164-
* `--authorization-mode=AlwaysAllow` (always allows requests; carries security risks)
165178

166179
You can choose more than one authorization mode; for example:
167180
`--authorization-mode=Node,Webhook`

0 commit comments

Comments
 (0)