apache / apache/gravitino

[Subtask] Design doc for tag-based access control

Open
#12,759 0 comments 0 reactions 0 assignees View on GitHub
subtask
Dominant language
Java
Stars
3.2k
Forks
935
Avg merge
1d 17h
Merged PRs (30d)
286

Description

### Describe the subtask

Write the design for expressing access rules as tag-bound policies: a `Policy` of type `system_access_control` whose `content` carries an action, a role condition and a scope, bound to a tag.

Covers the `AccessControlContent` schema and its `validate()`, evaluation and cache freshness, composition with RBAC, the administration surface, and lifecycle. Four questions are left open with their options rather than decided: where tags are evaluated, composition when a tag allows and RBAC denies, what happens when a referenced role is deleted, and whether object-scoped `APPLY_TAG` ships in this version.

Discussion: #12619

### Parent issue

#12758

Contributor guide

Open the contributing guide

Research direction

Start by reading discussion #12619 and the parent issue #12758. Define the AccessControlContent schema, validation, evaluation and cache freshness, RBAC composition, administration, and lifecycle, then document decisions for the four open questions and the completed design scope.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
authorization, documentation
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.