witty-butcher-82399
05/16/2023, 3:45 AMThis authenticator also looks for a "delegated actor urn" which can be provided by system callers using the 'X-DataHub-Actor' header.However, the current logic does not match that, how is that? https://github.com/datahub-project/datahub/blob/master/metadata-service/auth-impl/[…]ub/authentication/authenticator/DataHubSystemAuthenticator.java
witty-butcher-82399
05/16/2023, 3:58 AMastonishing-answer-96712
05/16/2023, 8:37 PMbig-carpet-38439
05/17/2023, 12:17 AMwitty-butcher-82399
05/17/2023, 7:52 AMDataHubSystemAuthenticator
always resolves to the system actor, how is authorization working then?witty-butcher-82399
05/17/2023, 7:59 AMassertEquals(authentication.getActor().getId(), "urn:li:corpuser:datahub");
If my conclusions are correct, then this bug is impacting all users with Metadata Service authentication enabled and having authorization policies ⚠️ and results in all frontend requests being authorized with the system id user instead of the original actor.witty-butcher-82399
05/17/2023, 9:48 PMX-DataHub-Actor
header anymore. Instead, the frontend, as trusted component (system id authorization) asks the GMS for an access token to be used during the session. And so, all following requests will be authenticated by the DataHubTokenAuthenticator using the given JWT token.
https://github.com/datahub-project/datahub/blob/ae30be9c25760ff53c8ef49724fcc17756[…]java/com/datahub/auth/authentication/AuthServiceController.javawitty-butcher-82399
05/17/2023, 10:07 PM