Skip to content

Add role-based access to Glue catalog#90825

Merged
antonio2368 merged 6 commits intomasterfrom
glue-iam-auth
Feb 6, 2026
Merged

Add role-based access to Glue catalog#90825
antonio2368 merged 6 commits intomasterfrom
glue-iam-auth

Conversation

@antonio2368
Copy link
Copy Markdown
Member

Changelog category (leave one):

  • Improvement

Changelog entry (a user-readable short description of the changes that goes into CHANGELOG.md):

Add role-based access to Glue catalog. Use settings aws_role_arn and, optionally, aws_role_session_name.

Documentation entry for user-facing changes

  • Documentation is written (mandatory for new features)

@clickhouse-gh
Copy link
Copy Markdown
Contributor

clickhouse-gh bot commented Nov 25, 2025

Workflow [PR], commit [a44cf47]

Summary:

job_name test_name status info comment
Stress test (amd_msan) failure
Logical error: Block structure mismatch in A stream: different number of columns: (STID: 0993-38e6) FAIL cidb

@clickhouse-gh clickhouse-gh bot added the pr-improvement Pull request with some product improvements label Nov 25, 2025
@kssenii kssenii self-assigned this Nov 25, 2025
@antonio2368 antonio2368 requested a review from Copilot November 26, 2025 08:37
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR adds support for AWS role-based authentication in the Glue catalog integration. Users can now specify an IAM role ARN and optional session name for assuming roles when accessing AWS Glue, enabling more flexible and secure authentication patterns.

Key changes:

  • Added two new settings: aws_role_arn and aws_role_session_name for role-based authentication
  • Updated credential provider chain to support STS AssumeRole when role ARN is specified
  • Applied settings consistently across storage and database layers

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
src/Storages/ObjectStorage/DataLakes/DataLakeStorageSettings.h Added role ARN and session name settings declarations for storage layer
src/Storages/ObjectStorage/DataLakes/DataLakeConfiguration.h Added extern declarations and settings initialization for role-based auth
src/Databases/DataLake/ICatalog.h Added role ARN and session name fields to CatalogSettings struct
src/Databases/DataLake/ICatalog.cpp Updated allChanged() to include role settings in settings changes
src/Databases/DataLake/GlueCatalog.cpp Implemented STS AssumeRole credential provider when role ARN is specified
src/Databases/DataLake/DatabaseDataLakeSettings.cpp Added role settings declarations at database level
src/Databases/DataLake/DatabaseDataLake.cpp Initialized role settings from database configuration

@antonio2368 antonio2368 marked this pull request as ready for review January 23, 2026 12:13
Copy link
Copy Markdown
Member

@kssenii kssenii left a comment

Choose a reason for hiding this comment

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

btw as we do have integration tests for glue catalog + mocks for role-bases access tests, may be it is possible to add a test?

@jessedobbelaere
Copy link
Copy Markdown

Thanks for the PR @antonio2368, we are a Clickhouse Cloud customer and our policy is against using long lived AWS credentials so we could really use this role based Glue Catalog integration 🙏

@antonio2368
Copy link
Copy Markdown
Member Author

@kssenii good thing I added the test because it showed me that the implementation was a bit more complex.
Please review the changes again.

@antonio2368 antonio2368 requested a review from kssenii February 5, 2026 14:30
@antonio2368
Copy link
Copy Markdown
Member Author

@jessedobbelaere thanks for expressing interest in this feature! Implementation should be done, I will see how soon can we get it on our Cloud.

@antonio2368 antonio2368 added this pull request to the merge queue Feb 6, 2026
Merged via the queue into master with commit 65e612c Feb 6, 2026
131 of 133 checks passed
@antonio2368 antonio2368 deleted the glue-iam-auth branch February 6, 2026 12:15
@robot-clickhouse-ci-2 robot-clickhouse-ci-2 added the pr-synced-to-cloud The PR is synced to the cloud repo label Feb 6, 2026
zvonand pushed a commit to Altinity/ClickHouse that referenced this pull request Feb 18, 2026
zvonand pushed a commit to Altinity/ClickHouse that referenced this pull request Feb 18, 2026
@emaadali
Copy link
Copy Markdown

@antonio2368 Do you know when this feature will make it into a tagged release? I tried v26.1.3.52-stable which was released 3 days ago but it doesn't seem to have this feature still.

@antonio2368
Copy link
Copy Markdown
Member Author

@emaadali it should be available in 26.2, which is in few days

zvonand added a commit to Altinity/ClickHouse that referenced this pull request Feb 26, 2026
25.8 Antalya backport of ClickHouse#90825: Add role-based access to Glue catalog
zvonand added a commit to Altinity/ClickHouse that referenced this pull request Mar 2, 2026
26.1 Antalya backport of ClickHouse#90825: Add role-based access to Glue catalog
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr-improvement Pull request with some product improvements pr-synced-to-cloud The PR is synced to the cloud repo

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants