You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: modules/manage/pages/schema-reg/schema-reg-authorization.adoc
+78-40Lines changed: 78 additions & 40 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -23,10 +23,16 @@ Starting in v25.2, Schema Registry Authorization provides fine-grained access co
23
23
24
24
=== How to manage Schema Registry Authorization
25
25
26
-
You can manage Schema Registry Authorization in two ways:
26
+
You can manage Schema Registry Authorization in the following ways:
27
27
28
-
- **Using rpk**: Use the xref:reference:rpk/rpk-security/rpk-security-acl-create.adoc[`rpk security acl create`] command, just like you would for other Kafka ACLs.
29
-
- **Using the API**: Use the link:/api/doc/schema-registry/operation/operation-get_security_acls[Redpanda Schema Registry API] endpoints.
28
+
- **rpk**: Use the xref:reference:rpk/rpk-security/rpk-security-acl-create.adoc[`rpk security acl create`] command, just like you would for other Kafka ACLs.
29
+
- **Schema Registry API**: Use the link:/api/doc/schema-registry/operation/operation-get_security_acls[Redpanda Schema Registry API] endpoints.
30
+
ifndef::env-cloud[]
31
+
- **{ui}**: After enabling Schema Registry Authorization for your cluster, you can use {ui} to manage Schema Registry ACLs. See xref:manage:security/authorization/acl.adoc[].
32
+
endif::[]
33
+
ifdef::env-cloud[]
34
+
- **{ui}**: After enabling Schema Registry Authorization for your cluster, you can use {ui} to manage Schema Registry ACLs. See xref:security:/authorization/acl.adoc[].
35
+
endif::[]
30
36
31
37
=== Schema Registry ACL resource types
32
38
@@ -102,20 +108,20 @@ Not all Kafka operations are supported when using Redpanda Schema Registry ACLs.
102
108
| none/open
103
109
| -
104
110
105
-
| `/schema/ids/\{id}`
111
+
| `/schemas/ids/\{id}`
106
112
| `GET`
107
113
| `read`
108
114
| `subject`
109
115
110
-
| `/schema/ids/\{versions}`
116
+
| `/schemas/ids/\{versions}`
111
117
| `GET`
112
118
| `describe`
113
119
| `registry`
114
120
115
-
| `/schema/ids/\{subjects}`
121
+
| `/schemas/ids/\{subjects}`
116
122
| `GET`
117
123
| `describe`
118
-
| `subject`
124
+
| `registry`
119
125
120
126
| `/subjects`
121
127
| `GET`
@@ -124,7 +130,7 @@ Not all Kafka operations are supported when using Redpanda Schema Registry ACLs.
124
130
125
131
| `/subjects/\{subject}`
126
132
| `POST`
127
-
| `read`
133
+
| `write`
128
134
| `subject`
129
135
130
136
| `/subjects/\{subject}`
@@ -162,7 +168,7 @@ Not all Kafka operations are supported when using Redpanda Schema Registry ACLs.
@@ -197,11 +203,32 @@ For additional guidance on these operations, see the link:/api/doc/schema-regist
197
203
Before you can enable Schema Registry Authorization, you must have:
198
204
199
205
ifndef::env-cloud[]
200
-
* A valid Redpanda Enterprise license
206
+
* A valid Redpanda Enterprise license.
207
+
endif::[]
208
+
209
+
ifdef::env-cloud[]
210
+
* `rpk` v25.2+ installed. For installation instructions, see xref:manage:rpk/rpk-install.adoc[rpk installation].
211
+
endif::[]
212
+
213
+
ifndef::env-cloud[]
214
+
* `rpk` v25.2+ installed. For installation instructions, see xref:get-started:rpk-install.adoc[rpk installation].
201
215
endif::[]
202
216
203
-
* `rpk` v25.2+
204
-
* Cluster administrator permissions to modify cluster configuration
217
+
ifndef::env-cloud[]
218
+
* Authentication enabled using `schema_registry_api.authn_method`, which specifies how clients must authenticate when accessing the Schema Registry API. See xref:reference:properties/broker-properties.adoc#schema-registry[Schema Registry broker properties].
219
+
endif::[]
220
+
221
+
ifndef::env-cloud[]
222
+
* If you have listeners configured for Schema Registry, ensure you xref:manage:security/authentication.adoc#basic-authentication[configure authentication] for them and that your configuration points to the correct Schema Registry address (correct scheme, host, and port) for the same cluster you are targeting with your Kafka brokers.
223
+
endif::[]
224
+
225
+
* Cluster administrator permissions to modify cluster configurations.
226
+
For example, to enable management of Schema Registry ACLs by the principal `schema_registry_admin`, run:
227
+
228
+
[,bash]
229
+
----
230
+
rpk security acl create --allow-principal schema_registry_admin --cluster --operation alter
231
+
----
205
232
206
233
=== Enable authorization
207
234
@@ -212,13 +239,6 @@ To enable Schema Registry Authorization for your cluster, run:
212
239
rpk cluster config set schema_registry_enable_authorization true
213
240
----
214
241
215
-
To enable management of Schema Registry ACLs by the principal `schema_registry_admin`, run:
216
-
217
-
[,bash]
218
-
----
219
-
rpk security acl create --allow-principal schema_registry_admin --cluster --operation alter
220
-
----
221
-
222
242
For details, see xref:reference:properties/cluster-properties.adoc#schema_registry_enable_authorization[`schema_registry_enable_authorization`].
When creating ACLs that include Schema Registry subjects, you might encounter errors if the subject doesn't exist or if there are configuration issues.
308
328
309
-
==== Common error: Subject not found
329
+
==== Subject not found
310
330
311
331
Sometimes an ACL for a Kafka topic is created successfully, but the Schema Registry subject ACL fails:
The `Not found` error occurs in the request: `12:17:33.935 DEBUG sending request {"method": "POST", "URL: "http://127.0.0.1:8081/security/acls", "has_bearer": false,
353
-
"has_basic_auth": false}`, meaning that the endpoint is not available (because you are using an older Redpanda version). You must upgrade to the current version of Redpanda.
372
+
The `Not found` error occurs in the request: `12:17:33.935 DEBUG sending request {"method": "POST", "URL: "http://127.0.0.1:8081/security/acls", "has_bearer": false,
373
+
"has_basic_auth": false}`. This typically means the endpoint is unavailable. Verify:
374
+
* You're on Redpanda v25.2+.
375
+
* `schema_registry_enable_authorization` is set to `true`.
376
+
* Your rpk Schema Registry URL points to the correct host/scheme/port.
377
+
Upgrade if needed and correct configuration before retrying.
354
378
355
-
ifndef::env-cloud[]
356
-
This next error occurs when the user tries to create two ACLs, one for a topic and one for a registry-subject:
379
+
==== Inconsistent listener configuration
380
+
381
+
This error occurs when the user tries to create an ACL for a principal:
PRINCIPAL HOST RESOURCE-TYPE RESOURCE-NAME RESOURCE-PATTERN-TYPE OPERATION PERMISSION ERROR
390
+
User:superuser * REGISTRY LITERAL ALL ALLOW unable to POST "https://127.0.0.1:8080/security/acls": Post "https://127.0.0.1:8080/security/acls": http: server gave HTTP response to HTTPS client
When using Schema Registry Authorization, ensure that your Kafka brokers and Schema Registry address target the same cluster and that the Schema Registry address uses the correct scheme/host/port. In the example above, `rpk` communicates with a remote broker (`...:9092`) but posts to a local Schema Registry address over HTTPS (`https://127.0.0.1:8080/security/acls`), while the local Schema Registry appears to be HTTP-only. To align them:
394
+
* Set the correct Schema Registry address (host and scheme) for the target cluster.
395
+
* Ensure TLS settings match the Schema Registry endpoint (HTTP vs HTTPS).
396
+
* Avoid mixing remote broker addresses with a local Schema Registry address unless it is intentional and properly configured.
397
+
398
+
See xref:reference:rpk/rpk-registry/rpk-registry.adoc[rpk registry] for Schema Registry configuration commands.
399
+
400
+
==== Resource names do not appear
401
+
402
+
The following output appears to suggest that there are missing resource names for the registry resource types:
The `Invalid license: not present` error indicates that the user is trying to create an ACL for a resource that requires a license, but no license is present. See xref:get-started:licensing/overview.adoc[Licensing overview] for details on how to obtain a license.
376
-
endif::[]
414
+
When using the `--registry-global` option, be aware that `REGISTRY` resource types are global and apply to all of Schema Registry. They do not have a resource name because they are not tied to a specific resource. There are no resource names missing here.
Copy file name to clipboardExpand all lines: modules/reference/pages/properties/cluster-properties.adoc
+2-3Lines changed: 2 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5687,9 +5687,6 @@ Always normalize schemas. If set, this overrides the `normalize` parameter in re
5687
5687
Enables ACL-based authorization for Schema Registry requests. When `true`, Schema Registry
5688
5688
uses ACL-based authorization instead of the default `public/user/superuser` authorization model.
5689
5689
5690
-
ifndef::env-cloud[]
5691
-
Requires authentication to be enabled using the xref:reference:properties/broker-properties.adoc#schema_registry_auth_method[`authentication_method`] property in the `schema_registry_api` broker configuration.
5692
-
endif::[]
5693
5690
ifdef::env-cloud[]
5694
5691
Requires authentication to be enabled using the `authentication_method` property in the `schema_registry_api` broker configuration.
0 commit comments