[HUDI-7699] Support STS external ids and configurable session names in the AWS StsAssumeRoleCredentialsProvider #11134
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Change Logs
See issue HUDI-7699.
HUDI-6695 (#9260) added a AWS credentials provider to support assuming a role when syncing to Glue.
We use Hudi in a multi-tenant environment, and our customers give us delegated access to their Glue catalog. In this multi-tenant setup it is important to use an external ID to improve security when assuming IAM roles.
Furthermore, the STS session name is currently hard-coded to "hoodie". It is helpful for us to have configurable session names so we have better tracability of what entities are creating STS sessions in the cloud.
Currently, the assumed role is configured with the
hoodie.aws.role.arnconfig property. I would like to add the following extra optional config properties, which will be used by theHoodieConfigAWSAssumedRoleCredentialsProvider:hoodie.aws.role.external.idhoodie.aws.role.session.nameImpact
No impact to any existing way of using Hudi. It only adds more configurability to an existing feature.
Risk level (write none, low medium or high below)
Low
Documentation Update
None. The new configuration options need to be documented, but I believe that is done automatically from the config code (someone please confirm this!)
Contributor's checklist