I think the way forward here is to create a minimal re-production example for others to try. Ideally using a setup with basic auth, you could help us reproduce with a script like this:
Copy my-security.json into current folder bin/solr start -c (or using docker) solr create -c coll1 solr create -c coll2 solr create -c coll3 # Enable security with custom config bin/solr zk cp my-security.json zk:/security.json Browse to http://localhost:8983 and login with user 'foo' Verify that user 'foo' can search collection coll1: curl "http://localhost:8983/solr/coll1/select?q=*:*" Verify that user 'foo cannot search collection coll2: curl "http://localhost:8983/solr/coll2/select?q=*:*" Jan > 4. apr. 2023 kl. 12:27 skrev MEXANIK <irkuev...@gmail.com>: > > Jan, Hi!! > > I have such a problem that out of 5 collections, 2 of them can be read > using the john_sl user with admin_x accesses. But if the "admin_rwx" > accesses are taken away from the "admin" user, then the john_sl user will > not be able to read 2 collections previously available for reading ... How > is this understand? any ideas? > > пн, 3 апр. 2023 г., 23:34 Jan Høydahl <jan....@cominvent.com>: > >> Hi, >> >> I recommend reading the docs thoroughly and then clean up your config >> somewhat: >> https://solr.apache.org/guide/solr/latest/deployment-guide/rule-based-authorization-plugin.html >> >> Solr's authz works differently than most other RBAC products. You may be >> confused by order of evaluation, which is a bit upside down. >> >> Solr does NOT start with the user's role and then evaluate what >> paths/permissions he can do. >> On the contrary, Solr starts with the request path, e.g. >> <collection>/select, then hunts through your permissions:[] array >> top-to-bottom to find ONE SINGLE permission that matches the path (and >> optionally collection name), and once it finds that permission, it will >> check that the user has one of the roles listed in that permission (or >> "all"). >> >> Also, if you do not list every single path or predefined permission, then >> any path not listed will be allowed by default, which is scary. It is >> common practice to have an "all" permission at the very end, and have that >> one require some kind of admin role. Looks like you have that. >> >> In your security.json you list a "read" permission several times, and also >> other permissions several times. Solr will only consider the FIRST which >> satisfies the request. So make sure to place the more specific and >> restrictive permissions on top, and then you can have "fall-through" >> permissions near the end. >> >> I also see that you use a custom Auth plugin, but I assume that one works. >> If you face continued problems I recommend creating a reproduction case >> with BasicAuth and as few roles/permissions as possible to reproduce your >> issue. Then others can try out your config and help you find flaws. >> >> Jan >> >>> 3. apr. 2023 kl. 12:24 skrev MEXANIK <irkuev...@gmail.com>: >>> >>> Jan, Hi, Thank you >>> >>> Need more information so you can help? >>> >>> >>> >>> пт, 31 мар. 2023 г., 12:16 MEXANIK <irkuev...@gmail.com>: >>> >>>> Sorry, test1Collection* >>>> >>>> чт, 30 мар. 2023 г., 17:14 MEXANIK <irkuev...@gmail.com>: >>>> >>>>> When you send a read request for the test2Collection collection, the >> logs >>>>> do not display as a collection, and I get 10 entries with admin_x >> rights >>>>> >>>>> >>>>> attached log with description >>>>> >>>>> >>>>> >>>>> ср, 29 мар. 2023 г., 16:39 Jan Høydahl <jan....@cominvent.com>: >>>>> >>>>>> Permissions are evaluated in order from top to bottom. >>>>>> The first "read" permission found requires roles "admin_ro", >>>>>> "admin_rwx", "solr-internal-traffic", so that should be selected. >>>>>> >>>>>> Do you have any logs that can shed light over what happens? >>>>>> >>>>>> Jan >>>>>> >>>>>>> 29. mar. 2023 kl. 14:27 skrev MEXANIK <irkuev...@gmail.com>: >>>>>>> >>>>>>> I logged in using the john_sl user in Solr UI, and sent a request to >>>>>> read >>>>>>> the collection, but I can read some of the collections, but I don't >>>>>> want >>>>>>> them to be read. >>>>>>> >>>>>>> If I replace the admin user's rights from admin_rwx to admin_x, then >>>>>> the >>>>>>> john_sl user can't read either >>>>>>> >>>>>>> How do I make it so that john_sl cannot read collections with admin_x >>>>>>> rights, but at the same time so that the admin user has admin_rwx >>>>>> rights?? >>>>>>> >>>>>>> Help!! >>>>>>> >>>>>>> Example security.json http://replit.com/@irkuev666/Test#data.json >>>>>> >>>>>> >> >>