You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/appnotes/0016-authorisation-in-tams-workflows.md
+67-15Lines changed: 67 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -24,26 +24,78 @@ This may be appropriate for example when working with a large number of third pa
24
24
A simple approach is to define permissions that apply to an entire TAMS instance at a very coarse level, and use Role-based Access Control (RBAC) to grant access through those permissions.
25
25
In RBAC, each action is restricted to users holding a certain role, and users are assigned the relevant roles they need.
26
26
27
-
The permissions (or "scopes" in OAuth 2.0), could be:
28
-
29
-
-`tams-api/read`: Allow GET and HEAD methods
30
-
-`tams-api/write`: Allow PUT and POST methods
31
-
-`tams-api/delete`: Allow DELETE methods
32
-
33
-
_Note that these example permissions are drawn from the [AWS TAMS implementation](https://github.com/awslabs/time-addressable-media-store/blob/v3.0/README.md#usage)._
34
-
35
-
Then roles could be created in the authorisation system which allow some combinations of those scopes, for example:
36
-
37
-
-`administrator`: Has all three scopes
27
+
These are the recommended permissions (or "scopes" in OAuth 2.0):
- ⚠️: Method does not follow the basic mapping of `tams-api/read` to `HEAD`/`GET`, `tams-api/write` to `POST`/`PUT`, and `tams-api/delete` to `DELETE`
88
+
89
+
Users may be assigned combinations of these roles for different purposes, for example:
90
+
91
+
-`administrator`: Has all four scopes
38
92
-`viewer`: Has `tams-api/read`
39
93
-`editor`: Has `tams-api/read` and `tams-api/write`
40
94
-`store-writer`: Has `tams-api/write`
41
95
-`store-cleanup-system`: Has `tams-api/delete`
42
96
43
-
Users, or groups of users can then be assigned into those roles: for example a "News Journalists" group might be assigned `editor`, while other staff have `viewer`, but only the automated processes of a MAM have `store-cleanup-system`.
44
-
Alternatively, the permissions can be used directly, assigning them to user groups without grouping them into roles.
45
-
46
-
To implement the authorisation, the authorisation server checks the requested scopes against the user's access when issuing a token, and rejects the request if a suitable access isn't assigned.
97
+
To implement the authorisation, the authorisation server checks the requested scopes against the user's access when issuing a token.
98
+
The TAMS server, or it's auth proxy, rejects the requests without appropriate scopes.
0 commit comments