Skip to content

adapter: authorize dependent secrets before altering connections - #38798

Draft
bosconi wants to merge 1 commit into
MaterializeInc:mainfrom
bosconi:jc/issue-SQL-662
Draft

adapter: authorize dependent secrets before altering connections#38798
bosconi wants to merge 1 commit into
MaterializeInc:mainfrom
bosconi:jc/issue-SQL-662

Conversation

@bosconi

@bosconi bosconi commented Sep 11, 2026

Copy link
Copy Markdown
Member

Motivation

Changing a shared SSH tunnel or AWS PrivateLink connection can redirect credentials used by dependent connections even when the route owner cannot use those credentials' secrets.

Closes: SQL-662

Description

Require USAGE on secrets used directly or transitively by dependent connections before changing connection options. Authorization includes unused connections because delegated validation can activate them later. Retain the existing checks on the altered connection's final dependencies, so removing an inaccessible dependency remains possible.

Check authorization before secret inspection or external validation, and repeat it before catalog persistence to account for dependents or grants changed during validation. Route ownership alone does not delegate authority over dependent credentials. The privilege documentation explains that an inaccessible dependent secret blocks route administration and describes how to resolve that restriction.

Verification

Extend the SQL privilege tests for SSH and AWS PrivateLink routes with empty own dependency sets, direct and indirect secret dependencies, inherited privileges, ownership transfers, dependency removal, and unchanged catalog definitions after rejected alterations.

Extend the SSH/Postgres integration test to cover delegated validation before source creation, rejection with an active source, continued ingestion, and authorized route administration after a secret grant. Execution of this Docker integration coverage is pending.

Repository lint reports pre-existing unpinned actions/checkout@v4 references in the unchanged QA notification workflow and SQL parser notification workflow.

Require secret usage privileges across dependent connections before
validation or catalog persistence. Recheck after asynchronous validation
and use the final definition when traversing the altered connection.

Document the shared-route administration contract and add SQL privilege
and SSH integration regression coverage.

Closes: SQL-662
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant