Uploaded image for project: 'Solr'
  1. Solr
  2. SOLR-9200

Add Delegation Token Support to Solr

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 6.2, 7.0
    • security
    • None

    Description

      SOLR-7468 added support for kerberos authentication via the hadoop authentication filter. Hadoop also has support for an authentication filter that supports delegation tokens, which allow authenticated users the ability to grab/renew/delete a token that can be used to bypass the normal authentication path for a time. This is useful in a variety of use cases:
      1) distributed clients (e.g. MapReduce) where each client may not have access to the user's kerberos credentials. Instead, the job runner can grab a delegation token and use that during task execution.
      2) If the load on the kerberos server is too high, delegation tokens can avoid hitting the kerberos server after the first request
      3) If requests/permissions need to be delegated to another user: the more privileged user can request a delegation token that can be passed to the less privileged user.

      Note to self:
      In https://issues.apache.org/jira/browse/SOLR-7468?focusedCommentId=14579636&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14579636 I made the following comment which I need to investigate further, since I don't know if anything changed in this area:

      3) I'm a little concerned with the "NoContext" code in KerberosPlugin moving forward (I understand this is more a generic auth question than kerberos specific). For example, in the latest version of the filter we are using at Cloudera, we play around with the ServletContext in order to pass information around (https://github.com/cloudera/lucene-solr/blob/cdh5-4.10.3_5.4.2/solr/core/src/java/org/apache/solr/servlet/SolrHadoopAuthenticationFilter.java#L106). Is there any way we can get the actual ServletContext in a plugin?

      Attachments

        1. SOLR-9200_branch_6x.patch
          156 kB
          Gregory Chanan
        2. SOLR-9200_branch_6x.patch
          156 kB
          Gregory Chanan
        3. SOLR-9200_branch_6x.patch
          156 kB
          Gregory Chanan
        4. SOLR-9200.patch
          156 kB
          Gregory Chanan
        5. SOLR-9200.patch
          155 kB
          Gregory Chanan
        6. SOLR-9200.patch
          30 kB
          Gregory Chanan
        7. SOLR-9200.patch
          100 kB
          Gregory Chanan
        8. SOLR-9200.patch
          100 kB
          Gregory Chanan

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            gchanan Gregory Chanan
            gchanan Gregory Chanan
            Votes:
            0 Vote for this issue
            Watchers:
            12 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment