It could be possible that Flyte's use of pre-signed URLs for S3 uploads does present a risk if the URL is leaked, since anyone with the URL can upload within the allowed time window. Though I'm not entirely certain, it might be that Flyte mitigates this by generating URLs with short expiration times and only for specific, unique object keys, thus limiting the window and scope of exposure. However, Flyte does not natively support attaching user/role-based policies to pre-signed URLs themselves, as S3 pre-signed URLs are inherently bearer tokens and not tied to user identity (
source).
If your organization requires stricter controls, you might need to implement additional monitoring or network controls to restrict access to the URLs, or consider using a proxy or service that authenticates users before allowing uploads. There is no explicit mechanism in Flyte to bind pre-signed URL usage to a specific user or role beyond the initial request context.
Sources:
-
https://github.com/flyteorg/flyte/issues/2868 👍 0 button 👎 0 button 💡
Hint: Mention @runllm in the thread for followups.