Skip to content

Commit f62e0b8

Browse files
committed
README: document permission model and grants
Updates #18 Updates #22 Updates #86 Updates #120 Signed-off-by: Will Norris <[email protected]>
1 parent c66cbb8 commit f62e0b8

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed

README.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,49 @@ destination="/home/nonroot"
121121

122122
</details>
123123

124+
## Permissions
125+
126+
By default, users own the golinks they create and only they can update or delete those links.
127+
Ownership can be transferred to another user from the link edit page.
128+
Links whose owner is no longer part of the tailnet can be edited by any user,
129+
at which point that user will become the new owner.
130+
131+
Users can be granted admin access to edit all links using [ACL grants] in your tailnet policy file.
132+
For example, if you have your golink instance tagged with `tag:golink` and a user group named `group:golink-admins`,
133+
you can grant them admin access using:
134+
135+
```json
136+
{
137+
"grants": [{
138+
"src": ["group:golink-admins"],
139+
"dst": ["tag:golink"],
140+
"app": {
141+
"tailscale.com/cap/golink": [{
142+
"admin": true
143+
}]
144+
}
145+
}]
146+
}
147+
```
148+
149+
Or if you want everyone to be able to edit all links, you could use `autogroup:member`:
150+
151+
```json
152+
{
153+
"grants": [{
154+
"src": ["autogroup:member"],
155+
"dst": ["tag:golink"],
156+
"app": {
157+
"tailscale.com/cap/golink": [{
158+
"admin": true
159+
}]
160+
}
161+
}]
162+
}
163+
```
164+
165+
[ACL grants]: https://tailscale.com/kb/1324/acl-grants
166+
124167
## Backups
125168

126169
Once you have golink running, you can backup all of your links in [JSON lines] format from <http://go/.export>.

0 commit comments

Comments
 (0)