delta-sharing
delta-sharing copied to clipboard
Support for per-share bearer token configs
At the moment authorization is everything or nothing, with a single bearer token providing access to the entire server. This PR expands authorization to support per-share bearer token configs.
- changes the
authorization.bearerTokenproperty toauthorization.universalBearerToken, and adds anauthorization.sharesarray to configure additional tokens unique to a share - adds an AuthManager trait and two implementations (BearerTokenAuth and NoAuth) to handle authorization
- expands unit tests to cover per-share authorization cases
There are certainly other approaches to this feature, so let me know if an alternative approach is deemed preferable.
An alternative approach on this is to introduce Recipient as a first class concept, each with its own token and support fine-grained Share <-> Recipient access control. @atgabe Do you think that approach satisfy your needs?
@zhuansunxt yup, that approach would work for our use case and sounds like it more closely mirrors the Databricks strategy. Is that approach in development elsewhere or a change you'd like to see on this PR?
@atgabe It would be great to submit an issue and use it to describe the general approach (like an RFC) so we can agree on design decisions.