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

AWS: Add S3 Access Grants Integration #9385

Conversation

adnanhemani
Copy link
Contributor

This PR allows us to add support for S3 Access Grants (S3AG) to S3FileIO through adding a new SDK Plugin (https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/kafkaconnect/model/Plugin.html) for S3 Access Grants (https://github.com/aws/aws-s3-accessgrants-plugin-java-v2). We are only adding the S3 Access Grants Plugin (which is available publicly on Maven) to the S3 Client Factory if the users enable S3AG on the catalog.

The additional options added in this CR mirror EMR's options for enabling S3AG support on EMR: https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-access-grants.html#emr-access-grants-launch-ec2. The only difference in experience between Iceberg and EMR (in general) is the fact that S3AG must be enabled individually per Iceberg catalog. This is as a result of a lack of infrastructure in Iceberg to allow user configurations across catalogs for AWS Client level configurations. We are not aiming to re-architect Iceberg for this change - we only want to add support through whatever existing mechanisms already exist.

@adnanhemani adnanhemani marked this pull request as ready for review December 26, 2023 22:28
Copy link
Contributor

@jackye1995 jackye1995 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good to me!

@jackye1995
Copy link
Contributor

Seems like this is not getting much attraction from other reviewers. Given it is a pretty straightforward plugin integration, I will go ahead to merge it. We can fix things later if necessary. This also opens the question that if there is any other valuable plugins that we should consider adding integrations, we can do a search afterwards. Thanks for the work!

@jackye1995 jackye1995 merged commit 996cd5b into apache:main Jan 4, 2024
41 checks passed
geruh pushed a commit to geruh/iceberg that referenced this pull request Jan 26, 2024
devangjhabakh pushed a commit to cdouglas/iceberg that referenced this pull request Apr 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants