Uploaded image for project: 'Apache Knox'
  1. Apache Knox
  2. KNOX-2831

Knox token impersonation in multiple topologies

    XMLWordPrintableJSON

Details

    • Task
    • Status: Resolved
    • Critical
    • Resolution: Fixed
    • 2.0.0
    • 2.0.0
    • Server
    • None

    Description

      With KNOX-2714, users can create tokens on behalf of others by configuring Knox Token Impersonation in the KNOXTOKEN service.

      However, when there are multiple topologies with the KNOXTOKEN service and they have different proxyuser configurations the feature breaks as follows:

      • topology1 enables user1 to create tokens for targetUser1
      • topology2 enables user2 to create tokens for targetUser2

      Let's see this flow:

      1. get a token for targetUser1 by user1 - this succeeds
      2. get a token for targetUser2 by user2 - this succeeds
      3. get another token for targetUser1 by user1 - this fails

      The reason is that Knox's KNOXTOKEN service uses Hadoop's ProxyUsers.refreshSuperUserGroupsConfiguration(Configuration conf, String proxyUserPrefix) which the 2nd call overrides in the init method of that servlet. So the 3rd call will fail because the previous configuration on that topology is lost.

      Attachments

        Issue Links

          Activity

            People

              smolnar Sandor Molnar
              smolnar Sandor Molnar
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 20m
                  20m