[File system] Add `AssumeRoleWithWebIdentity` STS functionality for temporary credentials to S3 file system to support MinIO
- Dominant language
- Java
- Stars
- 2.1k
- Forks
- 625
- Avg merge
- 3d 14h
- Merged PRs (30d)
- 97
Description
### Search before asking
- [x] I searched in the [issues](https://github.com/alibaba/fluss/issues) and found nothing similar.
### Motivation
The Fluss S3 file system currently only supports obtaining temporary credentials via session tokens. However, this STS endpoint is not supported by other S3-compatible object stores, e.g., [MinIO](https://min.io/docs/minio/linux/developers/security-token-service.html#id1). Using `AssumeRoleWithWebIdentity` allows Fluss users to use MinIO instead of AWS S3.
### Solution
TBD
### Anything else?
- `AssumeRoleWithWebIdentity` is currently the only endpoint that is supported by both [MinIO](https://min.io/docs/minio/linux/developers/security-token-service.html#id1) and [AWS S3](https://docs.aws.amazon.com/STS/latest/APIReference/API_Operations.html)
- This issue is blocked by #613
### Willingness to contribute
- [x] I'm willing to submit a PR!
Contributor guide
No contributing guide indexed for this repository
Research direction
No implementation file or test is named. Start with the existing S3 file system flow for session-token credentials, review the #613 blocker, and compare the AssumeRoleWithWebIdentity endpoint requirements for AWS S3 and MinIO. Done means temporary credentials can be obtained through that endpoint for both providers.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, java
- Domain
- cloud
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100