Skip to content
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

Feature request: serve presigned S3 URLs #59

Closed
skogsbrus opened this issue Jul 14, 2023 · 3 comments
Closed

Feature request: serve presigned S3 URLs #59

skogsbrus opened this issue Jul 14, 2023 · 3 comments

Comments

@skogsbrus
Copy link

In order to browser hyperdataset entries, users must currently provide their own IAM access key in order to authenticate against S3. These are stored in the user's local storage.

A more secure approach, as to avoid the spread of access keys, would be for the server implementation to serve a presigned URLs of the S3 assets using a IAM access key or role-based auth on the server side. This way, the frontend doesn't need any authentication logic and users aren't required to have access to access keys.

@ainoam
Copy link

ainoam commented Jul 16, 2023

Thanks for suggesting @skogsbrus.

Though Hyper-Datasets are not part of ClearML OSS (and hence, are not addressed in this repo), the underlying mechanism also applies to other UI served resources such as debug samples.

The current implementation is an intentional security design choice: Storage access credentials never leave the user's domain (they are actually stored in your browser local store) so that while any team member can access the "science" (i.e. ClearML experiment results), any restricted data access is reserved to those authorized (e.g. even the server maintainer is not exposed to such credentials unless explicitly provided).

Hope this clarifies things :)

@skogsbrus
Copy link
Author

Hi @ainoam , thanks for the response!

The implementation makes sense from that POV, but it would be nice to be able to choose. The current design requires all users to have access to a potentially high-value secret, whereas the solution with presigned URLs only requires one team/person to enroll the secret once. Access is then provided to all authorized users without having to distribute the secret. There's a much smaller risk of credentials leakage that way.

LMK if I should x-post this feature request elsewhere if this was a bad place!

@ainoam
Copy link

ainoam commented Jul 17, 2023

@skogsbrus

LMK if I should x-post this feature request elsewhere if this was a bad place!

Hyper-Datasets being a ClearML Enterprise feature, should be discussed in commercial support channels.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants