-
Notifications
You must be signed in to change notification settings - Fork 5.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Native] The "Extra Credentials" API is not available to Prestissimo/Velox connectors #22849
Comments
FYI @tdcmeehan |
@majetideepak yes, we can work with this, thanks 👍 |
Wondering if this use case, providing per-session authentication credentials, is common enough that it should have its own abstraction in Velox? |
Yes, we should add an identity/credentials abstraction in Velox. The complexity is to make this engine agnostic. |
We can add a prefix. I assume the extraCredentials keys are fixed per connector. |
That's how it is in Presto. Connectors will either expect a specific key in that map, or it may be configurable as a property. |
I added a simple |
@ashkrisk can you update the RFC to explain how and where the Extra Credentials will be used? |
@majetideepak added a couple of lines to explain where the extraCredentials will be used. |
As per the Presto Client REST API, clients can add a header called
X-Presto-Extra-Credential
to their requests. These extra credentials are not used by core Presto, but are made available to the connectors through theConnectorSession
object.In Prestissimo, the closest equivalent to the
ConnectorSession
is theConnectorQueryCtx
class, which does not have any interface to read the extra credentials provided by the client.As such there is no way for Prestissimo connectors to read the extra credentials supplied by the client.
Expected Behavior or Use Case
Connectors written for Prestissimo should have access to the extra credentials provided by the client.
Presto Component, Service, or Connector
Prestissimo connector infrastructure.
Context
Normally, access credentials are specified as catalog properties. This does not always work well in multi-user contexts, where many different users with varying levels of access credentials are all interacting with the same presto cluster. The "Extra Credentials" interface is a way for integrations to provide different levels of access to different users, but these are currently unavailable to Prestissimo connectors. We ran into this issue while developing an Arrow Flight connector for Prestissimo.
The text was updated successfully, but these errors were encountered: