[ 
https://issues.apache.org/jira/browse/IMPALA-12232?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jason Fehr reassigned IMPALA-12232:
-----------------------------------

    Assignee: Anubhav Jindal  (was: Jason Fehr)

> Verify JWT Audience and Issuer Claims
> -------------------------------------
>
>                 Key: IMPALA-12232
>                 URL: https://issues.apache.org/jira/browse/IMPALA-12232
>             Project: IMPALA
>          Issue Type: Improvement
>          Components: Backend, Security
>            Reporter: Jason Fehr
>            Assignee: Anubhav Jindal
>            Priority: Major
>              Labels: Impala, JWT, impala, jwt, security
>
> RFC 8725 contains JWT best practices that state the audience ("AUD") and 
> issuer ("ISS") claims from a JWT should be validated if they are present. 
> Impala currently has no mechanism to validate these claims.
> Implement [ISS claim 
> validation|https://datatracker.ietf.org/doc/html/rfc8725#name-validate-issuer-and-subject]
>  and [AUD claim 
> validation|https://datatracker.ietf.org/doc/html/rfc8725#name-use-and-validate-audience]
>  for both JWT and OAuth tokens.
>  # Add support for two new elements in the oauth_servers flag JSON object:
>  ## audienceClaims – array of strings, List of allowed values for the token’s 
> aud claim.
>  ## issuerClaims – array of strings, List of allowed values for the token’s 
> iss claim.
>  # If an incoming HTTP request contains the Authorization header, and that 
> header’s value begins with Bearer, then verify that token using these rules 
> (in this order).  Some of these verification steps are already present:
>  ## Ensure the token contains two periods and only alphanumeric characters 
> and equal signs.
>  ## Verify the token can be decoded into a JWT.
>  ## Verify the token using the JWK that it declares issued it.  If no JWK is 
> declared, then try each JWK.
>  ## If the JWKS configuration defines audience claims, ensure the token has 
> the aud claim and that claim’s value is one of the allowed audiences.
>  ## If the JWKS configuration defines issuer claims, ensure the token has the 
> iss claim and that claim’s value is one of the allowed issuers.
>  # Log successful or failed token authentication attempts and include the 
> client ip, username (based on the configured username claim, audience (aud 
> claim), issuer (iss claim), and key id (kid claim) from the provided JWT (if 
> it could be decoded).



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to