Skip to content

Commit e59f6a2

Browse files
authored
docs(oauth): updates oauth config references (#12141)
Signed-off-by: prmellor <pmellor@redhat.com>
1 parent c5bc2b1 commit e59f6a2

15 files changed

Lines changed: 35 additions & 84 deletions

documentation/assemblies/oauth/assembly-oauth-security.adoc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,10 @@ Scopes correspond to different levels of access to Kafka topics or operations wi
1313

1414
OAuth 2.0 also supports single sign-on and integration with identity providers.
1515

16+
NOTE: The authentication type `oauth` and `keycloak` authorization type are deprecated and will be removed in a future release.
17+
Use the `custom` authentication and authorization type to configure token-based security on listeners and components.
18+
This content is currently being updated to reflect the transition to the `custom` authentication type.
19+
1620
ifdef::Section[]
1721
For more information on using OAuth 2.0, see the link:https://github.com/strimzi/strimzi-kafka-oauth[Strimzi OAuth 2.0 for Apache Kafka project^].
1822
endif::Section[]

documentation/modules/configuring/con-config-examples.adoc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,9 @@ examples
4242
--
4343
<1> `KafkaUser` custom resource configuration, which is managed by the User Operator.
4444
<2> `KafkaTopic` custom resource configuration, which is managed by Topic Operator.
45-
<3> Authentication and authorization configuration for Kafka components. Includes example configuration for TLS and SCRAM-SHA-512 authentication. The Keycloak example includes `Kafka` custom resource configuration and a Keycloak realm specification. You can use the example to try Keycloak authorization services. There is also an example with enabled `oauth` authentication and `keycloak` authorization metrics.
45+
<3> Authentication and authorization configuration for Kafka components.
46+
Includes example configuration for TLS and SCRAM-SHA-512 authentication.
47+
The Keycloak examples include a Keycloak realm specification and two `Kafka` custom resources with `type: custom` definitions for using OAuth 2.0 authentication and Keycloak authorization with or without metrics enabled.
4648
<4> `KafkaMirrorMaker2` custom resource configurations for a deployment of MirrorMaker 2. Includes example configuration for replication policy and synchronization frequency.
4749
<5> xref:assembly-metrics-config-files-{context}[Metrics configuration], including Prometheus installation and Grafana dashboard files.
4850
<6> `Kafka` and `KafkaNodePool` custom resource configurations for a deployment of Kafka clusters that use KRaft mode. Includes example configuration for an ephemeral or persistent single or multi-node deployment.

documentation/modules/configuring/con-config-http-bridge.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ spec:
125125
<4> CORS access specifying selected resources and access methods. Additional HTTP headers in requests describe the origins that are permitted access to the Kafka cluster.
126126
<5> Requests for reservation of supported resources, currently `cpu` and `memory`, and limits to specify the maximum resources that can be consumed.
127127
<6> TLS configuration for encrypted connections to the Kafka cluster, with trusted certificates stored in X.509 format within the specified secrets.
128-
<7> Authentication for the HTTP Bridge cluster, specified as `tls`, `scram-sha-256`, `scram-sha-512`, `plain`, or `oauth`.
128+
<7> Authentication for the HTTP Bridge cluster, specified as `tls`, `scram-sha-256`, `scram-sha-512`, `plain`, or `custom`.
129129
By default, the HTTP Bridge connects to Kafka brokers without authentication.
130130
For details on configuring authentication, see the link:{BookURLConfiguring}#type-KafkaBridgeSpec-schema-reference[`KafkaBridgeSpec` schema properties^]
131131
<8> Consumer configuration options.

documentation/modules/configuring/con-config-kafka-connect.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ In this example, JSON convertors are specified.
175175
A replication factor of 3 is set for the internal topics used by Kafka Connect (minimum requirement for production environment).
176176
Changing the replication factor after the topics have been created has no effect.
177177
<10> Requests for reservation of supported resources, currently `cpu` and `memory`, and limits to specify the maximum resources that can be consumed.
178-
<11> Authentication for the Kafka Connect cluster, specified as `tls`, `scram-sha-256`, `scram-sha-512`, `plain`, or `oauth`.
178+
<11> Authentication for the Kafka Connect cluster, specified as `tls`, `scram-sha-256`, `scram-sha-512`, `plain`, or `custom`.
179179
By default, Kafka Connect connects to Kafka brokers using a plaintext connection.
180180
For details on configuring authentication, see the link:{BookURLConfiguring}#type-KafkaConnectSpec-schema-reference[`KafkaConnectSpec` schema properties^].
181181
<12> TLS configuration for encrypted connections to the Kafka cluster, with trusted certificates stored in X.509 format within the specified secrets.

documentation/modules/configuring/con-config-kafka-kraft.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ spec:
157157
<4> Listener type specified as `internal` or `cluster-ip` (to expose Kafka using per-broker `ClusterIP` services), or for external listeners, as `route` (OpenShift only), `loadbalancer`, `nodeport` or `ingress` (Kubernetes only).
158158
<5> Enables or disables TLS encryption for each listener. For `route` and `ingress` type listeners, TLS encryption must always be enabled by setting it to `true`.
159159
<6> Defines whether the fully-qualified DNS names including the cluster service suffix (usually `.cluster.local`) are assigned.
160-
<7> Listener authentication mechanism specified as mTLS, SCRAM-SHA-512, or token-based OAuth 2.0.
160+
<7> Listener authentication mechanism specified as mTLS, SCRAM-SHA-512, or custom.
161161
<8> External listener configuration specifies how the Kafka cluster is exposed outside Kubernetes, such as through a `route`, `loadbalancer` or `nodeport`.
162162
<9> Optional configuration for a Kafka listener certificate managed by an external CA (certificate authority). The `brokerCertChainAndKey` specifies a `Secret` that contains a server certificate and a private key. You can configure Kafka listener certificates on any listener with enabled TLS encryption.
163163
<10> Kafka version, which can be changed to a supported version by following the upgrade procedure.
@@ -167,7 +167,7 @@ spec:
167167
<14> Healthchecks to know when to restart a container (liveness) and when a container can accept traffic (readiness).
168168
<15> JVM configuration options to optimize performance for the Virtual Machine (VM) running Kafka.
169169
<16> ADVANCED OPTION: Container image configuration, which is recommended only in special situations.
170-
<17> Authorization enables simple, OAuth 2.0, custom, or OPA (deprecated) authorization on the Kafka broker. Simple authorization uses the `StandardAuthorizer` Kafka plugin.
170+
<17> Authorization enables simple and custom authorization on the Kafka broker. Simple authorization uses the `StandardAuthorizer` Kafka plugin.
171171
<18> Rack awareness configuration to spread replicas across different racks, data centers, or availability zones. The `topologyKey` must match a node label containing the rack ID. The example used in this configuration specifies a zone using the standard `{K8sZoneLabel}` label.
172172
Use rack awareness together with custom `topologySpreadConstraint` or `affinity` rules to distribute Kafka broker pods (replicas) across zones.
173173
<19> Prometheus metrics enabled. In this example, metrics are configured for the Prometheus JMX Exporter (the default metrics exporter).

documentation/modules/configuring/proc-config-mirrormaker2-securing-connection.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -344,6 +344,6 @@ spec:
344344
<1> The TLS certificates for the target Kafka cluster.
345345
<2> The user authentication for accessing the target Kafka cluster.
346346
<3> The TLS certificates for the source Kafka cluster. If they are in a separate namespace, copy the cluster secrets from the namespace of the Kafka cluster.
347-
<4> The user authentication for accessing the source Kafka cluster using the TLS mechanism. Supported authentication methods include `tls`, `scram-sha-256`, `scram-sha-512`, `plain`, and `oauth`.
347+
<4> The user authentication for accessing the source Kafka cluster using the TLS mechanism. Supported authentication methods include `tls`, `scram-sha-256`, `scram-sha-512`, `plain`, and `custom`.
348348

349349
. Apply the changes to the `KafkaMirrorMaker2` resource to the same namespace as the target Kafka cluster.

documentation/modules/deploying/proc-deploy-http-bridge.adoc

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,9 @@ This procedure assumes that the Kafka cluster was deployed using Strimzi.
3131
In `examples/bridge/kafka-bridge.yaml`, add or update the following properties as needed:
3232
+
3333
* `spec.bootstrapServers` to specify the Kafka bootstrap address.
34-
* `spec.authentication` to specify the authentication type as `tls`, `scram-sha-256`, `scram-sha-512`, `plain`, or `oauth`. +
35-
See the link:{BookURLConfiguring}#type-KafkaBridgeSpec-schema-reference[`KafkaBridgeSpec` schema properties^] for configuration details.
34+
* `spec.authentication` to specify the authentication type as `tls`, `scram-sha-256`, `scram-sha-512`, `plain`, or `custom`. See the link:{BookURLConfiguring}#type-KafkaBridgeSpec-schema-reference[`KafkaBridgeSpec` schema properties^] for configuration details.
3635
* `spec.tls.trustedCertificates` to configure the TLS certificate. +
37-
Use `[]` (an empty array) to trust the default Java CAs, or specify secrets containing trusted certificates. +
38-
See the link:{BookURLConfiguring}#con-common-configuration-trusted-certificates-reference[`trustedCertificates` properties^] for configuration details.
36+
Use `[]` (an empty array) to trust the default Java CAs, or specify secrets containing trusted certificates. See the link:{BookURLConfiguring}#con-common-configuration-trusted-certificates-reference[`trustedCertificates` properties^] for configuration details.
3937

4038
. Deploy HTTP Bridge to your Kubernetes cluster:
4139
+

documentation/modules/deploying/proc-deploy-kafka-connect.adoc

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,9 @@ This procedure assumes that the Kafka cluster was deployed using Strimzi.
3737
In `examples/connect/kafka-connect.yaml`, add or update the following properties as needed:
3838
+
3939
* `spec.bootstrapServers` to specify the Kafka bootstrap address.
40-
* `spec.authentication` to specify the authentication type as `tls`, `scram-sha-256`, `scram-sha-512`, `plain`, or `oauth`. +
41-
See the link:{BookURLConfiguring}#type-KafkaConnectSpec-schema-reference[`KafkaConnectSpec` schema properties^] for configuration details.
40+
* `spec.authentication` to specify the authentication type as `tls`, `scram-sha-256`, `scram-sha-512`, `plain`, or `custom`. See the link:{BookURLConfiguring}#type-KafkaConnectSpec-schema-reference[`KafkaConnectSpec` schema properties^] for configuration details.
4241
* `spec.tls.trustedCertificates` to configure the TLS certificate. +
43-
Use `[]` (an empty array) to trust the default Java CAs, or specify secrets containing trusted certificates. +
44-
See the link:{BookURLConfiguring}#con-common-configuration-trusted-certificates-reference[`trustedCertificates` properties^] for configuration details.
42+
Use `[]` (an empty array) to trust the default Java CAs, or specify secrets containing trusted certificates. See the link:{BookURLConfiguring}#con-common-configuration-trusted-certificates-reference[`trustedCertificates` properties^] for configuration details.
4543

4644
. Configure the deployment for multiple Kafka Connect clusters (if required).
4745
+

documentation/modules/deploying/proc-deploy-kafka-mirror-maker.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ In `examples/mirror-maker/kafka-mirror-maker-2.yaml`, add or update the followin
3636
+
3737
* `spec.target.bootstrapServers` and `.spec.mirrors[].source.bootstrapServers` to specify the Kafka bootstrap address for the source and target clusters.
3838
* `spec.target.alias` and `.spec.mirrors[].source.alias` to specify a unique identifier for each cluster.
39-
* `spec.target.authentication` and `.spec.mirrors[].source.authentication` to specify the authentication type for each cluster as `tls`, `scram-sha-256`, `scram-sha-512`, `plain`, or `oauth`.
39+
* `spec.target.authentication` and `.spec.mirrors[].source.authentication` to specify the authentication type for each cluster as `tls`, `scram-sha-256`, `scram-sha-512`, `plain`, or `custom`.
4040
See the link:{BookURLConfiguring}#type-KafkaMirrorMaker2ClusterSpec-schema-reference[`KafkaMirrorMaker2Spec` schema properties^] for configuration details.
4141
* `spec.target.tls.trustedCertificates` and `.spec.mirrors[].source.tls.trustedCertificates` to configure the TLS certificate for each cluster.
4242
Use `[]` (an empty array) to trust the default Java CAs, or specify secrets containing trusted certificates.

documentation/modules/deploying/proc-deploy-setup-external-clients.adoc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,10 @@ Client access to the Kafka cluster is secured with the following configuration:
2323

2424
At least one listener supporting the desired authentication must be configured for the `KafkaUser`.
2525

26-
Listeners can be configured for mutual `TLS`, `SCRAM-SHA-512`, or `OAuth` authentication.
27-
While mTLS always uses encryption, it's also recommended when using SCRAM-SHA-512 and OAuth 2.0 authentication.
26+
Listeners can be configured for mutual `TLS`, `SCRAM-SHA-512`, or `custom` authentication.
27+
While mTLS always uses encryption, it's also recommended when using SCRAM-SHA-512 or a custom configuration for OAuth 2.0 authentication.
2828

29-
Authorization options for Kafka include `simple`, `OAuth`, `OPA`, or `custom`.
29+
Authorization options for Kafka include `simple` or `custom`.
3030
When enabled, authorization is applied to all enabled listeners.
3131

3232
To ensure compatibility between Kafka and clients, configuration of the following authentication and authorization mechanisms must align:

0 commit comments

Comments
 (0)