Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ACL, feature request #3101

Open
Anders-Fromell-ITxPT opened this issue Aug 23, 2024 · 0 comments
Open

ACL, feature request #3101

Anders-Fromell-ITxPT opened this issue Aug 23, 2024 · 0 comments

Comments

@Anders-Fromell-ITxPT
Copy link

Anders-Fromell-ITxPT commented Aug 23, 2024

Topic: acl file creation with extended control

Currently the topic right are controlled by: write | read | readwrite | deny
where putting nothing after "topic" means readwrite.
"deny" will allways win over the others and block both read and write.
So, if you need to use wildchar /+/ in a part of a topic structure for write access since that part is dynamically created but need to exclude a speciffic part, that is not possible with the "deny" attribute since it the also blocks the reading.
Ex.
user client1
topic write main-topic/+/info
pattern read main-topic/#

would let you publish to:
main-topic/test1/info
main-topic/test2/info
but not:
main-topic/test1
and read all from main-topic/#

topic write main-topic/#
pattern read main-topic/#

would let you publish to:
main-topic/test1/info
main-topic/test2/info
main-topic/test1
main-topic/test2

and read from all main-topic/#

topic write main-topic/#
topic deny main-topic/test2/#
pattern read main-topic/#

would let you publish to:
main-topic/test1/info
main-topic/test1
but not:
main-topic/test2
main-topic/test2/info

and read from all main-topic/# exept from main-topic/test2/#

However, if we also introduce "readdeny" and "writedeny"
we can effectivly block out a speciffic part of a topicstructure within a wildchar selection..
topic write main-topic/+/info
topic writedeny main-topic/test2/#
pattern read main-topic/#

would let you publish to:
main-topic/test1/info
main-topic/test1
but not:
main-topic/test2
main-topic/test2/info

and read from all main-topic/# including from main-topic/test2/#
Eg. the combination ONLY restrict write credentials for main-topic/test2/# within the wildchar selection.

Other nice to have would be:
partial wildchar selection:
main-topic/test+/# ; meaning the sub-topic need to start with "test"
main-topic/+test/# ; meaning the sub-topic need to end with "test"
main-topic/+test+/# ; meaning the sub-topic need to contain "test"

The similar wildchar concept may be useful also for user names

Are there any plans for adding support for "user group" and "user role" like in the dynamic_security plugin?

Best regards,
Anders Fromell /CTO
ITxPT.org

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant