[ 
https://issues.apache.org/jira/browse/KNOX-2839?focusedWorklogId=832711&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-832711
 ]

ASF GitHub Bot logged work on KNOX-2839:
----------------------------------------

                Author: ASF GitHub Bot
            Created on: 12/Dec/22 11:01
            Start Date: 12/Dec/22 11:01
    Worklog Time Spent: 10m 
      Work Description: zeroflag commented on code in PR #681:
URL: https://github.com/apache/knox/pull/681#discussion_r1045683325


##########
gateway-provider-security-jwt/src/main/java/org/apache/knox/gateway/provider/federation/jwt/filter/AccessTokenFederationFilter.java:
##########
@@ -176,6 +172,6 @@ private Subject createSubjectFromToken(JWTToken token) {
     // To modify the Principals Set, the caller must have 
AuthPermission("modifyPrincipals").
     // To modify the public credential Set, the caller must have 
AuthPermission("modifyPublicCredentials").
     // To modify the private credential Set, the caller must have 
AuthPermission("modifyPrivateCredentials").
-    return new javax.security.auth.Subject(true, principals, emptySet, 
emptySet);
+    return new javax.security.auth.Subject(true, principals, 
Collections.emptySet(), Collections.emptySet());

Review Comment:
   LGTM with one note. 
   I'm not sure if it's a real problem, but since we're using 
`Collections.emptySet()` here, this means that adding a new principal after 
this point (e.g.: `subject.getPrincipals().add()`) to the subject might fail 
because the `Collection.emptySet()` is unmodifiable. Unlike the `new 
HashSet<>();`.





Issue Time Tracking
-------------------

    Worklog Id:     (was: 832711)
    Time Spent: 3h  (was: 2h 50m)

> Refactor impersonation from KnoxToken service
> ---------------------------------------------
>
>                 Key: KNOX-2839
>                 URL: https://issues.apache.org/jira/browse/KNOX-2839
>             Project: Apache Knox
>          Issue Type: Task
>          Components: Server
>            Reporter: Sandor Molnar
>            Assignee: Sandor Molnar
>            Priority: Blocker
>             Fix For: 2.0.0
>
>          Time Spent: 3h
>  Remaining Estimate: 0h
>
> With KNOX-2714, end-users can create tokens on behalf of other users using 
> Hadoop's impersonation mechanism.
> The problem with the current implementation is that the proxyuser 
> authorization happens to be on service level, but it should be executed 
> sooner.
> As discussed offline with [~lmccay] and [~pzampino] we agreed on the 
> following:
>  * impersonation support should be done in Knox's identity assertion layer 
> and not in the services
>  * the proxuyser authorization in HadoopAuth filter should be left as-is. 
> When someone configures them in two places (HadoopAuth authentication and in 
> identity-assertion), a WARN-level message should indicate that one on the 
> identity-assertion level will be ignored.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to