[Verse 1]
KafkaUser holds the access keys tonight
Spec authorization draws the boundary lines
Simple ACLs guard your topic streams
Read and write permissions, granular schemes
Literal matches lock down exact names
While prefix patterns handle namespace games
[Chorus]
Three doors to authorization's maze
Simple, Keycloak, OPA ways
Literal, prefix, wildcard dance
Every client needs its access chance
ACL patterns weave the net
Fine-grained policies you won't forget
[Verse 2]
Keycloak Authorization Services rise
Policy-based control behind the scenes
Resource servers validate each call
Permission tickets flowing through it all
Role-based access meets attribute tests
Context-aware decisions at their best
[Chorus]
Three doors to authorization's maze
Simple, Keycloak, OPA ways
Literal, prefix, wildcard dance
Every client needs its access chance
ACL patterns weave the net
Fine-grained policies you won't forget
[Bridge]
Open Policy Agent speaks in Rego tongue
Custom authorizer plugin gets things done
JSON payloads carry every claim
Decision engine plays the judgment game
Wildcard asterisk opens wider gates
While literal strings seal particular fates
[Verse 3]
Producer principal seeks topic write
Consumer groups need subscription rights
Admin operations demand higher ground
Delete and alter privileges are found
Each pattern type serves its special role
Authorization's three-pronged goal
[Chorus]
Three doors to authorization's maze
Simple, Keycloak, OPA ways
Literal, prefix, wildcard dance
Every client needs its access chance
ACL patterns weave the net
Fine-grained policies you won't forget
[Outro]
From KafkaUser specs to complex rules
Authorization's comprehensive tools
Guard your streams with patterns true
Access control depends on you