Skip to content

ABAC demo - #298

Merged
kesarwam merged 3 commits into
mainfrom
abac-demo
Oct 1, 2026
Merged

kesarwam merged 3 commits into
mainfrom
abac-demo

Conversation

@kesarwam

Copy link
Copy Markdown
Contributor

No description provided.

@kesarwam
kesarwam requested a review from iddoavn September 30, 2026 15:38
iddoavn and others added 2 commits September 30, 2026 16:38
Replace the "data_scientist1 tries to upload" step. That upload failed
because the DataScientists group has no write permission at all, which
is plain RBAC: no ABAC condition was involved, so it didn't demonstrate
ABAC.

The new flow pairs every denial with a success where only an attribute
differs, which shows that the condition is what blocks access:
- The same CSV is uploaded to public/ (no metadata) and to PII/
  (contains_pii=true). data_scientist1 can read the public copy but is
  denied the PII copy by ABACDenyPIIData. Same user, repo and content;
  only the object's tag differs.
- The super user changes the repo's env metadata from production to dev,
  and data_scientist1 is denied the same public file it just read, by
  ABACProductionRepos. Nothing about the user, policies or file changed;
  only the repo's label did. Setting env back to production restores
  access, showing that access follows the label.

Also:
- Add a "What is ABAC?" section explaining conditions on repository and
  object metadata, and what the demo walks through.
- Fix the double slash in the storage namespace (s3://example//abac-repo)
  by stripping a trailing slash from storageNamespace.

Tested end to end on lakeFS Enterprise 1.104.1 (02_lakefs_enterprise
stack).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…ged PII folder name to private so it doesn't conflict with RBAC demo policies.
@kesarwam
kesarwam merged commit 98dc5a4 into main Oct 1, 2026
1 check failed
@kesarwam
kesarwam deleted the abac-demo branch October 1, 2026 15:40
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.

2 participants