Skip to content

Commit 17ffee9

Browse files
Add IS-14 - Device Configuration section
1 parent 4ef4a93 commit 17ffee9

File tree

1 file changed

+53
-0
lines changed

1 file changed

+53
-0
lines changed

docs/Authorization Practice.md

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -202,10 +202,63 @@ A token claim could also offer asymmetrical access like in the following example
202202

203203
Devices MUST only allow subscriptions for objects which are associated with a role path that has been deemed to have read access through a token claim as shown in previous examples.
204204

205+
### IS-14 - Device Configuration
206+
207+
When processing requests sent to an [IS-14][] control endpoint, the JSON Web Token used MUST be validated to ensure it contains a read/write claim
208+
matching resource role paths. These represent device model role paths and MUST be created by appending [NcObject roles](https://specs.amwa.tv/ms-05-02/latest/docs/NcObject.html) starting with the [root block](https://specs.amwa.tv/ms-05-02/latest/docs/Blocks.html) and using `.` as the delimiter. Consequently the `.` character MUST NOT be used inside individual object roles.
209+
210+
For example, offering read access to an IS-14 object identified by a role path of 'root.example-controls.control-01' only would require the following token claim.
211+
212+
```
213+
"x-nmos-control": {
214+
"read": ["root.example-controls.control-01"]
215+
}
216+
```
217+
218+
Alternatively, offering read access to all IS-14 device model objects may be given with the following token claim which uses the wildcard '*'.
219+
220+
```
221+
"x-nmos-control": {
222+
"read": ["root.*"]
223+
}
224+
```
225+
226+
Access to modify object properties MUST only be given if the token claim includes a write claim with a role path that includes the object.
227+
228+
Access to invoke object methods MUST only be given if the token claim includes a write claim with a role path that includes the object.
229+
230+
The following is a token claim example which offers access to modify properties and invoke methods on an object identified by a role path of 'root.example-controls.control-01'.
231+
232+
```
233+
"x-nmos-control": {
234+
"read": ["root.example-controls.control-01"],
235+
"write": ["root.example-controls.control-01"]
236+
}
237+
```
238+
239+
The following is a token claim example which uses the wildcard '*' and offers access to modify properties and invoke methods on any device model object.
240+
241+
```
242+
"x-nmos-control": {
243+
"read": ["root.*"],
244+
"write": ["root.*"]
245+
}
246+
```
247+
248+
A token claim could also offer asymmetrical access like in the following example which only allows write access to a specific path, whilst allowing the entire device model to be read.
249+
250+
```
251+
"x-nmos-control": {
252+
"read": ["root.*"],
253+
"write": ["root.example-controls.control-01"]
254+
}
255+
```
256+
205257
[IS-10]: https://specs.amwa.tv/is-10 "AMWA IS-10 NMOS Authorization Specification"
206258
[RFC-2119]: https://tools.ietf.org/html/rfc2119 "Key words for use in RFCs to Indicate Requirement Levels"
207259
[RFC-6750]: https://tools.ietf.org/html/rfc6750 "The OAuth 2.0 Authorization Framework: Bearer Token Usage"
208260
[IS-04 Registry]: https://specs.amwa.tv/is-04 "AMWA IS-04 NMOS Discovery and Registration Specification"
209261
[IS-04 Referential Integrity]: https://specs.amwa.tv/is-04/v1.3/docs/4.1._Behaviour_-_Registration.html#referential-integrity "AMWA IS-04 Resource Referential Integrity"
210262
[IS-07]: https://specs.amwa.tv/is-07 "AMWA IS-07 NMOS Event and Tally Specification"
211263
[IS-12]: https://specs.amwa.tv/is-12 "AMWA IS-12 NMOS Control Protocol"
264+
[IS-14]: https://specs.amwa.tv/is-14 "AMWA IS-14 NMOS Device Configuration"

0 commit comments

Comments
 (0)