-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
docs(acls): describes handling of special users (#11118)
Signed-off-by: prmellor <[email protected]>
- Loading branch information
1 parent
0aa69bb
commit 5a32caf
Showing
4 changed files
with
51 additions
and
16 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
49 changes: 49 additions & 0 deletions
49
documentation/modules/security/con-securing-client-acls.adoc
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
// Module included in the following assemblies: | ||
// | ||
// assembly-securing-kafka-clients.adoc | ||
|
||
[id='con-securing-client-acls-{context}'] | ||
= Defining ACL rules | ||
|
||
The `simple` authorization mechanism uses ACL rules to manage access to Kafka brokers. | ||
Enabling `simple` authorization for a Kafka cluster means access is denied unless explicit ACL rules are configured in the `KafkaUser` resource. | ||
ACL rules define access rights for users, which you specify using the `acls` property. | ||
|
||
.Example user with ACL rules configuration | ||
[source,yaml,subs="+attributes"] | ||
---- | ||
apiVersion: {KafkaUserApiVersion} | ||
kind: KafkaUser | ||
metadata: | ||
name: my-user | ||
labels: | ||
strimzi.io/cluster: my-cluster | ||
spec: | ||
authentication: | ||
type: tls | ||
authorization: | ||
type: simple | ||
acls: | ||
- resource: # <1> | ||
type: topic | ||
name: my-topic | ||
patternType: literal | ||
operations: # <2> | ||
- Describe | ||
- Read | ||
- resource: | ||
type: group | ||
name: my-group | ||
patternType: literal | ||
operations: | ||
- Read | ||
---- | ||
<1> Defines the Kafka resource type to which the ACL rules apply, such as `topic` or `group`, the name of the resource, and how the name is matched by `patternType`. | ||
<2> Specifies the operations, such as `Describe`, `Read`, that the user is allowed to perform on the resource. | ||
|
||
The User Operator manages ACLs for standard Kafka users but cannot define rules for special usernames such as `User:ANONYMOUS` or `User:*`. | ||
These users are ignored because their names are not valid Kubernetes resource names. | ||
You can manually configure ACL rules for these usernames using tools like `kafka-acls.sh`. | ||
When these manual configurations are present in Kafka, the User Operator logs a message for information but does not delete them. | ||
|
||
For more information about the `AclRule` object and the properties used to configure ACLs, see the link:{BookURLConfiguring}#type-AclRule-reference[`AclRule` schema reference^]. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters