Skip to content

fix: enforce admin-only flow deployment authorization - #14103

Closed
erichare wants to merge 4 commits into
release-1.11.0from
fix/LE-1827-admin-flow-deploy
Closed

fix: enforce admin-only flow deployment authorization#14103
erichare wants to merge 4 commits into
release-1.11.0from
fix/LE-1827-admin-flow-deploy

Conversation

@erichare

@erichare erichare commented Jul 15, 2026

Copy link
Copy Markdown
Member

Summary

  • add an explicit flow:deploy authorization boundary with no flow-owner override
  • authorize every flow version referenced by deployment create/update, including unbind-only updates, using the flow's real owner and workspace/project domain
  • make explicit/default project and flow-version resolution capability-gated and share-aware while preserving UUID-private 404 responses
  • pass authorization evidence into deployment mappers before cross-owner artifact lookup; provider credentials remain scoped to the acting user
  • expose deploy through effective permissions and use it, rather than execute, for the frontend deploy button

Authorization contract

  • flow:deploy remains an admin-only permission when the Enterprise authorization plugin is active; owning a flow does not imply deploy access
  • OSS behavior remains backward-compatible when authorization is disabled or only the pass-through service is registered
  • missing, out-of-project, and policy-denied flow/project UUIDs return the same non-disclosing 404
  • Enterprise main already grants ("flow:*", "deploy") only through the built-in admin role, so no Enterprise code change is required

Verification

  • 135 passed — authorization guards, deployment flow authorization, and admin/effective-permission routes
  • 398 passed, 10 skipped — deployment sync, base/watsonx mappers, route handlers, and telemetry tests
  • 29 passed — deploy button and effective-permission frontend tests
  • 24 passed, 1 xfailed — Enterprise matcher and policy-sync tests on current main
  • Ruff check/format, Biome, diff checks, and all commit-time hooks passed

The full frontend TypeScript check is not a clean signal on this release checkout because it reports existing unrelated repository errors; none referenced the changed files.

Refs LE-1827

@coderabbitai

coderabbitai Bot commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 4028770e-255b-4266-bfff-5a0ecdf5b6b2

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/LE-1827-admin-flow-deploy

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added bug Something isn't working and removed bug Something isn't working labels Jul 15, 2026
@github-actions github-actions Bot added bug Something isn't working and removed bug Something isn't working labels Jul 16, 2026
@erichare erichare closed this Jul 18, 2026
@erichare
erichare deleted the fix/LE-1827-admin-flow-deploy branch July 18, 2026 02:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant