Skip to content

Commit c796187

Browse files
paulohtb6DeflaimunFeediver1Paulo Borges
authored
docs: remove ephemeral auth on Kafka API (#1210)
Co-authored-by: Paulo Borges <paulohtb@hotmail.com> Co-authored-by: Joyce Fee <102751339+Feediver1@users.noreply.github.com> Co-authored-by: Paulo Borges <paulohtb@Paulos-MacBook-Pro.local>
1 parent 7177b07 commit c796187

File tree

7 files changed

+68
-6
lines changed

7 files changed

+68
-6
lines changed

modules/get-started/pages/release-notes/redpanda.adoc

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
= What's New in Redpanda
22
:description: Summary of new features and updates in this Redpanda release.
33
:page-aliases: get-started:whats-new-233.adoc, get-started:whats-new-241.adoc, get-started:whats-new.adoc
4+
:page-whats-new:
45

56
This topic includes new content added in version {page-component-version}. For a complete list of all product updates, see the https://github.com/redpanda-data/redpanda/releases/[Redpanda release notes^]. See also:
67

@@ -18,6 +19,21 @@ The Redpanda Admin API now includes new health probes to help you ensure safe br
1819
* xref:manage:cluster-maintenance/rolling-restart.adoc[]
1920
* xref:upgrade:rolling-upgrade.adoc[]
2021

22+
== HTTP Proxy authentication changes
23+
24+
[IMPORTANT]
25+
====
26+
include::shared:partial$http-proxy-ephemeral-credentials-breaking-change.adoc[]
27+
====
28+
29+
HTTP Proxy previously used automatically-generated ephemeral credentials to authenticate with the Kafka API when the HTTP Proxy listeners specified `authentication_method: none`. To improve security and simplify the authentication model, ephemeral credentials are no longer available.
30+
31+
If you need to maintain the current HTTP Proxy functionality while transitioning to authenticated clients, configure the following HTTP Proxy client properties in your `redpanda.yaml` configuration:
32+
33+
- xref:reference:properties/broker-properties.adoc#scram_username[`scram_username`]: Username for SASL/SCRAM authentication
34+
- xref:reference:properties/broker-properties.adoc#scram_password[`scram_password`]: Password for SASL/SCRAM authentication
35+
- xref:reference:properties/broker-properties.adoc#sasl_mechanism[`sasl_mechanism`]: SASL mechanism (typically `SCRAM-SHA-256` or `SCRAM-SHA-512`)
36+
2137
== Redpanda Console v3.0.0
2238

2339
The Redpanda Console v3.0.0 release includes the following updates:

modules/manage/pages/security/authentication.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
:page-aliases: security:authentication.adoc
55
:page-toclevels: 3
66
:page-categories: Management, Security
7+
:page-http-proxy-auth:
78

89
include::manage:partial$authentication.adoc[]
910

modules/manage/partials/authentication.adoc

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -655,12 +655,17 @@ endif::[]
655655
[[schema-and-http-to-redpanda]]
656656
===== Configure Schema Registry and HTTP Proxy to connect to Redpanda with SASL
657657

658-
Schema Registry and HTTP Proxy connect to Redpanda over the Kafka API. For the Kafka username and password, Redpanda uses ephemeral credentials internal to the cluster. Ephemeral credentials are regular SCRAM credentials, but they're only stored in memory and are lost when a broker restarts. When the Schema Registry or HTTP Proxy start up, they broadcast an ephemeral credential to other brokers over the internal RPC. If authentication fails to a particular broker, new ephemeral credentials are sent to that broker, and the service reconnects.
658+
Schema Registry and HTTP Proxy connect to Redpanda over the Kafka API.
659+
660+
[IMPORTANT]
661+
====
662+
include::shared:partial$http-proxy-ephemeral-credentials-breaking-change.adoc[]
663+
====
659664

660665
Schema Registry and HTTP Proxy support only the SASL/SCRAM mechanism.
661666

662667
ifndef::env-kubernetes[]
663-
You can override the ephemeral credentials and manually configure Schema Registry and HTTP Proxy to connect to Redpanda with SASL. This approach is particularly useful when you want to apply specific access control through ACLs for the Schema Registry and HTTP Proxy users.
668+
Starting in Redpanda 25.2, you must manually configure HTTP Proxy to connect to Redpanda with SASL when HTTP Proxy API listeners use `authentication_method: none`. You can also manually configure Schema Registry to connect to Redpanda with SASL. This approach is particularly useful when you want to apply specific access control through ACLs for the Schema Registry and HTTP Proxy users.
664669

665670
. xref:manage:security/authorization/index.adoc[Create appropriate ACLs] for the Schema Registry and HTTP Proxy users to define and restrict their access rights within the Redpanda cluster.
666671

@@ -698,7 +703,22 @@ schema_registry_client:
698703
sasl_mechanism: SCRAM-SHA-256
699704
----
700705
+
701-
For HTTP Proxy:
706+
For HTTP Proxy (required when `authentication_method: none` starting in Redpanda 25.2):
707+
+
708+
[,yaml]
709+
----
710+
pandaproxy_client:
711+
brokers:
712+
- address: 127.0.0.1
713+
port: 9092
714+
scram_username: <username>
715+
scram_password: <password>
716+
sasl_mechanism: SCRAM-SHA-256
717+
----
718+
+
719+
When HTTP Proxy API listeners use `authentication_method: none`, the HTTP Proxy client uses these credentials to authenticate with the Kafka API. The user specified in `scram_username` must have appropriate permissions to access the required Kafka resources.
720+
+
721+
If TLS is enabled for the Kafka API, additional configuration is required:
702722
+
703723
[,yaml]
704724
----
@@ -1757,6 +1777,11 @@ For all available endpoints, see xref:api:ROOT:pandaproxy-schema-registry.adoc[]
17571777

17581778
To disable authentication for a listener, set `authentication_method` to `none`:
17591779

1780+
[IMPORTANT]
1781+
====
1782+
include::shared:partial$http-proxy-ephemeral-credentials-breaking-change.adoc[]
1783+
====
1784+
17601785
ifdef::env-kubernetes[]
17611786
[tabs]
17621787
======

modules/reference/pages/properties/broker-properties.adoc

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -778,7 +778,9 @@ Delay (in milliseconds) for initial retry backoff.
778778

779779
=== sasl_mechanism
780780

781-
The SASL mechanism to use when connecting.
781+
The SASL mechanism to use when the HTTP Proxy client connects to the Kafka API. These credentials are used when the HTTP Proxy API listener has `authentication_method: none` but the cluster requires authenticated access to the Kafka API.
782+
783+
include::shared:partial$http-proxy-ephemeral-credentials-breaking-change.adoc[]
782784

783785
*Visibility:* `user`
784786

@@ -790,7 +792,9 @@ The SASL mechanism to use when connecting.
790792

791793
=== scram_password
792794

793-
Password to use for SCRAM authentication mechanisms.
795+
Password to use for SCRAM authentication mechanisms when the HTTP Proxy client connects to the Kafka API. This property is required when the HTTP Proxy API listener has `authentication_method: none` but the cluster requires authenticated access to the Kafka API.
796+
797+
include::shared:partial$http-proxy-ephemeral-credentials-breaking-change.adoc[]
794798

795799
*Visibility:* `user`
796800

@@ -802,7 +806,9 @@ Password to use for SCRAM authentication mechanisms.
802806

803807
=== scram_username
804808

805-
Username to use for SCRAM authentication mechanisms.
809+
Username to use for SCRAM authentication mechanisms when the HTTP Proxy client connects to the Kafka API. This property is required when the HTTP Proxy API listener has `authentication_method: none` but the cluster requires authenticated access to the Kafka API.
810+
811+
include::shared:partial$http-proxy-ephemeral-credentials-breaking-change.adoc[]
806812

807813
*Visibility:* `user`
808814

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Starting in Redpanda 25.2, ephemeral credentials for HTTP Proxy are removed. You must configure explicit SASL credentials if your HTTP Proxy listeners use `authentication_method: none`.
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
*Breaking change in Redpanda 25.2:* Ephemeral credentials for HTTP Proxy are removed. If your HTTP Proxy API listeners use `authentication_method: none`, you must configure explicit SASL credentials (xref:reference:properties/broker-properties.adoc#scram_username[`scram_username`], xref:reference:properties/broker-properties.adoc#scram_password[`scram_password`], and xref:reference:properties/broker-properties.adoc#sasl_mechanism[`sasl_mechanism`]) for HTTP Proxy to authenticate with the Kafka API. Without these credentials, HTTP Proxy will attempt unauthenticated connections to the Kafka API.
2+
3+
Redpanda Data recommends enabling authentication on both HTTP Proxy and the Kafka API.
4+
5+
ifndef::page-http-proxy-auth[]
6+
For configuration instructions, see xref:manage:security/authentication.adoc#schema-and-http-to-redpanda[Configure HTTP Proxy to connect to Redpanda with SASL].
7+
endif::[]
8+
9+
ifndef::page-whats-new[]
10+
For details about this breaking change, see xref:get-started:release-notes/redpanda.adoc#http-proxy-authentication-changes[What's new].
11+
endif::[]

modules/upgrade/partials/incompat-changes.adoc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
=== Review incompatible changes
22

3+
include::shared:partial$http-proxy-ephemeral-credentials-breaking-change.adoc[]
4+
35
* Redpanda Console v3.0.0 introduces breaking changes. If you are using Redpanda Console v2.x, xref:migrate:console-v3.adoc[review the migration guide] to address breaking changes before upgrading Redpanda Console.
46
57
* Starting in version 24.2, when managing configuration properties using the AlterConfigs API directly, Redpanda resets all unspecified values to the default values. This aligns more closely with the behavior in Apache Kafka. There is no change if you're managing your configuration with tools like `rpk`, Redpanda Console, Kubernetes, Helm, or Terraform.

0 commit comments

Comments
 (0)