Add a page under modeling around how to deal with object creation
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 51
- Forks
- 105
- Avg merge
- 10h 35m
- Merged PRs (30d)
- 17
Description
We get a lot of questions around how to deal with the can_create_x permission - whether to add it on the x type or somewhere else.
We should add our recommendation of adding it on an upper type
Some context:
Normally when you are creating an object, you are creating it in the context of something - e.g. create a document in a folder, a team in an org, a photo in an album.
What happens if the thing exists outside of that e.g. can the user create an org? In those cases, our advice is to create a top level system object, as you can attach the create permission on that as well as attach other functionality to it.
You can find an example of that in our experimental access control for OpenFGA where can_call_create_store lives under system.
Similar & related questions from the CNCF Channel:
https://cloud-native.slack.com/archives/C06G1NNH47N/p1740011641126949
https://cloud-native.slack.com/archives/C06G1NNH47N/p1722965268391039
https://cloud-native.slack.com/archives/C06G1NNH47N/p1722965001795339
https://cloud-native.slack.com/archives/C06G1NNH47N/p1712581174806949
https://cloud-native.slack.com/archives/C06G1NNH47N/p1718961169696129
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the modeling documentation section and review the linked OpenFGA access-control example. Add a page explaining where to place can_create_x permissions, including contextual creation and top-level system objects, and link or reference the example. Done means the recommendation and examples are published under modeling.
Written by the indexing model from the issue text.
Assessment
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 58/100