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

    • Type: New Feature
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 6.2, 7.0
    • Component/s: security
    • Labels:
      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

            People

            • Assignee:
              gchanan Gregory Chanan
              Reporter:
              gchanan Gregory Chanan

              Dates

              • Created:
                Updated:
                Resolved:

                Issue deployment