Skip to content

Commit ceffff9

Browse files
committed
chore: fixup rbac/readme.md typos
- Truth table had an incorrect result value in final row - Permission format examples was missing the object type - Fix actions list - Code block a bash command
1 parent 11c80e0 commit ceffff9

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

coderd/rbac/README.md

+7-5
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Authorization defines what **permission** a **subject** has to perform **actions
88

99
- **Permission** is binary: _yes_ (allowed) or _no_ (denied).
1010
- **Subject** in this case is anything that implements interface `rbac.Subject`.
11-
- **Action** here is an enumerated list of actions, but we stick to `Create`, `Read`, `Update`, and `Delete` here.
11+
- **Action** here is an enumerated list of actions. Actions can differ for each object type. They typically read like, `Create`, `Read`, `Update`, `Delete`, etc.
1212
- **Object** here is anything that implements `rbac.Object`.
1313

1414
## Permission Structure
@@ -34,11 +34,11 @@ Both **negative** and **positive** permissions override **abstain** at the same
3434
This can be represented by the following truth table, where Y represents _positive_, N represents _negative_, and \_ represents _abstain_:
3535

3636
| Action | Positive | Negative | Result |
37-
| ------ | -------- | -------- | ------ |
37+
| ------ | -------- | -------- |--------|
3838
| read | Y | \_ | Y |
3939
| read | Y | N | N |
4040
| read | \_ | \_ | \_ |
41-
| read | \_ | N | Y |
41+
| read | \_ | N | N |
4242

4343
## Permission Representation
4444

@@ -49,11 +49,11 @@ This can be represented by the following truth table, where Y represents _positi
4949
- `object` is any valid resource type.
5050
- `id` is any valid UUID v4.
5151
- `id` is included in the permission syntax, however only scopes may use `id` to specify a specific object.
52-
- `action` is `create`, `read`, `modify`, or `delete`.
52+
- `action` is `create`, `read`, `modify`, `delete`, or another verb.
5353

5454
## Example Permissions
5555

56-
- `+site.*.*.read`: allowed to perform the `read` action against all objects of type `app` in a given Coder deployment.
56+
- `+site.app.*.read`: allowed to perform the `read` action against all objects of type `app` in a given Coder deployment.
5757
- `-user.workspace.*.create`: user is not allowed to create workspaces.
5858

5959
## Roles
@@ -106,7 +106,9 @@ You can test outside of golang by using the `opa` cli.
106106

107107
**Evaluation**
108108

109+
```bash
109110
opa eval --format=pretty "data.authz.allow" -d policy.rego -i input.json
111+
```
110112

111113
**Partial Evaluation**
112114

0 commit comments

Comments
 (0)