Hi Kevin/Noble,

What is the download link to take the latest? What are the steps to compile
it, test and use?
We also have a use case to have this feature in solr too. Therefore, wanted
to test and above info would help a lot to get started.

Thanks.


On Fri, Sep 4, 2015 at 1:45 PM, Kevin Lee <kgle...@yahoo.com.invalid> wrote:

> Thanks, I downloaded the source and compiled it and replaced the jar file
> in the dist and solr-webapp’s WEB-INF/lib directory.  It does seem to be
> protecting the Collections API reload command now as long as I upload the
> security.json after startup of the Solr instances.  If I shutdown and bring
> the instances back up, the security is no longer in place and I have to
> upload the security.json again for it to take effect.
>
> - Kevin
>
> > On Sep 3, 2015, at 10:29 PM, Noble Paul <noble.p...@gmail.com> wrote:
> >
> > Both these are committed. If you could test with the latest 5.3 branch
> > it would be helpful
> >
> > On Wed, Sep 2, 2015 at 5:11 PM, Noble Paul <noble.p...@gmail.com> wrote:
> >> I opened a ticket for the same
> >> https://issues.apache.org/jira/browse/SOLR-8004
> >>
> >> On Wed, Sep 2, 2015 at 1:36 PM, Kevin Lee <kgle...@yahoo.com.invalid>
> wrote:
> >>> I’ve found that completely exiting Chrome or Firefox and opening it
> back up re-prompts for credentials when they are required.  It was
> re-prompting with the /browse path where authentication was working each
> time I completely exited and started the browser again, however it won’t
> re-prompt unless you exit completely and close all running instances so I
> closed all instances each time to test.
> >>>
> >>> However, to make sure I ran it via the command line via curl as
> suggested and it still does not give any authentication error when trying
> to issue the command via curl.  I get a success response from all the Solr
> instances that the reload was successful.
> >>>
> >>> Not sure why the pre-canned permissions aren’t working, but the one to
> the request handler at the /browse path is.
> >>>
> >>>
> >>>> On Sep 1, 2015, at 11:03 PM, Noble Paul <noble.p...@gmail.com> wrote:
> >>>>
> >>>> " However, after uploading the new security.json and restarting the
> >>>> web browser,"
> >>>>
> >>>> The browser remembers your login , So it is unlikely to prompt for the
> >>>> credentials again.
> >>>>
> >>>> Why don't you try the RELOAD operation using command line (curl) ?
> >>>>
> >>>> On Tue, Sep 1, 2015 at 10:31 PM, Kevin Lee <kgle...@yahoo.com.invalid>
> wrote:
> >>>>> The restart issues aside, I’m trying to lockdown usage of the
> Collections API, but that also does not seem to be working either.
> >>>>>
> >>>>> Here is my security.json.  I’m using the “collection-admin-edit”
> permission and assigning it to the “adminRole”.  However, after uploading
> the new security.json and restarting the web browser, it doesn’t seem to be
> requiring credentials when calling the RELOAD action on the Collections
> API.  The only thing that seems to work is the custom permission “browse”
> which is requiring authentication before allowing me to pull up the page.
> Am I using the permissions correctly for the RuleBasedAuthorizationPlugin?
> >>>>>
> >>>>> {
> >>>>>       "authentication":{
> >>>>>          "class":"solr.BasicAuthPlugin",
> >>>>>          "credentials": {
> >>>>>                       "admin”:”<pass> <salt>",
> >>>>>                       "user": ”<pass> <salt>"
> >>>>>               }
> >>>>>       },
> >>>>>       "authorization":{
> >>>>>          "class":"solr.RuleBasedAuthorizationPlugin",
> >>>>>          "permissions": [
> >>>>>                       {
> >>>>>                               "name":"security-edit",
> >>>>>                               "role":"adminRole"
> >>>>>                       },
> >>>>>                       {
> >>>>>                               "name":"collection-admin-edit”,
> >>>>>                               "role":"adminRole"
> >>>>>                       },
> >>>>>                       {
> >>>>>                               "name":"browse",
> >>>>>                               "collection": "inventory",
> >>>>>                               "path": "/browse",
> >>>>>                               "role":"browseRole"
> >>>>>                       }
> >>>>>               ],
> >>>>>          "user-role": {
> >>>>>                       "admin": [
> >>>>>                               "adminRole",
> >>>>>                               "browseRole"
> >>>>>                       ],
> >>>>>                       "user": [
> >>>>>                               "browseRole"
> >>>>>                       ]
> >>>>>               }
> >>>>>       }
> >>>>> }
> >>>>>
> >>>>> Also tried adding the permission using the Authorization API, but no
> effect, still isn’t protecting the Collections API from being invoked
> without a username password.  I do see in the Solr logs that it sees the
> updates because it outputs the messages “Updating /security.json …”,
> “Security node changed”, “Initializing authorization plugin:
> solr.RuleBasedAuthorizationPlugin” and “Authentication plugin class
> obtained from ZK: solr.BasicAuthPlugin”.
> >>>>>
> >>>>> Thanks,
> >>>>> Kevin
> >>>>>
> >>>>>> On Sep 1, 2015, at 12:31 AM, Noble Paul <noble.p...@gmail.com>
> wrote:
> >>>>>>
> >>>>>> I'm investigating why restarts or first time start does not read the
> >>>>>> security.json
> >>>>>>
> >>>>>> On Tue, Sep 1, 2015 at 1:00 PM, Noble Paul <noble.p...@gmail.com>
> wrote:
> >>>>>>> I removed that statement
> >>>>>>>
> >>>>>>> "If activating the authorization plugin doesn't protect the admin
> ui,
> >>>>>>> how does one protect access to it?"
> >>>>>>>
> >>>>>>> One does not need to protect the admin UI. You only need to protect
> >>>>>>> the relevant API calls . I mean it's OK to not protect the CSS and
> >>>>>>> HTML stuff.  But if you perform an action to create a core or do a
> >>>>>>> query through admin UI , it automatically will prompt you for
> >>>>>>> credentials (if those APIs are protected)
> >>>>>>>
> >>>>>>> On Tue, Sep 1, 2015 at 12:41 PM, Kevin Lee
> <kgle...@yahoo.com.invalid> wrote:
> >>>>>>>> Thanks for the clarification!
> >>>>>>>>
> >>>>>>>> So is the wiki page incorrect at
> >>>>>>>>
> https://cwiki.apache.org/confluence/display/solr/Basic+Authentication+Plugin
> which says that the admin ui will require authentication once the
> authorization plugin is activated?
> >>>>>>>>
> >>>>>>>> "An authorization plugin is also available to configure Solr with
> permissions to perform various activities in the system. Once activated,
> access to the Solr Admin UI and all requests will need to be authenticated
> and users will be required to have the proper authorization for all
> requests, including using the Admin UI and making any API calls."
> >>>>>>>>
> >>>>>>>> If activating the authorization plugin doesn't protect the admin
> ui, how does one protect access to it?
> >>>>>>>>
> >>>>>>>> Also, the issue I'm having is not just at restart.  According to
> the docs security.json should be uploaded to Zookeeper before starting any
> of the Solr instances.  However, I tried to upload security.json before
> starting any of the Solr instances, but it would not pick up the security
> config until after the Solr instances are already running and then
> uploading the security.json again.  I can see in the logs at startup that
> the Solr instances don't see any plugin enabled even though security.json
> is already in zookeeper and then after they are started and the
> security.json is uploaded again I see it reconfigure to use the plugin.
> >>>>>>>>
> >>>>>>>> Thanks,
> >>>>>>>> Kevin
> >>>>>>>>
> >>>>>>>>> On Aug 31, 2015, at 11:22 PM, Noble Paul <noble.p...@gmail.com>
> wrote:
> >>>>>>>>>
> >>>>>>>>> Admin UI is not protected by any of these permissions. Only if
> you try
> >>>>>>>>> to perform a protected operation , it asks for a password.
> >>>>>>>>>
> >>>>>>>>> I'll investigate the restart problem and report my  findings
> >>>>>>>>>
> >>>>>>>>>> On Tue, Sep 1, 2015 at 3:10 AM, Kevin Lee
> <kgle...@yahoo.com.invalid> wrote:
> >>>>>>>>>> Anyone else running into any issues trying to get the
> authentication and authorization plugins in 5.3 working?
> >>>>>>>>>>
> >>>>>>>>>>> On Aug 29, 2015, at 2:30 AM, Kevin Lee
> <kgle...@yahoo.com.INVALID> wrote:
> >>>>>>>>>>>
> >>>>>>>>>>> Hi,
> >>>>>>>>>>>
> >>>>>>>>>>> I’m trying to use the new basic auth plugin for Solr 5.3 and
> it doesn’t seem to be working quite right.  Not sure if I’m missing steps
> or there is a bug.  I am able to get it to protect access to a URL under a
> collection, but am unable to get it to secure access to the Admin UI.  In
> addition, after stopping the Solr and Zookeeper instances, the
> security.json is still in Zookeeper, however Solr is allowing access to
> everything again like the security configuration isn’t in place.
> >>>>>>>>>>>
> >>>>>>>>>>> Contents of security.json taken from wiki page, but edited to
> produce valid JSON.  Had to move comma after 3rd from last “}” up to just
> after the last “]”.
> >>>>>>>>>>>
> >>>>>>>>>>> {
> >>>>>>>>>>> "authentication":{
> >>>>>>>>>>> "class":"solr.BasicAuthPlugin",
> >>>>>>>>>>>
> "credentials":{"solr":"IV0EHq1OnNrj6gvRCwvFwTrZ1+z1oBbnQdiVC3otuq0=
> Ndd7LKvVBAaZIF0QAVi1ekCfAJXr1GGfLtRUXhgrF8c="}
> >>>>>>>>>>> },
> >>>>>>>>>>> "authorization":{
> >>>>>>>>>>> "class":"solr.RuleBasedAuthorizationPlugin",
> >>>>>>>>>>> "permissions":[{"name":"security-edit",
> >>>>>>>>>>> "role":"admin"}],
> >>>>>>>>>>> "user-role":{"solr":"admin"}
> >>>>>>>>>>> }}
> >>>>>>>>>>>
> >>>>>>>>>>> Here are the steps I followed:
> >>>>>>>>>>>
> >>>>>>>>>>> Upload security.json to zookeeper
> >>>>>>>>>>> ./zkcli.sh -z localhost:2181,localhost:2182,localhost:2183
> -cmd putfile /security.json ~/solr/security.json
> >>>>>>>>>>>
> >>>>>>>>>>> Use zkCli.sh from Zookeeper to ensure the security.json is in
> Zookeeper at /security.json.  It is there and looks like what was
> originally uploaded.
> >>>>>>>>>>>
> >>>>>>>>>>> Start Solr Instances
> >>>>>>>>>>>
> >>>>>>>>>>> Attempt to create a permission, however get the following
> error:
> >>>>>>>>>>> {
> >>>>>>>>>>> "responseHeader":{
> >>>>>>>>>>> "status":400,
> >>>>>>>>>>> "QTime":0},
> >>>>>>>>>>> "error":{
> >>>>>>>>>>> "msg":"No authorization plugin configured",
> >>>>>>>>>>> "code":400}}
> >>>>>>>>>>>
> >>>>>>>>>>> Upload security.json again.
> >>>>>>>>>>> ./zkcli.sh -z localhost:2181,localhost:2182,localhost:2183
> -cmd putfile /security.json ~/solr/security.json
> >>>>>>>>>>>
> >>>>>>>>>>> Issue the following to try to create the permission again and
> this time it’s successful.
> >>>>>>>>>>> // Create a permission for mysearch endpoint
> >>>>>>>>>>>       curl --user solr:SolrRocks -H
> 'Content-type:application/json' -d '{"set-permission":
> {"name":"mycollection-search","collection":
> “mycollection","path":”/mysearch","role": "search-user"}}'
> http://localhost:8983/solr/admin/authorization
> >>>>>>>>>>>
> >>>>>>>>>>> {
> >>>>>>>>>>> "responseHeader":{
> >>>>>>>>>>>   "status":0,
> >>>>>>>>>>>   "QTime":7}}
> >>>>>>>>>>>
> >>>>>>>>>>> Issue the following commands to add users
> >>>>>>>>>>> curl --user solr:SolrRocks
> http://localhost:8983/solr/admin/authentication -H
> 'Content-type:application/json' -d '{"set-user": {"admin" : “password" }}’
> >>>>>>>>>>> curl --user solr:SolrRocks
> http://localhost:8983/solr/admin/authentication -H
> 'Content-type:application/json' -d '{"set-user": {"user" : “password" }}'
> >>>>>>>>>>>
> >>>>>>>>>>> Issue the following command to add permission to users
> >>>>>>>>>>> curl -u solr:SolrRocks -H 'Content-type:application/json' -d
> '{ "set-user-role" : {"admin": ["search-user", "admin"]}}'
> http://localhost:8983/solr/admin/authorization
> >>>>>>>>>>> curl -u solr:SolrRocks -H 'Content-type:application/json' -d
> '{ "set-user-role" : {"user": ["search-user"]}}'
> http://localhost:8983/solr/admin/authorization
> >>>>>>>>>>>
> >>>>>>>>>>> After executing the above, access to /mysearch is protected
> until I restart the Solr and Zookeeper instances.  However, the admin UI is
> never protected like the Wiki page says it should be once activated.
> >>>>>>>>>>>
> >>>>>>>>>>>
> https://cwiki.apache.org/confluence/display/solr/Rule-Based+Authorization+Plugin
> <
> https://cwiki.apache.org/confluence/display/solr/Rule-Based+Authorization+Plugin
> >
> >>>>>>>>>>>
> >>>>>>>>>>> Why does the authentication and authorization plugin not stay
> activated after restart and why is the Admin UI never protected?  Am I
> missing any steps?
> >>>>>>>>>>>
> >>>>>>>>>>> Thanks,
> >>>>>>>>>>> Kevin
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> --
> >>>>>>>>> -----------------------------------------------------
> >>>>>>>>> Noble Paul
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> --
> >>>>>>> -----------------------------------------------------
> >>>>>>> Noble Paul
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> --
> >>>>>> -----------------------------------------------------
> >>>>>> Noble Paul
> >>>>>
> >>>>
> >>>>
> >>>>
> >>>> --
> >>>> -----------------------------------------------------
> >>>> Noble Paul
> >>>
> >>
> >>
> >>
> >> --
> >> -----------------------------------------------------
> >> Noble Paul
> >
> >
> >
> > --
> > -----------------------------------------------------
> > Noble Paul
>
>

Reply via email to